Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: generated/googleapis/lib/sheets/v4.dart

Issue 3006323002: Api-Roll 54: 2017-09-11 (Closed)
Patch Set: use 2.0.0-dev.infinity sdk constraint in pubspecs Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // This is a generated file (see the discoveryapis_generator project). 1 // This is a generated file (see the discoveryapis_generator project).
2 2
3 library googleapis.sheets.v4; 3 library googleapis.sheets.v4;
4 4
5 import 'dart:core' as core; 5 import 'dart:core' as core;
6 import 'dart:async' as async; 6 import 'dart:async' as async;
7 import 'dart:convert' as convert; 7 import 'dart:convert' as convert;
8 8
9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
10 import 'package:http/http.dart' as http; 10 import 'package:http/http.dart' as http;
11 11
12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart'
13 ApiRequestError, DetailedApiRequestError; 13 show ApiRequestError, DetailedApiRequestError;
14 14
15 const core.String USER_AGENT = 'dart-api-client sheets/v4'; 15 const core.String USER_AGENT = 'dart-api-client sheets/v4';
16 16
17 /** Reads and writes Google Sheets. */ 17 /// Reads and writes Google Sheets.
18 class SheetsApi { 18 class SheetsApi {
19 /** View and manage the files in your Google Drive */ 19 /// View and manage the files in your Google Drive
20 static const DriveScope = "https://www.googleapis.com/auth/drive"; 20 static const DriveScope = "https://www.googleapis.com/auth/drive";
21 21
22 /** 22 /// View and manage Google Drive files and folders that you have opened or
23 * View and manage Google Drive files and folders that you have opened or 23 /// created with this app
24 * created with this app
25 */
26 static const DriveFileScope = "https://www.googleapis.com/auth/drive.file"; 24 static const DriveFileScope = "https://www.googleapis.com/auth/drive.file";
27 25
28 /** View the files in your Google Drive */ 26 /// View the files in your Google Drive
29 static const DriveReadonlyScope = "https://www.googleapis.com/auth/drive.reado nly"; 27 static const DriveReadonlyScope =
28 "https://www.googleapis.com/auth/drive.readonly";
30 29
31 /** View and manage your spreadsheets in Google Drive */ 30 /// View and manage your spreadsheets in Google Drive
32 static const SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets "; 31 static const SpreadsheetsScope =
32 "https://www.googleapis.com/auth/spreadsheets";
33 33
34 /** View your Google Spreadsheets */ 34 /// View your Google Spreadsheets
35 static const SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spre adsheets.readonly"; 35 static const SpreadsheetsReadonlyScope =
36 36 "https://www.googleapis.com/auth/spreadsheets.readonly";
37 37
38 final commons.ApiRequester _requester; 38 final commons.ApiRequester _requester;
39 39
40 SpreadsheetsResourceApi get spreadsheets => new SpreadsheetsResourceApi(_reque ster); 40 SpreadsheetsResourceApi get spreadsheets =>
41 new SpreadsheetsResourceApi(_requester);
41 42
42 SheetsApi(http.Client client, {core.String rootUrl: "https://sheets.googleapis .com/", core.String servicePath: ""}) : 43 SheetsApi(http.Client client,
43 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A GENT); 44 {core.String rootUrl: "https://sheets.googleapis.com/",
45 core.String servicePath: ""})
46 : _requester =
47 new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
44 } 48 }
45 49
46
47 class SpreadsheetsResourceApi { 50 class SpreadsheetsResourceApi {
48 final commons.ApiRequester _requester; 51 final commons.ApiRequester _requester;
49 52
50 SpreadsheetsSheetsResourceApi get sheets => new SpreadsheetsSheetsResourceApi( _requester); 53 SpreadsheetsSheetsResourceApi get sheets =>
51 SpreadsheetsValuesResourceApi get values => new SpreadsheetsValuesResourceApi( _requester); 54 new SpreadsheetsSheetsResourceApi(_requester);
55 SpreadsheetsValuesResourceApi get values =>
56 new SpreadsheetsValuesResourceApi(_requester);
52 57
53 SpreadsheetsResourceApi(commons.ApiRequester client) : 58 SpreadsheetsResourceApi(commons.ApiRequester client) : _requester = client;
54 _requester = client;
55 59
56 /** 60 /// Applies one or more updates to the spreadsheet.
57 * Applies one or more updates to the spreadsheet. 61 ///
58 * 62 /// Each request is validated before
59 * Each request is validated before 63 /// being applied. If any request is not valid then the entire request will
60 * being applied. If any request is not valid then the entire request will 64 /// fail and nothing will be applied.
61 * fail and nothing will be applied. 65 ///
62 * 66 /// Some requests have replies to
63 * Some requests have replies to 67 /// give you some information about how
64 * give you some information about how 68 /// they are applied. The replies will mirror the requests. For example,
65 * they are applied. The replies will mirror the requests. For example, 69 /// if you applied 4 updates and the 3rd one had a reply, then the
66 * if you applied 4 updates and the 3rd one had a reply, then the 70 /// response will have 2 empty replies, the actual reply, and another empty
67 * response will have 2 empty replies, the actual reply, and another empty 71 /// reply, in that order.
68 * reply, in that order. 72 ///
69 * 73 /// Due to the collaborative nature of spreadsheets, it is not guaranteed
70 * Due to the collaborative nature of spreadsheets, it is not guaranteed that 74 /// that
71 * the spreadsheet will reflect exactly your changes after this completes, 75 /// the spreadsheet will reflect exactly your changes after this completes,
72 * however it is guaranteed that the updates in the request will be 76 /// however it is guaranteed that the updates in the request will be
73 * applied together atomically. Your changes may be altered with respect to 77 /// applied together atomically. Your changes may be altered with respect to
74 * collaborator changes. If there are no collaborators, the spreadsheet 78 /// collaborator changes. If there are no collaborators, the spreadsheet
75 * should reflect your changes. 79 /// should reflect your changes.
76 * 80 ///
77 * [request] - The metadata request object. 81 /// [request] - The metadata request object.
78 * 82 ///
79 * Request parameters: 83 /// Request parameters:
80 * 84 ///
81 * [spreadsheetId] - The spreadsheet to apply the updates to. 85 /// [spreadsheetId] - The spreadsheet to apply the updates to.
82 * 86 ///
83 * Completes with a [BatchUpdateSpreadsheetResponse]. 87 /// Completes with a [BatchUpdateSpreadsheetResponse].
84 * 88 ///
85 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 89 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
86 * error. 90 /// an error.
87 * 91 ///
88 * If the used [http.Client] completes with an error when making a REST call, 92 /// If the used [http.Client] completes with an error when making a REST
89 * this method will complete with the same error. 93 /// call, this method will complete with the same error.
90 */ 94 async.Future<BatchUpdateSpreadsheetResponse> batchUpdate(
91 async.Future<BatchUpdateSpreadsheetResponse> batchUpdate(BatchUpdateSpreadshee tRequest request, core.String spreadsheetId) { 95 BatchUpdateSpreadsheetRequest request, core.String spreadsheetId) {
92 var _url = null; 96 var _url = null;
93 var _queryParams = new core.Map(); 97 var _queryParams = new core.Map();
94 var _uploadMedia = null; 98 var _uploadMedia = null;
95 var _uploadOptions = null; 99 var _uploadOptions = null;
96 var _downloadOptions = commons.DownloadOptions.Metadata; 100 var _downloadOptions = commons.DownloadOptions.Metadata;
97 var _body = null; 101 var _body = null;
98 102
99 if (request != null) { 103 if (request != null) {
100 _body = convert.JSON.encode((request).toJson()); 104 _body = convert.JSON.encode((request).toJson());
101 } 105 }
102 if (spreadsheetId == null) { 106 if (spreadsheetId == null) {
103 throw new core.ArgumentError("Parameter spreadsheetId is required."); 107 throw new core.ArgumentError("Parameter spreadsheetId is required.");
104 } 108 }
105 109
106 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + ':batchUpdate'; 110 _url = 'v4/spreadsheets/' +
111 commons.Escaper.ecapeVariable('$spreadsheetId') +
112 ':batchUpdate';
107 113
108 var _response = _requester.request(_url, 114 var _response = _requester.request(_url, "POST",
109 "POST", 115 body: _body,
110 body: _body, 116 queryParams: _queryParams,
111 queryParams: _queryParams, 117 uploadOptions: _uploadOptions,
112 uploadOptions: _uploadOptions, 118 uploadMedia: _uploadMedia,
113 uploadMedia: _uploadMedia, 119 downloadOptions: _downloadOptions);
114 downloadOptions: _downloadOptions); 120 return _response
115 return _response.then((data) => new BatchUpdateSpreadsheetResponse.fromJson( data)); 121 .then((data) => new BatchUpdateSpreadsheetResponse.fromJson(data));
116 } 122 }
117 123
118 /** 124 /// Creates a spreadsheet, returning the newly created spreadsheet.
119 * Creates a spreadsheet, returning the newly created spreadsheet. 125 ///
120 * 126 /// [request] - The metadata request object.
121 * [request] - The metadata request object. 127 ///
122 * 128 /// Request parameters:
123 * Request parameters: 129 ///
124 * 130 /// Completes with a [Spreadsheet].
125 * Completes with a [Spreadsheet]. 131 ///
126 * 132 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
127 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 133 /// an error.
128 * error. 134 ///
129 * 135 /// If the used [http.Client] completes with an error when making a REST
130 * If the used [http.Client] completes with an error when making a REST call, 136 /// call, this method will complete with the same error.
131 * this method will complete with the same error.
132 */
133 async.Future<Spreadsheet> create(Spreadsheet request) { 137 async.Future<Spreadsheet> create(Spreadsheet request) {
134 var _url = null; 138 var _url = null;
135 var _queryParams = new core.Map(); 139 var _queryParams = new core.Map();
136 var _uploadMedia = null; 140 var _uploadMedia = null;
137 var _uploadOptions = null; 141 var _uploadOptions = null;
138 var _downloadOptions = commons.DownloadOptions.Metadata; 142 var _downloadOptions = commons.DownloadOptions.Metadata;
139 var _body = null; 143 var _body = null;
140 144
141 if (request != null) { 145 if (request != null) {
142 _body = convert.JSON.encode((request).toJson()); 146 _body = convert.JSON.encode((request).toJson());
143 } 147 }
144 148
145 _url = 'v4/spreadsheets'; 149 _url = 'v4/spreadsheets';
146 150
147 var _response = _requester.request(_url, 151 var _response = _requester.request(_url, "POST",
148 "POST", 152 body: _body,
149 body: _body, 153 queryParams: _queryParams,
150 queryParams: _queryParams, 154 uploadOptions: _uploadOptions,
151 uploadOptions: _uploadOptions, 155 uploadMedia: _uploadMedia,
152 uploadMedia: _uploadMedia, 156 downloadOptions: _downloadOptions);
153 downloadOptions: _downloadOptions);
154 return _response.then((data) => new Spreadsheet.fromJson(data)); 157 return _response.then((data) => new Spreadsheet.fromJson(data));
155 } 158 }
156 159
157 /** 160 /// Returns the spreadsheet at the given ID.
158 * Returns the spreadsheet at the given ID. 161 /// The caller must specify the spreadsheet ID.
159 * The caller must specify the spreadsheet ID. 162 ///
160 * 163 /// By default, data within grids will not be returned.
161 * By default, data within grids will not be returned. 164 /// You can include grid data one of two ways:
162 * You can include grid data one of two ways: 165 ///
163 * 166 /// * Specify a field mask listing your desired fields using the `fields` URL
164 * * Specify a field mask listing your desired fields using the `fields` URL 167 /// parameter in HTTP
165 * parameter in HTTP 168 ///
166 * 169 /// * Set the includeGridData
167 * * Set the includeGridData 170 /// URL parameter to true. If a field mask is set, the `includeGridData`
168 * URL parameter to true. If a field mask is set, the `includeGridData` 171 /// parameter is ignored
169 * parameter is ignored 172 ///
170 * 173 /// For large spreadsheets, it is recommended to retrieve only the specific
171 * For large spreadsheets, it is recommended to retrieve only the specific 174 /// fields of the spreadsheet that you want.
172 * fields of the spreadsheet that you want. 175 ///
173 * 176 /// To retrieve only subsets of the spreadsheet, use the
174 * To retrieve only subsets of the spreadsheet, use the 177 /// ranges URL parameter.
175 * ranges URL parameter. 178 /// Multiple ranges can be specified. Limiting the range will
176 * Multiple ranges can be specified. Limiting the range will 179 /// return only the portions of the spreadsheet that intersect the requested
177 * return only the portions of the spreadsheet that intersect the requested 180 /// ranges. Ranges are specified using A1 notation.
178 * ranges. Ranges are specified using A1 notation. 181 ///
179 * 182 /// Request parameters:
180 * Request parameters: 183 ///
181 * 184 /// [spreadsheetId] - The spreadsheet to request.
182 * [spreadsheetId] - The spreadsheet to request. 185 ///
183 * 186 /// [includeGridData] - True if grid data should be returned.
184 * [includeGridData] - True if grid data should be returned. 187 /// This parameter is ignored if a field mask was set in the request.
185 * This parameter is ignored if a field mask was set in the request. 188 ///
186 * 189 /// [ranges] - The ranges to retrieve from the spreadsheet.
187 * [ranges] - The ranges to retrieve from the spreadsheet. 190 ///
188 * 191 /// Completes with a [Spreadsheet].
189 * Completes with a [Spreadsheet]. 192 ///
190 * 193 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
191 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 194 /// an error.
192 * error. 195 ///
193 * 196 /// If the used [http.Client] completes with an error when making a REST
194 * If the used [http.Client] completes with an error when making a REST call, 197 /// call, this method will complete with the same error.
195 * this method will complete with the same error. 198 async.Future<Spreadsheet> get(core.String spreadsheetId,
196 */ 199 {core.bool includeGridData, core.List<core.String> ranges}) {
197 async.Future<Spreadsheet> get(core.String spreadsheetId, {core.bool includeGri dData, core.List<core.String> ranges}) {
198 var _url = null; 200 var _url = null;
199 var _queryParams = new core.Map(); 201 var _queryParams = new core.Map();
200 var _uploadMedia = null; 202 var _uploadMedia = null;
201 var _uploadOptions = null; 203 var _uploadOptions = null;
202 var _downloadOptions = commons.DownloadOptions.Metadata; 204 var _downloadOptions = commons.DownloadOptions.Metadata;
203 var _body = null; 205 var _body = null;
204 206
205 if (spreadsheetId == null) { 207 if (spreadsheetId == null) {
206 throw new core.ArgumentError("Parameter spreadsheetId is required."); 208 throw new core.ArgumentError("Parameter spreadsheetId is required.");
207 } 209 }
208 if (includeGridData != null) { 210 if (includeGridData != null) {
209 _queryParams["includeGridData"] = ["${includeGridData}"]; 211 _queryParams["includeGridData"] = ["${includeGridData}"];
210 } 212 }
211 if (ranges != null) { 213 if (ranges != null) {
212 _queryParams["ranges"] = ranges; 214 _queryParams["ranges"] = ranges;
213 } 215 }
214 216
215 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId'); 217 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId');
216 218
217 var _response = _requester.request(_url, 219 var _response = _requester.request(_url, "GET",
218 "GET", 220 body: _body,
219 body: _body, 221 queryParams: _queryParams,
220 queryParams: _queryParams, 222 uploadOptions: _uploadOptions,
221 uploadOptions: _uploadOptions, 223 uploadMedia: _uploadMedia,
222 uploadMedia: _uploadMedia, 224 downloadOptions: _downloadOptions);
223 downloadOptions: _downloadOptions);
224 return _response.then((data) => new Spreadsheet.fromJson(data)); 225 return _response.then((data) => new Spreadsheet.fromJson(data));
225 } 226 }
226
227 } 227 }
228 228
229
230 class SpreadsheetsSheetsResourceApi { 229 class SpreadsheetsSheetsResourceApi {
231 final commons.ApiRequester _requester; 230 final commons.ApiRequester _requester;
232 231
233 SpreadsheetsSheetsResourceApi(commons.ApiRequester client) : 232 SpreadsheetsSheetsResourceApi(commons.ApiRequester client)
234 _requester = client; 233 : _requester = client;
235 234
236 /** 235 /// Copies a single sheet from a spreadsheet to another spreadsheet.
237 * Copies a single sheet from a spreadsheet to another spreadsheet. 236 /// Returns the properties of the newly created sheet.
238 * Returns the properties of the newly created sheet. 237 ///
239 * 238 /// [request] - The metadata request object.
240 * [request] - The metadata request object. 239 ///
241 * 240 /// Request parameters:
242 * Request parameters: 241 ///
243 * 242 /// [spreadsheetId] - The ID of the spreadsheet containing the sheet to copy.
244 * [spreadsheetId] - The ID of the spreadsheet containing the sheet to copy. 243 ///
245 * 244 /// [sheetId] - The ID of the sheet to copy.
246 * [sheetId] - The ID of the sheet to copy. 245 ///
247 * 246 /// Completes with a [SheetProperties].
248 * Completes with a [SheetProperties]. 247 ///
249 * 248 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
250 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 249 /// an error.
251 * error. 250 ///
252 * 251 /// If the used [http.Client] completes with an error when making a REST
253 * If the used [http.Client] completes with an error when making a REST call, 252 /// call, this method will complete with the same error.
254 * this method will complete with the same error. 253 async.Future<SheetProperties> copyTo(
255 */ 254 CopySheetToAnotherSpreadsheetRequest request,
256 async.Future<SheetProperties> copyTo(CopySheetToAnotherSpreadsheetRequest requ est, core.String spreadsheetId, core.int sheetId) { 255 core.String spreadsheetId,
256 core.int sheetId) {
257 var _url = null; 257 var _url = null;
258 var _queryParams = new core.Map(); 258 var _queryParams = new core.Map();
259 var _uploadMedia = null; 259 var _uploadMedia = null;
260 var _uploadOptions = null; 260 var _uploadOptions = null;
261 var _downloadOptions = commons.DownloadOptions.Metadata; 261 var _downloadOptions = commons.DownloadOptions.Metadata;
262 var _body = null; 262 var _body = null;
263 263
264 if (request != null) { 264 if (request != null) {
265 _body = convert.JSON.encode((request).toJson()); 265 _body = convert.JSON.encode((request).toJson());
266 } 266 }
267 if (spreadsheetId == null) { 267 if (spreadsheetId == null) {
268 throw new core.ArgumentError("Parameter spreadsheetId is required."); 268 throw new core.ArgumentError("Parameter spreadsheetId is required.");
269 } 269 }
270 if (sheetId == null) { 270 if (sheetId == null) {
271 throw new core.ArgumentError("Parameter sheetId is required."); 271 throw new core.ArgumentError("Parameter sheetId is required.");
272 } 272 }
273 273
274 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/sheets/' + commons.Escaper.ecapeVariable('$sheetId') + ':copyTo'; 274 _url = 'v4/spreadsheets/' +
275 commons.Escaper.ecapeVariable('$spreadsheetId') +
276 '/sheets/' +
277 commons.Escaper.ecapeVariable('$sheetId') +
278 ':copyTo';
275 279
276 var _response = _requester.request(_url, 280 var _response = _requester.request(_url, "POST",
277 "POST", 281 body: _body,
278 body: _body, 282 queryParams: _queryParams,
279 queryParams: _queryParams, 283 uploadOptions: _uploadOptions,
280 uploadOptions: _uploadOptions, 284 uploadMedia: _uploadMedia,
281 uploadMedia: _uploadMedia, 285 downloadOptions: _downloadOptions);
282 downloadOptions: _downloadOptions);
283 return _response.then((data) => new SheetProperties.fromJson(data)); 286 return _response.then((data) => new SheetProperties.fromJson(data));
284 } 287 }
285
286 } 288 }
287 289
288
289 class SpreadsheetsValuesResourceApi { 290 class SpreadsheetsValuesResourceApi {
290 final commons.ApiRequester _requester; 291 final commons.ApiRequester _requester;
291 292
292 SpreadsheetsValuesResourceApi(commons.ApiRequester client) : 293 SpreadsheetsValuesResourceApi(commons.ApiRequester client)
293 _requester = client; 294 : _requester = client;
294 295
295 /** 296 /// Appends values to a spreadsheet. The input range is used to search for
296 * Appends values to a spreadsheet. The input range is used to search for 297 /// existing data and find a "table" within that range. Values will be
297 * existing data and find a "table" within that range. Values will be 298 /// appended to the next row of the table, starting with the first column of
298 * appended to the next row of the table, starting with the first column of 299 /// the table. See the
299 * the table. See the 300 /// [guide](/sheets/api/guides/values#appending_values)
300 * [guide](/sheets/api/guides/values#appending_values) 301 /// and
301 * and 302 /// [sample code](/sheets/api/samples/writing#append_values)
302 * [sample code](/sheets/api/samples/writing#append_values) 303 /// for specific details of how tables are detected and data is appended.
303 * for specific details of how tables are detected and data is appended. 304 ///
304 * 305 /// The caller must specify the spreadsheet ID, range, and
305 * The caller must specify the spreadsheet ID, range, and 306 /// a valueInputOption. The `valueInputOption` only
306 * a valueInputOption. The `valueInputOption` only 307 /// controls how the input data will be added to the sheet (column-wise or
307 * controls how the input data will be added to the sheet (column-wise or 308 /// row-wise), it does not influence what cell the data starts being written
308 * row-wise), it does not influence what cell the data starts being written 309 /// to.
309 * to. 310 ///
310 * 311 /// [request] - The metadata request object.
311 * [request] - The metadata request object. 312 ///
312 * 313 /// Request parameters:
313 * Request parameters: 314 ///
314 * 315 /// [spreadsheetId] - The ID of the spreadsheet to update.
315 * [spreadsheetId] - The ID of the spreadsheet to update. 316 ///
316 * 317 /// [range] - The A1 notation of a range to search for a logical table of
317 * [range] - The A1 notation of a range to search for a logical table of data. 318 /// data.
318 * Values will be appended after the last row of the table. 319 /// Values will be appended after the last row of the table.
319 * 320 ///
320 * [includeValuesInResponse] - Determines if the update response should 321 /// [includeValuesInResponse] - Determines if the update response should
321 * include the values 322 /// include the values
322 * of the cells that were appended. By default, responses 323 /// of the cells that were appended. By default, responses
323 * do not include the updated values. 324 /// do not include the updated values.
324 * 325 ///
325 * [responseValueRenderOption] - Determines how values in the response should 326 /// [responseValueRenderOption] - Determines how values in the response
326 * be rendered. 327 /// should be rendered.
327 * The default render option is ValueRenderOption.FORMATTED_VALUE. 328 /// The default render option is ValueRenderOption.FORMATTED_VALUE.
328 * Possible string values are: 329 /// Possible string values are:
329 * - "FORMATTED_VALUE" : A FORMATTED_VALUE. 330 /// - "FORMATTED_VALUE" : A FORMATTED_VALUE.
330 * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE. 331 /// - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
331 * - "FORMULA" : A FORMULA. 332 /// - "FORMULA" : A FORMULA.
332 * 333 ///
333 * [insertDataOption] - How the input data should be inserted. 334 /// [insertDataOption] - How the input data should be inserted.
334 * Possible string values are: 335 /// Possible string values are:
335 * - "OVERWRITE" : A OVERWRITE. 336 /// - "OVERWRITE" : A OVERWRITE.
336 * - "INSERT_ROWS" : A INSERT_ROWS. 337 /// - "INSERT_ROWS" : A INSERT_ROWS.
337 * 338 ///
338 * [valueInputOption] - How the input data should be interpreted. 339 /// [valueInputOption] - How the input data should be interpreted.
339 * Possible string values are: 340 /// Possible string values are:
340 * - "INPUT_VALUE_OPTION_UNSPECIFIED" : A INPUT_VALUE_OPTION_UNSPECIFIED. 341 /// - "INPUT_VALUE_OPTION_UNSPECIFIED" : A INPUT_VALUE_OPTION_UNSPECIFIED.
341 * - "RAW" : A RAW. 342 /// - "RAW" : A RAW.
342 * - "USER_ENTERED" : A USER_ENTERED. 343 /// - "USER_ENTERED" : A USER_ENTERED.
343 * 344 ///
344 * [responseDateTimeRenderOption] - Determines how dates, times, and durations 345 /// [responseDateTimeRenderOption] - Determines how dates, times, and
345 * in the response should be 346 /// durations in the response should be
346 * rendered. This is ignored if response_value_render_option is 347 /// rendered. This is ignored if response_value_render_option is
347 * FORMATTED_VALUE. 348 /// FORMATTED_VALUE.
348 * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. 349 /// The default dateTime render option is
349 * Possible string values are: 350 /// [DateTimeRenderOption.SERIAL_NUMBER].
350 * - "SERIAL_NUMBER" : A SERIAL_NUMBER. 351 /// Possible string values are:
351 * - "FORMATTED_STRING" : A FORMATTED_STRING. 352 /// - "SERIAL_NUMBER" : A SERIAL_NUMBER.
352 * 353 /// - "FORMATTED_STRING" : A FORMATTED_STRING.
353 * Completes with a [AppendValuesResponse]. 354 ///
354 * 355 /// Completes with a [AppendValuesResponse].
355 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 356 ///
356 * error. 357 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
357 * 358 /// an error.
358 * If the used [http.Client] completes with an error when making a REST call, 359 ///
359 * this method will complete with the same error. 360 /// If the used [http.Client] completes with an error when making a REST
360 */ 361 /// call, this method will complete with the same error.
361 async.Future<AppendValuesResponse> append(ValueRange request, core.String spre adsheetId, core.String range, {core.bool includeValuesInResponse, core.String re sponseValueRenderOption, core.String insertDataOption, core.String valueInputOpt ion, core.String responseDateTimeRenderOption}) { 362 async.Future<AppendValuesResponse> append(
363 ValueRange request, core.String spreadsheetId, core.String range,
364 {core.bool includeValuesInResponse,
365 core.String responseValueRenderOption,
366 core.String insertDataOption,
367 core.String valueInputOption,
368 core.String responseDateTimeRenderOption}) {
362 var _url = null; 369 var _url = null;
363 var _queryParams = new core.Map(); 370 var _queryParams = new core.Map();
364 var _uploadMedia = null; 371 var _uploadMedia = null;
365 var _uploadOptions = null; 372 var _uploadOptions = null;
366 var _downloadOptions = commons.DownloadOptions.Metadata; 373 var _downloadOptions = commons.DownloadOptions.Metadata;
367 var _body = null; 374 var _body = null;
368 375
369 if (request != null) { 376 if (request != null) {
370 _body = convert.JSON.encode((request).toJson()); 377 _body = convert.JSON.encode((request).toJson());
371 } 378 }
372 if (spreadsheetId == null) { 379 if (spreadsheetId == null) {
373 throw new core.ArgumentError("Parameter spreadsheetId is required."); 380 throw new core.ArgumentError("Parameter spreadsheetId is required.");
374 } 381 }
375 if (range == null) { 382 if (range == null) {
376 throw new core.ArgumentError("Parameter range is required."); 383 throw new core.ArgumentError("Parameter range is required.");
377 } 384 }
378 if (includeValuesInResponse != null) { 385 if (includeValuesInResponse != null) {
379 _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"]; 386 _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
380 } 387 }
381 if (responseValueRenderOption != null) { 388 if (responseValueRenderOption != null) {
382 _queryParams["responseValueRenderOption"] = [responseValueRenderOption]; 389 _queryParams["responseValueRenderOption"] = [responseValueRenderOption];
383 } 390 }
384 if (insertDataOption != null) { 391 if (insertDataOption != null) {
385 _queryParams["insertDataOption"] = [insertDataOption]; 392 _queryParams["insertDataOption"] = [insertDataOption];
386 } 393 }
387 if (valueInputOption != null) { 394 if (valueInputOption != null) {
388 _queryParams["valueInputOption"] = [valueInputOption]; 395 _queryParams["valueInputOption"] = [valueInputOption];
389 } 396 }
390 if (responseDateTimeRenderOption != null) { 397 if (responseDateTimeRenderOption != null) {
391 _queryParams["responseDateTimeRenderOption"] = [responseDateTimeRenderOpti on]; 398 _queryParams["responseDateTimeRenderOption"] = [
399 responseDateTimeRenderOption
400 ];
392 } 401 }
393 402
394 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range') + ':append'; 403 _url = 'v4/spreadsheets/' +
404 commons.Escaper.ecapeVariable('$spreadsheetId') +
405 '/values/' +
406 commons.Escaper.ecapeVariable('$range') +
407 ':append';
395 408
396 var _response = _requester.request(_url, 409 var _response = _requester.request(_url, "POST",
397 "POST", 410 body: _body,
398 body: _body, 411 queryParams: _queryParams,
399 queryParams: _queryParams, 412 uploadOptions: _uploadOptions,
400 uploadOptions: _uploadOptions, 413 uploadMedia: _uploadMedia,
401 uploadMedia: _uploadMedia, 414 downloadOptions: _downloadOptions);
402 downloadOptions: _downloadOptions);
403 return _response.then((data) => new AppendValuesResponse.fromJson(data)); 415 return _response.then((data) => new AppendValuesResponse.fromJson(data));
404 } 416 }
405 417
406 /** 418 /// Clears one or more ranges of values from a spreadsheet.
407 * Clears one or more ranges of values from a spreadsheet. 419 /// The caller must specify the spreadsheet ID and one or more ranges.
408 * The caller must specify the spreadsheet ID and one or more ranges. 420 /// Only values are cleared -- all other properties of the cell (such as
409 * Only values are cleared -- all other properties of the cell (such as 421 /// formatting, data validation, etc..) are kept.
410 * formatting, data validation, etc..) are kept. 422 ///
411 * 423 /// [request] - The metadata request object.
412 * [request] - The metadata request object. 424 ///
413 * 425 /// Request parameters:
414 * Request parameters: 426 ///
415 * 427 /// [spreadsheetId] - The ID of the spreadsheet to update.
416 * [spreadsheetId] - The ID of the spreadsheet to update. 428 ///
417 * 429 /// Completes with a [BatchClearValuesResponse].
418 * Completes with a [BatchClearValuesResponse]. 430 ///
419 * 431 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
420 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 432 /// an error.
421 * error. 433 ///
422 * 434 /// If the used [http.Client] completes with an error when making a REST
423 * If the used [http.Client] completes with an error when making a REST call, 435 /// call, this method will complete with the same error.
424 * this method will complete with the same error. 436 async.Future<BatchClearValuesResponse> batchClear(
425 */ 437 BatchClearValuesRequest request, core.String spreadsheetId) {
426 async.Future<BatchClearValuesResponse> batchClear(BatchClearValuesRequest requ est, core.String spreadsheetId) {
427 var _url = null; 438 var _url = null;
428 var _queryParams = new core.Map(); 439 var _queryParams = new core.Map();
429 var _uploadMedia = null; 440 var _uploadMedia = null;
430 var _uploadOptions = null; 441 var _uploadOptions = null;
431 var _downloadOptions = commons.DownloadOptions.Metadata; 442 var _downloadOptions = commons.DownloadOptions.Metadata;
432 var _body = null; 443 var _body = null;
433 444
434 if (request != null) { 445 if (request != null) {
435 _body = convert.JSON.encode((request).toJson()); 446 _body = convert.JSON.encode((request).toJson());
436 } 447 }
437 if (spreadsheetId == null) { 448 if (spreadsheetId == null) {
438 throw new core.ArgumentError("Parameter spreadsheetId is required."); 449 throw new core.ArgumentError("Parameter spreadsheetId is required.");
439 } 450 }
440 451
441 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values:batchClear'; 452 _url = 'v4/spreadsheets/' +
453 commons.Escaper.ecapeVariable('$spreadsheetId') +
454 '/values:batchClear';
442 455
443 var _response = _requester.request(_url, 456 var _response = _requester.request(_url, "POST",
444 "POST", 457 body: _body,
445 body: _body, 458 queryParams: _queryParams,
446 queryParams: _queryParams, 459 uploadOptions: _uploadOptions,
447 uploadOptions: _uploadOptions, 460 uploadMedia: _uploadMedia,
448 uploadMedia: _uploadMedia, 461 downloadOptions: _downloadOptions);
449 downloadOptions: _downloadOptions); 462 return _response
450 return _response.then((data) => new BatchClearValuesResponse.fromJson(data)) ; 463 .then((data) => new BatchClearValuesResponse.fromJson(data));
451 } 464 }
452 465
453 /** 466 /// Returns one or more ranges of values from a spreadsheet.
454 * Returns one or more ranges of values from a spreadsheet. 467 /// The caller must specify the spreadsheet ID and one or more ranges.
455 * The caller must specify the spreadsheet ID and one or more ranges. 468 ///
456 * 469 /// Request parameters:
457 * Request parameters: 470 ///
458 * 471 /// [spreadsheetId] - The ID of the spreadsheet to retrieve data from.
459 * [spreadsheetId] - The ID of the spreadsheet to retrieve data from. 472 ///
460 * 473 /// [majorDimension] - The major dimension that results should use.
461 * [majorDimension] - The major dimension that results should use. 474 ///
462 * 475 /// For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
463 * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, 476 /// then requesting `range=A1:B2,majorDimension=ROWS` will return
464 * then requesting `range=A1:B2,majorDimension=ROWS` will return 477 /// `[[1,2],[3,4]]`,
465 * `[[1,2],[3,4]]`, 478 /// whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
466 * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return 479 /// `[[1,3],[2,4]]`.
467 * `[[1,3],[2,4]]`. 480 /// Possible string values are:
468 * Possible string values are: 481 /// - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED.
469 * - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED. 482 /// - "ROWS" : A ROWS.
470 * - "ROWS" : A ROWS. 483 /// - "COLUMNS" : A COLUMNS.
471 * - "COLUMNS" : A COLUMNS. 484 ///
472 * 485 /// [ranges] - The A1 notation of the values to retrieve.
473 * [ranges] - The A1 notation of the values to retrieve. 486 ///
474 * 487 /// [dateTimeRenderOption] - How dates, times, and durations should be
475 * [dateTimeRenderOption] - How dates, times, and durations should be 488 /// represented in the output.
476 * represented in the output. 489 /// This is ignored if value_render_option is
477 * This is ignored if value_render_option is 490 /// FORMATTED_VALUE.
478 * FORMATTED_VALUE. 491 /// The default dateTime render option is
479 * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. 492 /// [DateTimeRenderOption.SERIAL_NUMBER].
480 * Possible string values are: 493 /// Possible string values are:
481 * - "SERIAL_NUMBER" : A SERIAL_NUMBER. 494 /// - "SERIAL_NUMBER" : A SERIAL_NUMBER.
482 * - "FORMATTED_STRING" : A FORMATTED_STRING. 495 /// - "FORMATTED_STRING" : A FORMATTED_STRING.
483 * 496 ///
484 * [valueRenderOption] - How values should be represented in the output. 497 /// [valueRenderOption] - How values should be represented in the output.
485 * The default render option is ValueRenderOption.FORMATTED_VALUE. 498 /// The default render option is ValueRenderOption.FORMATTED_VALUE.
486 * Possible string values are: 499 /// Possible string values are:
487 * - "FORMATTED_VALUE" : A FORMATTED_VALUE. 500 /// - "FORMATTED_VALUE" : A FORMATTED_VALUE.
488 * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE. 501 /// - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
489 * - "FORMULA" : A FORMULA. 502 /// - "FORMULA" : A FORMULA.
490 * 503 ///
491 * Completes with a [BatchGetValuesResponse]. 504 /// Completes with a [BatchGetValuesResponse].
492 * 505 ///
493 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 506 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
494 * error. 507 /// an error.
495 * 508 ///
496 * If the used [http.Client] completes with an error when making a REST call, 509 /// If the used [http.Client] completes with an error when making a REST
497 * this method will complete with the same error. 510 /// call, this method will complete with the same error.
498 */ 511 async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId,
499 async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId, {core .String majorDimension, core.List<core.String> ranges, core.String dateTimeRende rOption, core.String valueRenderOption}) { 512 {core.String majorDimension,
513 core.List<core.String> ranges,
514 core.String dateTimeRenderOption,
515 core.String valueRenderOption}) {
500 var _url = null; 516 var _url = null;
501 var _queryParams = new core.Map(); 517 var _queryParams = new core.Map();
502 var _uploadMedia = null; 518 var _uploadMedia = null;
503 var _uploadOptions = null; 519 var _uploadOptions = null;
504 var _downloadOptions = commons.DownloadOptions.Metadata; 520 var _downloadOptions = commons.DownloadOptions.Metadata;
505 var _body = null; 521 var _body = null;
506 522
507 if (spreadsheetId == null) { 523 if (spreadsheetId == null) {
508 throw new core.ArgumentError("Parameter spreadsheetId is required."); 524 throw new core.ArgumentError("Parameter spreadsheetId is required.");
509 } 525 }
510 if (majorDimension != null) { 526 if (majorDimension != null) {
511 _queryParams["majorDimension"] = [majorDimension]; 527 _queryParams["majorDimension"] = [majorDimension];
512 } 528 }
513 if (ranges != null) { 529 if (ranges != null) {
514 _queryParams["ranges"] = ranges; 530 _queryParams["ranges"] = ranges;
515 } 531 }
516 if (dateTimeRenderOption != null) { 532 if (dateTimeRenderOption != null) {
517 _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption]; 533 _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
518 } 534 }
519 if (valueRenderOption != null) { 535 if (valueRenderOption != null) {
520 _queryParams["valueRenderOption"] = [valueRenderOption]; 536 _queryParams["valueRenderOption"] = [valueRenderOption];
521 } 537 }
522 538
523 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values:batchGet'; 539 _url = 'v4/spreadsheets/' +
540 commons.Escaper.ecapeVariable('$spreadsheetId') +
541 '/values:batchGet';
524 542
525 var _response = _requester.request(_url, 543 var _response = _requester.request(_url, "GET",
526 "GET", 544 body: _body,
527 body: _body, 545 queryParams: _queryParams,
528 queryParams: _queryParams, 546 uploadOptions: _uploadOptions,
529 uploadOptions: _uploadOptions, 547 uploadMedia: _uploadMedia,
530 uploadMedia: _uploadMedia, 548 downloadOptions: _downloadOptions);
531 downloadOptions: _downloadOptions);
532 return _response.then((data) => new BatchGetValuesResponse.fromJson(data)); 549 return _response.then((data) => new BatchGetValuesResponse.fromJson(data));
533 } 550 }
534 551
535 /** 552 /// Sets values in one or more ranges of a spreadsheet.
536 * Sets values in one or more ranges of a spreadsheet. 553 /// The caller must specify the spreadsheet ID,
537 * The caller must specify the spreadsheet ID, 554 /// a valueInputOption, and one or more
538 * a valueInputOption, and one or more 555 /// ValueRanges.
539 * ValueRanges. 556 ///
540 * 557 /// [request] - The metadata request object.
541 * [request] - The metadata request object. 558 ///
542 * 559 /// Request parameters:
543 * Request parameters: 560 ///
544 * 561 /// [spreadsheetId] - The ID of the spreadsheet to update.
545 * [spreadsheetId] - The ID of the spreadsheet to update. 562 ///
546 * 563 /// Completes with a [BatchUpdateValuesResponse].
547 * Completes with a [BatchUpdateValuesResponse]. 564 ///
548 * 565 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
549 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 566 /// an error.
550 * error. 567 ///
551 * 568 /// If the used [http.Client] completes with an error when making a REST
552 * If the used [http.Client] completes with an error when making a REST call, 569 /// call, this method will complete with the same error.
553 * this method will complete with the same error. 570 async.Future<BatchUpdateValuesResponse> batchUpdate(
554 */ 571 BatchUpdateValuesRequest request, core.String spreadsheetId) {
555 async.Future<BatchUpdateValuesResponse> batchUpdate(BatchUpdateValuesRequest r equest, core.String spreadsheetId) {
556 var _url = null; 572 var _url = null;
557 var _queryParams = new core.Map(); 573 var _queryParams = new core.Map();
558 var _uploadMedia = null; 574 var _uploadMedia = null;
559 var _uploadOptions = null; 575 var _uploadOptions = null;
560 var _downloadOptions = commons.DownloadOptions.Metadata; 576 var _downloadOptions = commons.DownloadOptions.Metadata;
561 var _body = null; 577 var _body = null;
562 578
563 if (request != null) { 579 if (request != null) {
564 _body = convert.JSON.encode((request).toJson()); 580 _body = convert.JSON.encode((request).toJson());
565 } 581 }
566 if (spreadsheetId == null) { 582 if (spreadsheetId == null) {
567 throw new core.ArgumentError("Parameter spreadsheetId is required."); 583 throw new core.ArgumentError("Parameter spreadsheetId is required.");
568 } 584 }
569 585
570 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values:batchUpdate'; 586 _url = 'v4/spreadsheets/' +
587 commons.Escaper.ecapeVariable('$spreadsheetId') +
588 '/values:batchUpdate';
571 589
572 var _response = _requester.request(_url, 590 var _response = _requester.request(_url, "POST",
573 "POST", 591 body: _body,
574 body: _body, 592 queryParams: _queryParams,
575 queryParams: _queryParams, 593 uploadOptions: _uploadOptions,
576 uploadOptions: _uploadOptions, 594 uploadMedia: _uploadMedia,
577 uploadMedia: _uploadMedia, 595 downloadOptions: _downloadOptions);
578 downloadOptions: _downloadOptions); 596 return _response
579 return _response.then((data) => new BatchUpdateValuesResponse.fromJson(data) ); 597 .then((data) => new BatchUpdateValuesResponse.fromJson(data));
580 } 598 }
581 599
582 /** 600 /// Clears values from a spreadsheet.
583 * Clears values from a spreadsheet. 601 /// The caller must specify the spreadsheet ID and range.
584 * The caller must specify the spreadsheet ID and range. 602 /// Only values are cleared -- all other properties of the cell (such as
585 * Only values are cleared -- all other properties of the cell (such as 603 /// formatting, data validation, etc..) are kept.
586 * formatting, data validation, etc..) are kept. 604 ///
587 * 605 /// [request] - The metadata request object.
588 * [request] - The metadata request object. 606 ///
589 * 607 /// Request parameters:
590 * Request parameters: 608 ///
591 * 609 /// [spreadsheetId] - The ID of the spreadsheet to update.
592 * [spreadsheetId] - The ID of the spreadsheet to update. 610 ///
593 * 611 /// [range] - The A1 notation of the values to clear.
594 * [range] - The A1 notation of the values to clear. 612 ///
595 * 613 /// Completes with a [ClearValuesResponse].
596 * Completes with a [ClearValuesResponse]. 614 ///
597 * 615 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
598 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 616 /// an error.
599 * error. 617 ///
600 * 618 /// If the used [http.Client] completes with an error when making a REST
601 * If the used [http.Client] completes with an error when making a REST call, 619 /// call, this method will complete with the same error.
602 * this method will complete with the same error. 620 async.Future<ClearValuesResponse> clear(ClearValuesRequest request,
603 */ 621 core.String spreadsheetId, core.String range) {
604 async.Future<ClearValuesResponse> clear(ClearValuesRequest request, core.Strin g spreadsheetId, core.String range) {
605 var _url = null; 622 var _url = null;
606 var _queryParams = new core.Map(); 623 var _queryParams = new core.Map();
607 var _uploadMedia = null; 624 var _uploadMedia = null;
608 var _uploadOptions = null; 625 var _uploadOptions = null;
609 var _downloadOptions = commons.DownloadOptions.Metadata; 626 var _downloadOptions = commons.DownloadOptions.Metadata;
610 var _body = null; 627 var _body = null;
611 628
612 if (request != null) { 629 if (request != null) {
613 _body = convert.JSON.encode((request).toJson()); 630 _body = convert.JSON.encode((request).toJson());
614 } 631 }
615 if (spreadsheetId == null) { 632 if (spreadsheetId == null) {
616 throw new core.ArgumentError("Parameter spreadsheetId is required."); 633 throw new core.ArgumentError("Parameter spreadsheetId is required.");
617 } 634 }
618 if (range == null) { 635 if (range == null) {
619 throw new core.ArgumentError("Parameter range is required."); 636 throw new core.ArgumentError("Parameter range is required.");
620 } 637 }
621 638
622 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range') + ':clear'; 639 _url = 'v4/spreadsheets/' +
640 commons.Escaper.ecapeVariable('$spreadsheetId') +
641 '/values/' +
642 commons.Escaper.ecapeVariable('$range') +
643 ':clear';
623 644
624 var _response = _requester.request(_url, 645 var _response = _requester.request(_url, "POST",
625 "POST", 646 body: _body,
626 body: _body, 647 queryParams: _queryParams,
627 queryParams: _queryParams, 648 uploadOptions: _uploadOptions,
628 uploadOptions: _uploadOptions, 649 uploadMedia: _uploadMedia,
629 uploadMedia: _uploadMedia, 650 downloadOptions: _downloadOptions);
630 downloadOptions: _downloadOptions);
631 return _response.then((data) => new ClearValuesResponse.fromJson(data)); 651 return _response.then((data) => new ClearValuesResponse.fromJson(data));
632 } 652 }
633 653
634 /** 654 /// Returns a range of values from a spreadsheet.
635 * Returns a range of values from a spreadsheet. 655 /// The caller must specify the spreadsheet ID and a range.
636 * The caller must specify the spreadsheet ID and a range. 656 ///
637 * 657 /// Request parameters:
638 * Request parameters: 658 ///
639 * 659 /// [spreadsheetId] - The ID of the spreadsheet to retrieve data from.
640 * [spreadsheetId] - The ID of the spreadsheet to retrieve data from. 660 ///
641 * 661 /// [range] - The A1 notation of the values to retrieve.
642 * [range] - The A1 notation of the values to retrieve. 662 ///
643 * 663 /// [dateTimeRenderOption] - How dates, times, and durations should be
644 * [dateTimeRenderOption] - How dates, times, and durations should be 664 /// represented in the output.
645 * represented in the output. 665 /// This is ignored if value_render_option is
646 * This is ignored if value_render_option is 666 /// FORMATTED_VALUE.
647 * FORMATTED_VALUE. 667 /// The default dateTime render option is
648 * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. 668 /// [DateTimeRenderOption.SERIAL_NUMBER].
649 * Possible string values are: 669 /// Possible string values are:
650 * - "SERIAL_NUMBER" : A SERIAL_NUMBER. 670 /// - "SERIAL_NUMBER" : A SERIAL_NUMBER.
651 * - "FORMATTED_STRING" : A FORMATTED_STRING. 671 /// - "FORMATTED_STRING" : A FORMATTED_STRING.
652 * 672 ///
653 * [valueRenderOption] - How values should be represented in the output. 673 /// [valueRenderOption] - How values should be represented in the output.
654 * The default render option is ValueRenderOption.FORMATTED_VALUE. 674 /// The default render option is ValueRenderOption.FORMATTED_VALUE.
655 * Possible string values are: 675 /// Possible string values are:
656 * - "FORMATTED_VALUE" : A FORMATTED_VALUE. 676 /// - "FORMATTED_VALUE" : A FORMATTED_VALUE.
657 * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE. 677 /// - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
658 * - "FORMULA" : A FORMULA. 678 /// - "FORMULA" : A FORMULA.
659 * 679 ///
660 * [majorDimension] - The major dimension that results should use. 680 /// [majorDimension] - The major dimension that results should use.
661 * 681 ///
662 * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, 682 /// For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
663 * then requesting `range=A1:B2,majorDimension=ROWS` will return 683 /// then requesting `range=A1:B2,majorDimension=ROWS` will return
664 * `[[1,2],[3,4]]`, 684 /// `[[1,2],[3,4]]`,
665 * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return 685 /// whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
666 * `[[1,3],[2,4]]`. 686 /// `[[1,3],[2,4]]`.
667 * Possible string values are: 687 /// Possible string values are:
668 * - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED. 688 /// - "DIMENSION_UNSPECIFIED" : A DIMENSION_UNSPECIFIED.
669 * - "ROWS" : A ROWS. 689 /// - "ROWS" : A ROWS.
670 * - "COLUMNS" : A COLUMNS. 690 /// - "COLUMNS" : A COLUMNS.
671 * 691 ///
672 * Completes with a [ValueRange]. 692 /// Completes with a [ValueRange].
673 * 693 ///
674 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 694 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
675 * error. 695 /// an error.
676 * 696 ///
677 * If the used [http.Client] completes with an error when making a REST call, 697 /// If the used [http.Client] completes with an error when making a REST
678 * this method will complete with the same error. 698 /// call, this method will complete with the same error.
679 */ 699 async.Future<ValueRange> get(core.String spreadsheetId, core.String range,
680 async.Future<ValueRange> get(core.String spreadsheetId, core.String range, {co re.String dateTimeRenderOption, core.String valueRenderOption, core.String major Dimension}) { 700 {core.String dateTimeRenderOption,
701 core.String valueRenderOption,
702 core.String majorDimension}) {
681 var _url = null; 703 var _url = null;
682 var _queryParams = new core.Map(); 704 var _queryParams = new core.Map();
683 var _uploadMedia = null; 705 var _uploadMedia = null;
684 var _uploadOptions = null; 706 var _uploadOptions = null;
685 var _downloadOptions = commons.DownloadOptions.Metadata; 707 var _downloadOptions = commons.DownloadOptions.Metadata;
686 var _body = null; 708 var _body = null;
687 709
688 if (spreadsheetId == null) { 710 if (spreadsheetId == null) {
689 throw new core.ArgumentError("Parameter spreadsheetId is required."); 711 throw new core.ArgumentError("Parameter spreadsheetId is required.");
690 } 712 }
691 if (range == null) { 713 if (range == null) {
692 throw new core.ArgumentError("Parameter range is required."); 714 throw new core.ArgumentError("Parameter range is required.");
693 } 715 }
694 if (dateTimeRenderOption != null) { 716 if (dateTimeRenderOption != null) {
695 _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption]; 717 _queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
696 } 718 }
697 if (valueRenderOption != null) { 719 if (valueRenderOption != null) {
698 _queryParams["valueRenderOption"] = [valueRenderOption]; 720 _queryParams["valueRenderOption"] = [valueRenderOption];
699 } 721 }
700 if (majorDimension != null) { 722 if (majorDimension != null) {
701 _queryParams["majorDimension"] = [majorDimension]; 723 _queryParams["majorDimension"] = [majorDimension];
702 } 724 }
703 725
704 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range'); 726 _url = 'v4/spreadsheets/' +
727 commons.Escaper.ecapeVariable('$spreadsheetId') +
728 '/values/' +
729 commons.Escaper.ecapeVariable('$range');
705 730
706 var _response = _requester.request(_url, 731 var _response = _requester.request(_url, "GET",
707 "GET", 732 body: _body,
708 body: _body, 733 queryParams: _queryParams,
709 queryParams: _queryParams, 734 uploadOptions: _uploadOptions,
710 uploadOptions: _uploadOptions, 735 uploadMedia: _uploadMedia,
711 uploadMedia: _uploadMedia, 736 downloadOptions: _downloadOptions);
712 downloadOptions: _downloadOptions);
713 return _response.then((data) => new ValueRange.fromJson(data)); 737 return _response.then((data) => new ValueRange.fromJson(data));
714 } 738 }
715 739
716 /** 740 /// Sets values in a range of a spreadsheet.
717 * Sets values in a range of a spreadsheet. 741 /// The caller must specify the spreadsheet ID, range, and
718 * The caller must specify the spreadsheet ID, range, and 742 /// a valueInputOption.
719 * a valueInputOption. 743 ///
720 * 744 /// [request] - The metadata request object.
721 * [request] - The metadata request object. 745 ///
722 * 746 /// Request parameters:
723 * Request parameters: 747 ///
724 * 748 /// [spreadsheetId] - The ID of the spreadsheet to update.
725 * [spreadsheetId] - The ID of the spreadsheet to update. 749 ///
726 * 750 /// [range] - The A1 notation of the values to update.
727 * [range] - The A1 notation of the values to update. 751 ///
728 * 752 /// [responseValueRenderOption] - Determines how values in the response
729 * [responseValueRenderOption] - Determines how values in the response should 753 /// should be rendered.
730 * be rendered. 754 /// The default render option is ValueRenderOption.FORMATTED_VALUE.
731 * The default render option is ValueRenderOption.FORMATTED_VALUE. 755 /// Possible string values are:
732 * Possible string values are: 756 /// - "FORMATTED_VALUE" : A FORMATTED_VALUE.
733 * - "FORMATTED_VALUE" : A FORMATTED_VALUE. 757 /// - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
734 * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE. 758 /// - "FORMULA" : A FORMULA.
735 * - "FORMULA" : A FORMULA. 759 ///
736 * 760 /// [valueInputOption] - How the input data should be interpreted.
737 * [valueInputOption] - How the input data should be interpreted. 761 /// Possible string values are:
738 * Possible string values are: 762 /// - "INPUT_VALUE_OPTION_UNSPECIFIED" : A INPUT_VALUE_OPTION_UNSPECIFIED.
739 * - "INPUT_VALUE_OPTION_UNSPECIFIED" : A INPUT_VALUE_OPTION_UNSPECIFIED. 763 /// - "RAW" : A RAW.
740 * - "RAW" : A RAW. 764 /// - "USER_ENTERED" : A USER_ENTERED.
741 * - "USER_ENTERED" : A USER_ENTERED. 765 ///
742 * 766 /// [responseDateTimeRenderOption] - Determines how dates, times, and
743 * [responseDateTimeRenderOption] - Determines how dates, times, and durations 767 /// durations in the response should be
744 * in the response should be 768 /// rendered. This is ignored if response_value_render_option is
745 * rendered. This is ignored if response_value_render_option is 769 /// FORMATTED_VALUE.
746 * FORMATTED_VALUE. 770 /// The default dateTime render option is
747 * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER]. 771 /// [DateTimeRenderOption.SERIAL_NUMBER].
748 * Possible string values are: 772 /// Possible string values are:
749 * - "SERIAL_NUMBER" : A SERIAL_NUMBER. 773 /// - "SERIAL_NUMBER" : A SERIAL_NUMBER.
750 * - "FORMATTED_STRING" : A FORMATTED_STRING. 774 /// - "FORMATTED_STRING" : A FORMATTED_STRING.
751 * 775 ///
752 * [includeValuesInResponse] - Determines if the update response should 776 /// [includeValuesInResponse] - Determines if the update response should
753 * include the values 777 /// include the values
754 * of the cells that were updated. By default, responses 778 /// of the cells that were updated. By default, responses
755 * do not include the updated values. 779 /// do not include the updated values.
756 * If the range to write was larger than than the range actually written, 780 /// If the range to write was larger than than the range actually written,
757 * the response will include all values in the requested range (excluding 781 /// the response will include all values in the requested range (excluding
758 * trailing empty rows and columns). 782 /// trailing empty rows and columns).
759 * 783 ///
760 * Completes with a [UpdateValuesResponse]. 784 /// Completes with a [UpdateValuesResponse].
761 * 785 ///
762 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 786 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
763 * error. 787 /// an error.
764 * 788 ///
765 * If the used [http.Client] completes with an error when making a REST call, 789 /// If the used [http.Client] completes with an error when making a REST
766 * this method will complete with the same error. 790 /// call, this method will complete with the same error.
767 */ 791 async.Future<UpdateValuesResponse> update(
768 async.Future<UpdateValuesResponse> update(ValueRange request, core.String spre adsheetId, core.String range, {core.String responseValueRenderOption, core.Strin g valueInputOption, core.String responseDateTimeRenderOption, core.bool includeV aluesInResponse}) { 792 ValueRange request, core.String spreadsheetId, core.String range,
793 {core.String responseValueRenderOption,
794 core.String valueInputOption,
795 core.String responseDateTimeRenderOption,
796 core.bool includeValuesInResponse}) {
769 var _url = null; 797 var _url = null;
770 var _queryParams = new core.Map(); 798 var _queryParams = new core.Map();
771 var _uploadMedia = null; 799 var _uploadMedia = null;
772 var _uploadOptions = null; 800 var _uploadOptions = null;
773 var _downloadOptions = commons.DownloadOptions.Metadata; 801 var _downloadOptions = commons.DownloadOptions.Metadata;
774 var _body = null; 802 var _body = null;
775 803
776 if (request != null) { 804 if (request != null) {
777 _body = convert.JSON.encode((request).toJson()); 805 _body = convert.JSON.encode((request).toJson());
778 } 806 }
779 if (spreadsheetId == null) { 807 if (spreadsheetId == null) {
780 throw new core.ArgumentError("Parameter spreadsheetId is required."); 808 throw new core.ArgumentError("Parameter spreadsheetId is required.");
781 } 809 }
782 if (range == null) { 810 if (range == null) {
783 throw new core.ArgumentError("Parameter range is required."); 811 throw new core.ArgumentError("Parameter range is required.");
784 } 812 }
785 if (responseValueRenderOption != null) { 813 if (responseValueRenderOption != null) {
786 _queryParams["responseValueRenderOption"] = [responseValueRenderOption]; 814 _queryParams["responseValueRenderOption"] = [responseValueRenderOption];
787 } 815 }
788 if (valueInputOption != null) { 816 if (valueInputOption != null) {
789 _queryParams["valueInputOption"] = [valueInputOption]; 817 _queryParams["valueInputOption"] = [valueInputOption];
790 } 818 }
791 if (responseDateTimeRenderOption != null) { 819 if (responseDateTimeRenderOption != null) {
792 _queryParams["responseDateTimeRenderOption"] = [responseDateTimeRenderOpti on]; 820 _queryParams["responseDateTimeRenderOption"] = [
821 responseDateTimeRenderOption
822 ];
793 } 823 }
794 if (includeValuesInResponse != null) { 824 if (includeValuesInResponse != null) {
795 _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"]; 825 _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
796 } 826 }
797 827
798 _url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range'); 828 _url = 'v4/spreadsheets/' +
829 commons.Escaper.ecapeVariable('$spreadsheetId') +
830 '/values/' +
831 commons.Escaper.ecapeVariable('$range');
799 832
800 var _response = _requester.request(_url, 833 var _response = _requester.request(_url, "PUT",
801 "PUT", 834 body: _body,
802 body: _body, 835 queryParams: _queryParams,
803 queryParams: _queryParams, 836 uploadOptions: _uploadOptions,
804 uploadOptions: _uploadOptions, 837 uploadMedia: _uploadMedia,
805 uploadMedia: _uploadMedia, 838 downloadOptions: _downloadOptions);
806 downloadOptions: _downloadOptions);
807 return _response.then((data) => new UpdateValuesResponse.fromJson(data)); 839 return _response.then((data) => new UpdateValuesResponse.fromJson(data));
808 } 840 }
809
810 } 841 }
811 842
812 843 /// Adds a new banded range to the spreadsheet.
813
814 /** Adds a new banded range to the spreadsheet. */
815 class AddBandingRequest { 844 class AddBandingRequest {
816 /** 845 /// The banded range to add. The bandedRangeId
817 * The banded range to add. The bandedRangeId 846 /// field is optional; if one is not set, an id will be randomly generated.
818 * field is optional; if one is not set, an id will be randomly generated. (It 847 /// (It
819 * is an error to specify the ID of a range that already exists.) 848 /// is an error to specify the ID of a range that already exists.)
820 */
821 BandedRange bandedRange; 849 BandedRange bandedRange;
822 850
823 AddBandingRequest(); 851 AddBandingRequest();
824 852
825 AddBandingRequest.fromJson(core.Map _json) { 853 AddBandingRequest.fromJson(core.Map _json) {
826 if (_json.containsKey("bandedRange")) { 854 if (_json.containsKey("bandedRange")) {
827 bandedRange = new BandedRange.fromJson(_json["bandedRange"]); 855 bandedRange = new BandedRange.fromJson(_json["bandedRange"]);
828 } 856 }
829 } 857 }
830 858
831 core.Map<core.String, core.Object> toJson() { 859 core.Map<core.String, core.Object> toJson() {
832 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 860 final core.Map<core.String, core.Object> _json =
861 new core.Map<core.String, core.Object>();
833 if (bandedRange != null) { 862 if (bandedRange != null) {
834 _json["bandedRange"] = (bandedRange).toJson(); 863 _json["bandedRange"] = (bandedRange).toJson();
835 } 864 }
836 return _json; 865 return _json;
837 } 866 }
838 } 867 }
839 868
840 /** The result of adding a banded range. */ 869 /// The result of adding a banded range.
841 class AddBandingResponse { 870 class AddBandingResponse {
842 /** The banded range that was added. */ 871 /// The banded range that was added.
843 BandedRange bandedRange; 872 BandedRange bandedRange;
844 873
845 AddBandingResponse(); 874 AddBandingResponse();
846 875
847 AddBandingResponse.fromJson(core.Map _json) { 876 AddBandingResponse.fromJson(core.Map _json) {
848 if (_json.containsKey("bandedRange")) { 877 if (_json.containsKey("bandedRange")) {
849 bandedRange = new BandedRange.fromJson(_json["bandedRange"]); 878 bandedRange = new BandedRange.fromJson(_json["bandedRange"]);
850 } 879 }
851 } 880 }
852 881
853 core.Map<core.String, core.Object> toJson() { 882 core.Map<core.String, core.Object> toJson() {
854 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 883 final core.Map<core.String, core.Object> _json =
884 new core.Map<core.String, core.Object>();
855 if (bandedRange != null) { 885 if (bandedRange != null) {
856 _json["bandedRange"] = (bandedRange).toJson(); 886 _json["bandedRange"] = (bandedRange).toJson();
857 } 887 }
858 return _json; 888 return _json;
859 } 889 }
860 } 890 }
861 891
862 /** Adds a chart to a sheet in the spreadsheet. */ 892 /// Adds a chart to a sheet in the spreadsheet.
863 class AddChartRequest { 893 class AddChartRequest {
864 /** 894 /// The chart that should be added to the spreadsheet, including the position
865 * The chart that should be added to the spreadsheet, including the position 895 /// where it should be placed. The chartId
866 * where it should be placed. The chartId 896 /// field is optional; if one is not set, an id will be randomly generated.
867 * field is optional; if one is not set, an id will be randomly generated. (It 897 /// (It
868 * is an error to specify the ID of a chart that already exists.) 898 /// is an error to specify the ID of a chart that already exists.)
869 */
870 EmbeddedChart chart; 899 EmbeddedChart chart;
871 900
872 AddChartRequest(); 901 AddChartRequest();
873 902
874 AddChartRequest.fromJson(core.Map _json) { 903 AddChartRequest.fromJson(core.Map _json) {
875 if (_json.containsKey("chart")) { 904 if (_json.containsKey("chart")) {
876 chart = new EmbeddedChart.fromJson(_json["chart"]); 905 chart = new EmbeddedChart.fromJson(_json["chart"]);
877 } 906 }
878 } 907 }
879 908
880 core.Map<core.String, core.Object> toJson() { 909 core.Map<core.String, core.Object> toJson() {
881 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 910 final core.Map<core.String, core.Object> _json =
911 new core.Map<core.String, core.Object>();
882 if (chart != null) { 912 if (chart != null) {
883 _json["chart"] = (chart).toJson(); 913 _json["chart"] = (chart).toJson();
884 } 914 }
885 return _json; 915 return _json;
886 } 916 }
887 } 917 }
888 918
889 /** The result of adding a chart to a spreadsheet. */ 919 /// The result of adding a chart to a spreadsheet.
890 class AddChartResponse { 920 class AddChartResponse {
891 /** The newly added chart. */ 921 /// The newly added chart.
892 EmbeddedChart chart; 922 EmbeddedChart chart;
893 923
894 AddChartResponse(); 924 AddChartResponse();
895 925
896 AddChartResponse.fromJson(core.Map _json) { 926 AddChartResponse.fromJson(core.Map _json) {
897 if (_json.containsKey("chart")) { 927 if (_json.containsKey("chart")) {
898 chart = new EmbeddedChart.fromJson(_json["chart"]); 928 chart = new EmbeddedChart.fromJson(_json["chart"]);
899 } 929 }
900 } 930 }
901 931
902 core.Map<core.String, core.Object> toJson() { 932 core.Map<core.String, core.Object> toJson() {
903 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 933 final core.Map<core.String, core.Object> _json =
934 new core.Map<core.String, core.Object>();
904 if (chart != null) { 935 if (chart != null) {
905 _json["chart"] = (chart).toJson(); 936 _json["chart"] = (chart).toJson();
906 } 937 }
907 return _json; 938 return _json;
908 } 939 }
909 } 940 }
910 941
911 /** 942 /// Adds a new conditional format rule at the given index.
912 * Adds a new conditional format rule at the given index. 943 /// All subsequent rules' indexes are incremented.
913 * All subsequent rules' indexes are incremented.
914 */
915 class AddConditionalFormatRuleRequest { 944 class AddConditionalFormatRuleRequest {
916 /** The zero-based index where the rule should be inserted. */ 945 /// The zero-based index where the rule should be inserted.
917 core.int index; 946 core.int index;
918 /** The rule to add. */ 947
948 /// The rule to add.
919 ConditionalFormatRule rule; 949 ConditionalFormatRule rule;
920 950
921 AddConditionalFormatRuleRequest(); 951 AddConditionalFormatRuleRequest();
922 952
923 AddConditionalFormatRuleRequest.fromJson(core.Map _json) { 953 AddConditionalFormatRuleRequest.fromJson(core.Map _json) {
924 if (_json.containsKey("index")) { 954 if (_json.containsKey("index")) {
925 index = _json["index"]; 955 index = _json["index"];
926 } 956 }
927 if (_json.containsKey("rule")) { 957 if (_json.containsKey("rule")) {
928 rule = new ConditionalFormatRule.fromJson(_json["rule"]); 958 rule = new ConditionalFormatRule.fromJson(_json["rule"]);
929 } 959 }
930 } 960 }
931 961
932 core.Map<core.String, core.Object> toJson() { 962 core.Map<core.String, core.Object> toJson() {
933 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 963 final core.Map<core.String, core.Object> _json =
964 new core.Map<core.String, core.Object>();
934 if (index != null) { 965 if (index != null) {
935 _json["index"] = index; 966 _json["index"] = index;
936 } 967 }
937 if (rule != null) { 968 if (rule != null) {
938 _json["rule"] = (rule).toJson(); 969 _json["rule"] = (rule).toJson();
939 } 970 }
940 return _json; 971 return _json;
941 } 972 }
942 } 973 }
943 974
944 /** Adds a filter view. */ 975 /// Adds a filter view.
945 class AddFilterViewRequest { 976 class AddFilterViewRequest {
946 /** 977 /// The filter to add. The filterViewId
947 * The filter to add. The filterViewId 978 /// field is optional; if one is not set, an id will be randomly generated.
948 * field is optional; if one is not set, an id will be randomly generated. (It 979 /// (It
949 * is an error to specify the ID of a filter that already exists.) 980 /// is an error to specify the ID of a filter that already exists.)
950 */
951 FilterView filter; 981 FilterView filter;
952 982
953 AddFilterViewRequest(); 983 AddFilterViewRequest();
954 984
955 AddFilterViewRequest.fromJson(core.Map _json) { 985 AddFilterViewRequest.fromJson(core.Map _json) {
956 if (_json.containsKey("filter")) { 986 if (_json.containsKey("filter")) {
957 filter = new FilterView.fromJson(_json["filter"]); 987 filter = new FilterView.fromJson(_json["filter"]);
958 } 988 }
959 } 989 }
960 990
961 core.Map<core.String, core.Object> toJson() { 991 core.Map<core.String, core.Object> toJson() {
962 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 992 final core.Map<core.String, core.Object> _json =
993 new core.Map<core.String, core.Object>();
963 if (filter != null) { 994 if (filter != null) {
964 _json["filter"] = (filter).toJson(); 995 _json["filter"] = (filter).toJson();
965 } 996 }
966 return _json; 997 return _json;
967 } 998 }
968 } 999 }
969 1000
970 /** The result of adding a filter view. */ 1001 /// The result of adding a filter view.
971 class AddFilterViewResponse { 1002 class AddFilterViewResponse {
972 /** The newly added filter view. */ 1003 /// The newly added filter view.
973 FilterView filter; 1004 FilterView filter;
974 1005
975 AddFilterViewResponse(); 1006 AddFilterViewResponse();
976 1007
977 AddFilterViewResponse.fromJson(core.Map _json) { 1008 AddFilterViewResponse.fromJson(core.Map _json) {
978 if (_json.containsKey("filter")) { 1009 if (_json.containsKey("filter")) {
979 filter = new FilterView.fromJson(_json["filter"]); 1010 filter = new FilterView.fromJson(_json["filter"]);
980 } 1011 }
981 } 1012 }
982 1013
983 core.Map<core.String, core.Object> toJson() { 1014 core.Map<core.String, core.Object> toJson() {
984 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1015 final core.Map<core.String, core.Object> _json =
1016 new core.Map<core.String, core.Object>();
985 if (filter != null) { 1017 if (filter != null) {
986 _json["filter"] = (filter).toJson(); 1018 _json["filter"] = (filter).toJson();
987 } 1019 }
988 return _json; 1020 return _json;
989 } 1021 }
990 } 1022 }
991 1023
992 /** Adds a named range to the spreadsheet. */ 1024 /// Adds a named range to the spreadsheet.
993 class AddNamedRangeRequest { 1025 class AddNamedRangeRequest {
994 /** 1026 /// The named range to add. The namedRangeId
995 * The named range to add. The namedRangeId 1027 /// field is optional; if one is not set, an id will be randomly generated.
996 * field is optional; if one is not set, an id will be randomly generated. (It 1028 /// (It
997 * is an error to specify the ID of a range that already exists.) 1029 /// is an error to specify the ID of a range that already exists.)
998 */
999 NamedRange namedRange; 1030 NamedRange namedRange;
1000 1031
1001 AddNamedRangeRequest(); 1032 AddNamedRangeRequest();
1002 1033
1003 AddNamedRangeRequest.fromJson(core.Map _json) { 1034 AddNamedRangeRequest.fromJson(core.Map _json) {
1004 if (_json.containsKey("namedRange")) { 1035 if (_json.containsKey("namedRange")) {
1005 namedRange = new NamedRange.fromJson(_json["namedRange"]); 1036 namedRange = new NamedRange.fromJson(_json["namedRange"]);
1006 } 1037 }
1007 } 1038 }
1008 1039
1009 core.Map<core.String, core.Object> toJson() { 1040 core.Map<core.String, core.Object> toJson() {
1010 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1041 final core.Map<core.String, core.Object> _json =
1042 new core.Map<core.String, core.Object>();
1011 if (namedRange != null) { 1043 if (namedRange != null) {
1012 _json["namedRange"] = (namedRange).toJson(); 1044 _json["namedRange"] = (namedRange).toJson();
1013 } 1045 }
1014 return _json; 1046 return _json;
1015 } 1047 }
1016 } 1048 }
1017 1049
1018 /** The result of adding a named range. */ 1050 /// The result of adding a named range.
1019 class AddNamedRangeResponse { 1051 class AddNamedRangeResponse {
1020 /** The named range to add. */ 1052 /// The named range to add.
1021 NamedRange namedRange; 1053 NamedRange namedRange;
1022 1054
1023 AddNamedRangeResponse(); 1055 AddNamedRangeResponse();
1024 1056
1025 AddNamedRangeResponse.fromJson(core.Map _json) { 1057 AddNamedRangeResponse.fromJson(core.Map _json) {
1026 if (_json.containsKey("namedRange")) { 1058 if (_json.containsKey("namedRange")) {
1027 namedRange = new NamedRange.fromJson(_json["namedRange"]); 1059 namedRange = new NamedRange.fromJson(_json["namedRange"]);
1028 } 1060 }
1029 } 1061 }
1030 1062
1031 core.Map<core.String, core.Object> toJson() { 1063 core.Map<core.String, core.Object> toJson() {
1032 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1064 final core.Map<core.String, core.Object> _json =
1065 new core.Map<core.String, core.Object>();
1033 if (namedRange != null) { 1066 if (namedRange != null) {
1034 _json["namedRange"] = (namedRange).toJson(); 1067 _json["namedRange"] = (namedRange).toJson();
1035 } 1068 }
1036 return _json; 1069 return _json;
1037 } 1070 }
1038 } 1071 }
1039 1072
1040 /** Adds a new protected range. */ 1073 /// Adds a new protected range.
1041 class AddProtectedRangeRequest { 1074 class AddProtectedRangeRequest {
1042 /** 1075 /// The protected range to be added. The
1043 * The protected range to be added. The 1076 /// protectedRangeId field is optional; if
1044 * protectedRangeId field is optional; if 1077 /// one is not set, an id will be randomly generated. (It is an error to
1045 * one is not set, an id will be randomly generated. (It is an error to 1078 /// specify the ID of a range that already exists.)
1046 * specify the ID of a range that already exists.)
1047 */
1048 ProtectedRange protectedRange; 1079 ProtectedRange protectedRange;
1049 1080
1050 AddProtectedRangeRequest(); 1081 AddProtectedRangeRequest();
1051 1082
1052 AddProtectedRangeRequest.fromJson(core.Map _json) { 1083 AddProtectedRangeRequest.fromJson(core.Map _json) {
1053 if (_json.containsKey("protectedRange")) { 1084 if (_json.containsKey("protectedRange")) {
1054 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]); 1085 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]);
1055 } 1086 }
1056 } 1087 }
1057 1088
1058 core.Map<core.String, core.Object> toJson() { 1089 core.Map<core.String, core.Object> toJson() {
1059 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1090 final core.Map<core.String, core.Object> _json =
1091 new core.Map<core.String, core.Object>();
1060 if (protectedRange != null) { 1092 if (protectedRange != null) {
1061 _json["protectedRange"] = (protectedRange).toJson(); 1093 _json["protectedRange"] = (protectedRange).toJson();
1062 } 1094 }
1063 return _json; 1095 return _json;
1064 } 1096 }
1065 } 1097 }
1066 1098
1067 /** The result of adding a new protected range. */ 1099 /// The result of adding a new protected range.
1068 class AddProtectedRangeResponse { 1100 class AddProtectedRangeResponse {
1069 /** The newly added protected range. */ 1101 /// The newly added protected range.
1070 ProtectedRange protectedRange; 1102 ProtectedRange protectedRange;
1071 1103
1072 AddProtectedRangeResponse(); 1104 AddProtectedRangeResponse();
1073 1105
1074 AddProtectedRangeResponse.fromJson(core.Map _json) { 1106 AddProtectedRangeResponse.fromJson(core.Map _json) {
1075 if (_json.containsKey("protectedRange")) { 1107 if (_json.containsKey("protectedRange")) {
1076 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]); 1108 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]);
1077 } 1109 }
1078 } 1110 }
1079 1111
1080 core.Map<core.String, core.Object> toJson() { 1112 core.Map<core.String, core.Object> toJson() {
1081 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1113 final core.Map<core.String, core.Object> _json =
1114 new core.Map<core.String, core.Object>();
1082 if (protectedRange != null) { 1115 if (protectedRange != null) {
1083 _json["protectedRange"] = (protectedRange).toJson(); 1116 _json["protectedRange"] = (protectedRange).toJson();
1084 } 1117 }
1085 return _json; 1118 return _json;
1086 } 1119 }
1087 } 1120 }
1088 1121
1089 /** 1122 /// Adds a new sheet.
1090 * Adds a new sheet. 1123 /// When a sheet is added at a given index,
1091 * When a sheet is added at a given index, 1124 /// all subsequent sheets' indexes are incremented.
1092 * all subsequent sheets' indexes are incremented. 1125 /// To add an object sheet, use AddChartRequest instead and specify
1093 * To add an object sheet, use AddChartRequest instead and specify 1126 /// EmbeddedObjectPosition.sheetId or
1094 * EmbeddedObjectPosition.sheetId or 1127 /// EmbeddedObjectPosition.newSheet.
1095 * EmbeddedObjectPosition.newSheet.
1096 */
1097 class AddSheetRequest { 1128 class AddSheetRequest {
1098 /** 1129 /// The properties the new sheet should have.
1099 * The properties the new sheet should have. 1130 /// All properties are optional.
1100 * All properties are optional. 1131 /// The sheetId field is optional; if one is not
1101 * The sheetId field is optional; if one is not 1132 /// set, an id will be randomly generated. (It is an error to specify the ID
1102 * set, an id will be randomly generated. (It is an error to specify the ID 1133 /// of a sheet that already exists.)
1103 * of a sheet that already exists.)
1104 */
1105 SheetProperties properties; 1134 SheetProperties properties;
1106 1135
1107 AddSheetRequest(); 1136 AddSheetRequest();
1108 1137
1109 AddSheetRequest.fromJson(core.Map _json) { 1138 AddSheetRequest.fromJson(core.Map _json) {
1110 if (_json.containsKey("properties")) { 1139 if (_json.containsKey("properties")) {
1111 properties = new SheetProperties.fromJson(_json["properties"]); 1140 properties = new SheetProperties.fromJson(_json["properties"]);
1112 } 1141 }
1113 } 1142 }
1114 1143
1115 core.Map<core.String, core.Object> toJson() { 1144 core.Map<core.String, core.Object> toJson() {
1116 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1145 final core.Map<core.String, core.Object> _json =
1146 new core.Map<core.String, core.Object>();
1117 if (properties != null) { 1147 if (properties != null) {
1118 _json["properties"] = (properties).toJson(); 1148 _json["properties"] = (properties).toJson();
1119 } 1149 }
1120 return _json; 1150 return _json;
1121 } 1151 }
1122 } 1152 }
1123 1153
1124 /** The result of adding a sheet. */ 1154 /// The result of adding a sheet.
1125 class AddSheetResponse { 1155 class AddSheetResponse {
1126 /** The properties of the newly added sheet. */ 1156 /// The properties of the newly added sheet.
1127 SheetProperties properties; 1157 SheetProperties properties;
1128 1158
1129 AddSheetResponse(); 1159 AddSheetResponse();
1130 1160
1131 AddSheetResponse.fromJson(core.Map _json) { 1161 AddSheetResponse.fromJson(core.Map _json) {
1132 if (_json.containsKey("properties")) { 1162 if (_json.containsKey("properties")) {
1133 properties = new SheetProperties.fromJson(_json["properties"]); 1163 properties = new SheetProperties.fromJson(_json["properties"]);
1134 } 1164 }
1135 } 1165 }
1136 1166
1137 core.Map<core.String, core.Object> toJson() { 1167 core.Map<core.String, core.Object> toJson() {
1138 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1168 final core.Map<core.String, core.Object> _json =
1169 new core.Map<core.String, core.Object>();
1139 if (properties != null) { 1170 if (properties != null) {
1140 _json["properties"] = (properties).toJson(); 1171 _json["properties"] = (properties).toJson();
1141 } 1172 }
1142 return _json; 1173 return _json;
1143 } 1174 }
1144 } 1175 }
1145 1176
1146 /** 1177 /// Adds new cells after the last row with data in a sheet,
1147 * Adds new cells after the last row with data in a sheet, 1178 /// inserting new rows into the sheet if necessary.
1148 * inserting new rows into the sheet if necessary.
1149 */
1150 class AppendCellsRequest { 1179 class AppendCellsRequest {
1151 /** 1180 /// The fields of CellData that should be updated.
1152 * The fields of CellData that should be updated. 1181 /// At least one field must be specified.
1153 * At least one field must be specified. 1182 /// The root is the CellData; 'row.values.' should not be specified.
1154 * The root is the CellData; 'row.values.' should not be specified. 1183 /// A single `"*"` can be used as short-hand for listing every field.
1155 * A single `"*"` can be used as short-hand for listing every field.
1156 */
1157 core.String fields; 1184 core.String fields;
1158 /** The data to append. */ 1185
1186 /// The data to append.
1159 core.List<RowData> rows; 1187 core.List<RowData> rows;
1160 /** The sheet ID to append the data to. */ 1188
1189 /// The sheet ID to append the data to.
1161 core.int sheetId; 1190 core.int sheetId;
1162 1191
1163 AppendCellsRequest(); 1192 AppendCellsRequest();
1164 1193
1165 AppendCellsRequest.fromJson(core.Map _json) { 1194 AppendCellsRequest.fromJson(core.Map _json) {
1166 if (_json.containsKey("fields")) { 1195 if (_json.containsKey("fields")) {
1167 fields = _json["fields"]; 1196 fields = _json["fields"];
1168 } 1197 }
1169 if (_json.containsKey("rows")) { 1198 if (_json.containsKey("rows")) {
1170 rows = _json["rows"].map((value) => new RowData.fromJson(value)).toList(); 1199 rows = _json["rows"].map((value) => new RowData.fromJson(value)).toList();
1171 } 1200 }
1172 if (_json.containsKey("sheetId")) { 1201 if (_json.containsKey("sheetId")) {
1173 sheetId = _json["sheetId"]; 1202 sheetId = _json["sheetId"];
1174 } 1203 }
1175 } 1204 }
1176 1205
1177 core.Map<core.String, core.Object> toJson() { 1206 core.Map<core.String, core.Object> toJson() {
1178 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1207 final core.Map<core.String, core.Object> _json =
1208 new core.Map<core.String, core.Object>();
1179 if (fields != null) { 1209 if (fields != null) {
1180 _json["fields"] = fields; 1210 _json["fields"] = fields;
1181 } 1211 }
1182 if (rows != null) { 1212 if (rows != null) {
1183 _json["rows"] = rows.map((value) => (value).toJson()).toList(); 1213 _json["rows"] = rows.map((value) => (value).toJson()).toList();
1184 } 1214 }
1185 if (sheetId != null) { 1215 if (sheetId != null) {
1186 _json["sheetId"] = sheetId; 1216 _json["sheetId"] = sheetId;
1187 } 1217 }
1188 return _json; 1218 return _json;
1189 } 1219 }
1190 } 1220 }
1191 1221
1192 /** Appends rows or columns to the end of a sheet. */ 1222 /// Appends rows or columns to the end of a sheet.
1193 class AppendDimensionRequest { 1223 class AppendDimensionRequest {
1194 /** 1224 /// Whether rows or columns should be appended.
1195 * Whether rows or columns should be appended. 1225 /// Possible string values are:
1196 * Possible string values are: 1226 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
1197 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 1227 /// - "ROWS" : Operates on the rows of a sheet.
1198 * - "ROWS" : Operates on the rows of a sheet. 1228 /// - "COLUMNS" : Operates on the columns of a sheet.
1199 * - "COLUMNS" : Operates on the columns of a sheet.
1200 */
1201 core.String dimension; 1229 core.String dimension;
1202 /** The number of rows or columns to append. */ 1230
1231 /// The number of rows or columns to append.
1203 core.int length; 1232 core.int length;
1204 /** The sheet to append rows or columns to. */ 1233
1234 /// The sheet to append rows or columns to.
1205 core.int sheetId; 1235 core.int sheetId;
1206 1236
1207 AppendDimensionRequest(); 1237 AppendDimensionRequest();
1208 1238
1209 AppendDimensionRequest.fromJson(core.Map _json) { 1239 AppendDimensionRequest.fromJson(core.Map _json) {
1210 if (_json.containsKey("dimension")) { 1240 if (_json.containsKey("dimension")) {
1211 dimension = _json["dimension"]; 1241 dimension = _json["dimension"];
1212 } 1242 }
1213 if (_json.containsKey("length")) { 1243 if (_json.containsKey("length")) {
1214 length = _json["length"]; 1244 length = _json["length"];
1215 } 1245 }
1216 if (_json.containsKey("sheetId")) { 1246 if (_json.containsKey("sheetId")) {
1217 sheetId = _json["sheetId"]; 1247 sheetId = _json["sheetId"];
1218 } 1248 }
1219 } 1249 }
1220 1250
1221 core.Map<core.String, core.Object> toJson() { 1251 core.Map<core.String, core.Object> toJson() {
1222 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1252 final core.Map<core.String, core.Object> _json =
1253 new core.Map<core.String, core.Object>();
1223 if (dimension != null) { 1254 if (dimension != null) {
1224 _json["dimension"] = dimension; 1255 _json["dimension"] = dimension;
1225 } 1256 }
1226 if (length != null) { 1257 if (length != null) {
1227 _json["length"] = length; 1258 _json["length"] = length;
1228 } 1259 }
1229 if (sheetId != null) { 1260 if (sheetId != null) {
1230 _json["sheetId"] = sheetId; 1261 _json["sheetId"] = sheetId;
1231 } 1262 }
1232 return _json; 1263 return _json;
1233 } 1264 }
1234 } 1265 }
1235 1266
1236 /** The response when updating a range of values in a spreadsheet. */ 1267 /// The response when updating a range of values in a spreadsheet.
1237 class AppendValuesResponse { 1268 class AppendValuesResponse {
1238 /** The spreadsheet the updates were applied to. */ 1269 /// The spreadsheet the updates were applied to.
1239 core.String spreadsheetId; 1270 core.String spreadsheetId;
1240 /** 1271
1241 * The range (in A1 notation) of the table that values are being appended to 1272 /// The range (in A1 notation) of the table that values are being appended to
1242 * (before the values were appended). 1273 /// (before the values were appended).
1243 * Empty if no table was found. 1274 /// Empty if no table was found.
1244 */
1245 core.String tableRange; 1275 core.String tableRange;
1246 /** Information about the updates that were applied. */ 1276
1277 /// Information about the updates that were applied.
1247 UpdateValuesResponse updates; 1278 UpdateValuesResponse updates;
1248 1279
1249 AppendValuesResponse(); 1280 AppendValuesResponse();
1250 1281
1251 AppendValuesResponse.fromJson(core.Map _json) { 1282 AppendValuesResponse.fromJson(core.Map _json) {
1252 if (_json.containsKey("spreadsheetId")) { 1283 if (_json.containsKey("spreadsheetId")) {
1253 spreadsheetId = _json["spreadsheetId"]; 1284 spreadsheetId = _json["spreadsheetId"];
1254 } 1285 }
1255 if (_json.containsKey("tableRange")) { 1286 if (_json.containsKey("tableRange")) {
1256 tableRange = _json["tableRange"]; 1287 tableRange = _json["tableRange"];
1257 } 1288 }
1258 if (_json.containsKey("updates")) { 1289 if (_json.containsKey("updates")) {
1259 updates = new UpdateValuesResponse.fromJson(_json["updates"]); 1290 updates = new UpdateValuesResponse.fromJson(_json["updates"]);
1260 } 1291 }
1261 } 1292 }
1262 1293
1263 core.Map<core.String, core.Object> toJson() { 1294 core.Map<core.String, core.Object> toJson() {
1264 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1295 final core.Map<core.String, core.Object> _json =
1296 new core.Map<core.String, core.Object>();
1265 if (spreadsheetId != null) { 1297 if (spreadsheetId != null) {
1266 _json["spreadsheetId"] = spreadsheetId; 1298 _json["spreadsheetId"] = spreadsheetId;
1267 } 1299 }
1268 if (tableRange != null) { 1300 if (tableRange != null) {
1269 _json["tableRange"] = tableRange; 1301 _json["tableRange"] = tableRange;
1270 } 1302 }
1271 if (updates != null) { 1303 if (updates != null) {
1272 _json["updates"] = (updates).toJson(); 1304 _json["updates"] = (updates).toJson();
1273 } 1305 }
1274 return _json; 1306 return _json;
1275 } 1307 }
1276 } 1308 }
1277 1309
1278 /** Fills in more data based on existing data. */ 1310 /// Fills in more data based on existing data.
1279 class AutoFillRequest { 1311 class AutoFillRequest {
1280 /** 1312 /// The range to autofill. This will examine the range and detect
1281 * The range to autofill. This will examine the range and detect 1313 /// the location that has data and automatically fill that data
1282 * the location that has data and automatically fill that data 1314 /// in to the rest of the range.
1283 * in to the rest of the range.
1284 */
1285 GridRange range; 1315 GridRange range;
1286 /** 1316
1287 * The source and destination areas to autofill. 1317 /// The source and destination areas to autofill.
1288 * This explicitly lists the source of the autofill and where to 1318 /// This explicitly lists the source of the autofill and where to
1289 * extend that data. 1319 /// extend that data.
1290 */
1291 SourceAndDestination sourceAndDestination; 1320 SourceAndDestination sourceAndDestination;
1292 /** 1321
1293 * True if we should generate data with the "alternate" series. 1322 /// True if we should generate data with the "alternate" series.
1294 * This differs based on the type and amount of source data. 1323 /// This differs based on the type and amount of source data.
1295 */
1296 core.bool useAlternateSeries; 1324 core.bool useAlternateSeries;
1297 1325
1298 AutoFillRequest(); 1326 AutoFillRequest();
1299 1327
1300 AutoFillRequest.fromJson(core.Map _json) { 1328 AutoFillRequest.fromJson(core.Map _json) {
1301 if (_json.containsKey("range")) { 1329 if (_json.containsKey("range")) {
1302 range = new GridRange.fromJson(_json["range"]); 1330 range = new GridRange.fromJson(_json["range"]);
1303 } 1331 }
1304 if (_json.containsKey("sourceAndDestination")) { 1332 if (_json.containsKey("sourceAndDestination")) {
1305 sourceAndDestination = new SourceAndDestination.fromJson(_json["sourceAndD estination"]); 1333 sourceAndDestination =
1334 new SourceAndDestination.fromJson(_json["sourceAndDestination"]);
1306 } 1335 }
1307 if (_json.containsKey("useAlternateSeries")) { 1336 if (_json.containsKey("useAlternateSeries")) {
1308 useAlternateSeries = _json["useAlternateSeries"]; 1337 useAlternateSeries = _json["useAlternateSeries"];
1309 } 1338 }
1310 } 1339 }
1311 1340
1312 core.Map<core.String, core.Object> toJson() { 1341 core.Map<core.String, core.Object> toJson() {
1313 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1342 final core.Map<core.String, core.Object> _json =
1343 new core.Map<core.String, core.Object>();
1314 if (range != null) { 1344 if (range != null) {
1315 _json["range"] = (range).toJson(); 1345 _json["range"] = (range).toJson();
1316 } 1346 }
1317 if (sourceAndDestination != null) { 1347 if (sourceAndDestination != null) {
1318 _json["sourceAndDestination"] = (sourceAndDestination).toJson(); 1348 _json["sourceAndDestination"] = (sourceAndDestination).toJson();
1319 } 1349 }
1320 if (useAlternateSeries != null) { 1350 if (useAlternateSeries != null) {
1321 _json["useAlternateSeries"] = useAlternateSeries; 1351 _json["useAlternateSeries"] = useAlternateSeries;
1322 } 1352 }
1323 return _json; 1353 return _json;
1324 } 1354 }
1325 } 1355 }
1326 1356
1327 /** 1357 /// Automatically resizes one or more dimensions based on the contents
1328 * Automatically resizes one or more dimensions based on the contents 1358 /// of the cells in that dimension.
1329 * of the cells in that dimension.
1330 */
1331 class AutoResizeDimensionsRequest { 1359 class AutoResizeDimensionsRequest {
1332 /** 1360 /// The dimensions to automatically resize.
1333 * The dimensions to automatically resize.
1334 * Only COLUMNS are supported.
1335 */
1336 DimensionRange dimensions; 1361 DimensionRange dimensions;
1337 1362
1338 AutoResizeDimensionsRequest(); 1363 AutoResizeDimensionsRequest();
1339 1364
1340 AutoResizeDimensionsRequest.fromJson(core.Map _json) { 1365 AutoResizeDimensionsRequest.fromJson(core.Map _json) {
1341 if (_json.containsKey("dimensions")) { 1366 if (_json.containsKey("dimensions")) {
1342 dimensions = new DimensionRange.fromJson(_json["dimensions"]); 1367 dimensions = new DimensionRange.fromJson(_json["dimensions"]);
1343 } 1368 }
1344 } 1369 }
1345 1370
1346 core.Map<core.String, core.Object> toJson() { 1371 core.Map<core.String, core.Object> toJson() {
1347 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1372 final core.Map<core.String, core.Object> _json =
1373 new core.Map<core.String, core.Object>();
1348 if (dimensions != null) { 1374 if (dimensions != null) {
1349 _json["dimensions"] = (dimensions).toJson(); 1375 _json["dimensions"] = (dimensions).toJson();
1350 } 1376 }
1351 return _json; 1377 return _json;
1352 } 1378 }
1353 } 1379 }
1354 1380
1355 /** A banded (alternating colors) range in a sheet. */ 1381 /// A banded (alternating colors) range in a sheet.
1356 class BandedRange { 1382 class BandedRange {
1357 /** The id of the banded range. */ 1383 /// The id of the banded range.
1358 core.int bandedRangeId; 1384 core.int bandedRangeId;
1359 /** 1385
1360 * Properties for column bands. These properties will be applied on a column- 1386 /// Properties for column bands. These properties will be applied on a
1361 * by-column basis throughout all the columns in the range. At least one of 1387 /// column-
1362 * row_properties or column_properties must be specified. 1388 /// by-column basis throughout all the columns in the range. At least one of
1363 */ 1389 /// row_properties or column_properties must be specified.
1364 BandingProperties columnProperties; 1390 BandingProperties columnProperties;
1365 /** The range over which these properties are applied. */ 1391
1392 /// The range over which these properties are applied.
1366 GridRange range; 1393 GridRange range;
1367 /** 1394
1368 * Properties for row bands. These properties will be applied on a row-by-row 1395 /// Properties for row bands. These properties will be applied on a
1369 * basis throughout all the rows in the range. At least one of 1396 /// row-by-row
1370 * row_properties or column_properties must be specified. 1397 /// basis throughout all the rows in the range. At least one of
1371 */ 1398 /// row_properties or column_properties must be specified.
1372 BandingProperties rowProperties; 1399 BandingProperties rowProperties;
1373 1400
1374 BandedRange(); 1401 BandedRange();
1375 1402
1376 BandedRange.fromJson(core.Map _json) { 1403 BandedRange.fromJson(core.Map _json) {
1377 if (_json.containsKey("bandedRangeId")) { 1404 if (_json.containsKey("bandedRangeId")) {
1378 bandedRangeId = _json["bandedRangeId"]; 1405 bandedRangeId = _json["bandedRangeId"];
1379 } 1406 }
1380 if (_json.containsKey("columnProperties")) { 1407 if (_json.containsKey("columnProperties")) {
1381 columnProperties = new BandingProperties.fromJson(_json["columnProperties" ]); 1408 columnProperties =
1409 new BandingProperties.fromJson(_json["columnProperties"]);
1382 } 1410 }
1383 if (_json.containsKey("range")) { 1411 if (_json.containsKey("range")) {
1384 range = new GridRange.fromJson(_json["range"]); 1412 range = new GridRange.fromJson(_json["range"]);
1385 } 1413 }
1386 if (_json.containsKey("rowProperties")) { 1414 if (_json.containsKey("rowProperties")) {
1387 rowProperties = new BandingProperties.fromJson(_json["rowProperties"]); 1415 rowProperties = new BandingProperties.fromJson(_json["rowProperties"]);
1388 } 1416 }
1389 } 1417 }
1390 1418
1391 core.Map<core.String, core.Object> toJson() { 1419 core.Map<core.String, core.Object> toJson() {
1392 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1420 final core.Map<core.String, core.Object> _json =
1421 new core.Map<core.String, core.Object>();
1393 if (bandedRangeId != null) { 1422 if (bandedRangeId != null) {
1394 _json["bandedRangeId"] = bandedRangeId; 1423 _json["bandedRangeId"] = bandedRangeId;
1395 } 1424 }
1396 if (columnProperties != null) { 1425 if (columnProperties != null) {
1397 _json["columnProperties"] = (columnProperties).toJson(); 1426 _json["columnProperties"] = (columnProperties).toJson();
1398 } 1427 }
1399 if (range != null) { 1428 if (range != null) {
1400 _json["range"] = (range).toJson(); 1429 _json["range"] = (range).toJson();
1401 } 1430 }
1402 if (rowProperties != null) { 1431 if (rowProperties != null) {
1403 _json["rowProperties"] = (rowProperties).toJson(); 1432 _json["rowProperties"] = (rowProperties).toJson();
1404 } 1433 }
1405 return _json; 1434 return _json;
1406 } 1435 }
1407 } 1436 }
1408 1437
1409 /** 1438 /// Properties referring a single dimension (either row or column). If both
1410 * Properties referring a single dimension (either row or column). If both 1439 /// BandedRange.row_properties and BandedRange.column_properties are
1411 * BandedRange.row_properties and BandedRange.column_properties are 1440 /// set, the fill colors are applied to cells according to the following rules:
1412 * set, the fill colors are applied to cells according to the following rules: 1441 ///
1413 * 1442 /// * header_color and footer_color take priority over band colors.
1414 * * header_color and footer_color take priority over band colors. 1443 /// * first_band_color takes priority over second_band_color.
1415 * * first_band_color takes priority over second_band_color. 1444 /// * row_properties takes priority over column_properties.
1416 * * row_properties takes priority over column_properties. 1445 ///
1417 * 1446 /// For example, the first row color takes priority over the first column
1418 * For example, the first row color takes priority over the first column 1447 /// color, but the first column color takes priority over the second row color.
1419 * color, but the first column color takes priority over the second row color. 1448 /// Similarly, the row header takes priority over the column header in the
1420 * Similarly, the row header takes priority over the column header in the 1449 /// top left cell, but the column header takes priority over the first row
1421 * top left cell, but the column header takes priority over the first row 1450 /// color if the row header is not set.
1422 * color if the row header is not set.
1423 */
1424 class BandingProperties { 1451 class BandingProperties {
1425 /** The first color that is alternating. (Required) */ 1452 /// The first color that is alternating. (Required)
1426 Color firstBandColor; 1453 Color firstBandColor;
1427 /** 1454
1428 * The color of the last row or column. If this field is not set, the last 1455 /// The color of the last row or column. If this field is not set, the last
1429 * row or column will be filled with either first_band_color or 1456 /// row or column will be filled with either first_band_color or
1430 * second_band_color, depending on the color of the previous row or 1457 /// second_band_color, depending on the color of the previous row or
1431 * column. 1458 /// column.
1432 */
1433 Color footerColor; 1459 Color footerColor;
1434 /** 1460
1435 * The color of the first row or column. If this field is set, the first 1461 /// The color of the first row or column. If this field is set, the first
1436 * row or column will be filled with this color and the colors will 1462 /// row or column will be filled with this color and the colors will
1437 * alternate between first_band_color and second_band_color starting 1463 /// alternate between first_band_color and second_band_color starting
1438 * from the second row or column. Otherwise, the first row or column will be 1464 /// from the second row or column. Otherwise, the first row or column will be
1439 * filled with first_band_color and the colors will proceed to alternate 1465 /// filled with first_band_color and the colors will proceed to alternate
1440 * as they normally would. 1466 /// as they normally would.
1441 */
1442 Color headerColor; 1467 Color headerColor;
1443 /** The second color that is alternating. (Required) */ 1468
1469 /// The second color that is alternating. (Required)
1444 Color secondBandColor; 1470 Color secondBandColor;
1445 1471
1446 BandingProperties(); 1472 BandingProperties();
1447 1473
1448 BandingProperties.fromJson(core.Map _json) { 1474 BandingProperties.fromJson(core.Map _json) {
1449 if (_json.containsKey("firstBandColor")) { 1475 if (_json.containsKey("firstBandColor")) {
1450 firstBandColor = new Color.fromJson(_json["firstBandColor"]); 1476 firstBandColor = new Color.fromJson(_json["firstBandColor"]);
1451 } 1477 }
1452 if (_json.containsKey("footerColor")) { 1478 if (_json.containsKey("footerColor")) {
1453 footerColor = new Color.fromJson(_json["footerColor"]); 1479 footerColor = new Color.fromJson(_json["footerColor"]);
1454 } 1480 }
1455 if (_json.containsKey("headerColor")) { 1481 if (_json.containsKey("headerColor")) {
1456 headerColor = new Color.fromJson(_json["headerColor"]); 1482 headerColor = new Color.fromJson(_json["headerColor"]);
1457 } 1483 }
1458 if (_json.containsKey("secondBandColor")) { 1484 if (_json.containsKey("secondBandColor")) {
1459 secondBandColor = new Color.fromJson(_json["secondBandColor"]); 1485 secondBandColor = new Color.fromJson(_json["secondBandColor"]);
1460 } 1486 }
1461 } 1487 }
1462 1488
1463 core.Map<core.String, core.Object> toJson() { 1489 core.Map<core.String, core.Object> toJson() {
1464 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1490 final core.Map<core.String, core.Object> _json =
1491 new core.Map<core.String, core.Object>();
1465 if (firstBandColor != null) { 1492 if (firstBandColor != null) {
1466 _json["firstBandColor"] = (firstBandColor).toJson(); 1493 _json["firstBandColor"] = (firstBandColor).toJson();
1467 } 1494 }
1468 if (footerColor != null) { 1495 if (footerColor != null) {
1469 _json["footerColor"] = (footerColor).toJson(); 1496 _json["footerColor"] = (footerColor).toJson();
1470 } 1497 }
1471 if (headerColor != null) { 1498 if (headerColor != null) {
1472 _json["headerColor"] = (headerColor).toJson(); 1499 _json["headerColor"] = (headerColor).toJson();
1473 } 1500 }
1474 if (secondBandColor != null) { 1501 if (secondBandColor != null) {
1475 _json["secondBandColor"] = (secondBandColor).toJson(); 1502 _json["secondBandColor"] = (secondBandColor).toJson();
1476 } 1503 }
1477 return _json; 1504 return _json;
1478 } 1505 }
1479 } 1506 }
1480 1507
1481 /** 1508 /// An axis of the chart.
1482 * An axis of the chart. 1509 /// A chart may not have more than one axis per
1483 * A chart may not have more than one axis per 1510 /// axis position.
1484 * axis position.
1485 */
1486 class BasicChartAxis { 1511 class BasicChartAxis {
1487 /** 1512 /// The format of the title.
1488 * The format of the title. 1513 /// Only valid if the axis is not associated with the domain.
1489 * Only valid if the axis is not associated with the domain.
1490 */
1491 TextFormat format; 1514 TextFormat format;
1492 /** 1515
1493 * The position of this axis. 1516 /// The position of this axis.
1494 * Possible string values are: 1517 /// Possible string values are:
1495 * - "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" : Default value, do not use. 1518 /// - "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" : Default value, do not use.
1496 * - "BOTTOM_AXIS" : The axis rendered at the bottom of a chart. 1519 /// - "BOTTOM_AXIS" : The axis rendered at the bottom of a chart.
1497 * For most charts, this is the standard major axis. 1520 /// For most charts, this is the standard major axis.
1498 * For bar charts, this is a minor axis. 1521 /// For bar charts, this is a minor axis.
1499 * - "LEFT_AXIS" : The axis rendered at the left of a chart. 1522 /// - "LEFT_AXIS" : The axis rendered at the left of a chart.
1500 * For most charts, this is a minor axis. 1523 /// For most charts, this is a minor axis.
1501 * For bar charts, this is the standard major axis. 1524 /// For bar charts, this is the standard major axis.
1502 * - "RIGHT_AXIS" : The axis rendered at the right of a chart. 1525 /// - "RIGHT_AXIS" : The axis rendered at the right of a chart.
1503 * For most charts, this is a minor axis. 1526 /// For most charts, this is a minor axis.
1504 * For bar charts, this is an unusual major axis. 1527 /// For bar charts, this is an unusual major axis.
1505 */
1506 core.String position; 1528 core.String position;
1507 /** 1529
1508 * The title of this axis. If set, this overrides any title inferred 1530 /// The title of this axis. If set, this overrides any title inferred
1509 * from headers of the data. 1531 /// from headers of the data.
1510 */
1511 core.String title; 1532 core.String title;
1512 1533
1513 BasicChartAxis(); 1534 BasicChartAxis();
1514 1535
1515 BasicChartAxis.fromJson(core.Map _json) { 1536 BasicChartAxis.fromJson(core.Map _json) {
1516 if (_json.containsKey("format")) { 1537 if (_json.containsKey("format")) {
1517 format = new TextFormat.fromJson(_json["format"]); 1538 format = new TextFormat.fromJson(_json["format"]);
1518 } 1539 }
1519 if (_json.containsKey("position")) { 1540 if (_json.containsKey("position")) {
1520 position = _json["position"]; 1541 position = _json["position"];
1521 } 1542 }
1522 if (_json.containsKey("title")) { 1543 if (_json.containsKey("title")) {
1523 title = _json["title"]; 1544 title = _json["title"];
1524 } 1545 }
1525 } 1546 }
1526 1547
1527 core.Map<core.String, core.Object> toJson() { 1548 core.Map<core.String, core.Object> toJson() {
1528 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1549 final core.Map<core.String, core.Object> _json =
1550 new core.Map<core.String, core.Object>();
1529 if (format != null) { 1551 if (format != null) {
1530 _json["format"] = (format).toJson(); 1552 _json["format"] = (format).toJson();
1531 } 1553 }
1532 if (position != null) { 1554 if (position != null) {
1533 _json["position"] = position; 1555 _json["position"] = position;
1534 } 1556 }
1535 if (title != null) { 1557 if (title != null) {
1536 _json["title"] = title; 1558 _json["title"] = title;
1537 } 1559 }
1538 return _json; 1560 return _json;
1539 } 1561 }
1540 } 1562 }
1541 1563
1542 /** 1564 /// The domain of a chart.
1543 * The domain of a chart. 1565 /// For example, if charting stock prices over time, this would be the date.
1544 * For example, if charting stock prices over time, this would be the date.
1545 */
1546 class BasicChartDomain { 1566 class BasicChartDomain {
1547 /** 1567 /// The data of the domain. For example, if charting stock prices over time,
1548 * The data of the domain. For example, if charting stock prices over time, 1568 /// this is the data representing the dates.
1549 * this is the data representing the dates.
1550 */
1551 ChartData domain; 1569 ChartData domain;
1552 /** True to reverse the order of the domain values (horizontal axis). */ 1570
1571 /// True to reverse the order of the domain values (horizontal axis).
1553 core.bool reversed; 1572 core.bool reversed;
1554 1573
1555 BasicChartDomain(); 1574 BasicChartDomain();
1556 1575
1557 BasicChartDomain.fromJson(core.Map _json) { 1576 BasicChartDomain.fromJson(core.Map _json) {
1558 if (_json.containsKey("domain")) { 1577 if (_json.containsKey("domain")) {
1559 domain = new ChartData.fromJson(_json["domain"]); 1578 domain = new ChartData.fromJson(_json["domain"]);
1560 } 1579 }
1561 if (_json.containsKey("reversed")) { 1580 if (_json.containsKey("reversed")) {
1562 reversed = _json["reversed"]; 1581 reversed = _json["reversed"];
1563 } 1582 }
1564 } 1583 }
1565 1584
1566 core.Map<core.String, core.Object> toJson() { 1585 core.Map<core.String, core.Object> toJson() {
1567 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1586 final core.Map<core.String, core.Object> _json =
1587 new core.Map<core.String, core.Object>();
1568 if (domain != null) { 1588 if (domain != null) {
1569 _json["domain"] = (domain).toJson(); 1589 _json["domain"] = (domain).toJson();
1570 } 1590 }
1571 if (reversed != null) { 1591 if (reversed != null) {
1572 _json["reversed"] = reversed; 1592 _json["reversed"] = reversed;
1573 } 1593 }
1574 return _json; 1594 return _json;
1575 } 1595 }
1576 } 1596 }
1577 1597
1578 /** 1598 /// A single series of data in a chart.
1579 * A single series of data in a chart. 1599 /// For example, if charting stock prices over time, multiple series may exist,
1580 * For example, if charting stock prices over time, multiple series may exist, 1600 /// one for the "Open Price", "High Price", "Low Price" and "Close Price".
1581 * one for the "Open Price", "High Price", "Low Price" and "Close Price".
1582 */
1583 class BasicChartSeries { 1601 class BasicChartSeries {
1584 /** The data being visualized in this chart series. */ 1602 /// The data being visualized in this chart series.
1585 ChartData series; 1603 ChartData series;
1586 /** 1604
1587 * The minor axis that will specify the range of values for this series. 1605 /// The minor axis that will specify the range of values for this series.
1588 * For example, if charting stocks over time, the "Volume" series 1606 /// For example, if charting stocks over time, the "Volume" series
1589 * may want to be pinned to the right with the prices pinned to the left, 1607 /// may want to be pinned to the right with the prices pinned to the left,
1590 * because the scale of trading volume is different than the scale of 1608 /// because the scale of trading volume is different than the scale of
1591 * prices. 1609 /// prices.
1592 * It is an error to specify an axis that isn't a valid minor axis 1610 /// It is an error to specify an axis that isn't a valid minor axis
1593 * for the chart's type. 1611 /// for the chart's type.
1594 * Possible string values are: 1612 /// Possible string values are:
1595 * - "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" : Default value, do not use. 1613 /// - "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" : Default value, do not use.
1596 * - "BOTTOM_AXIS" : The axis rendered at the bottom of a chart. 1614 /// - "BOTTOM_AXIS" : The axis rendered at the bottom of a chart.
1597 * For most charts, this is the standard major axis. 1615 /// For most charts, this is the standard major axis.
1598 * For bar charts, this is a minor axis. 1616 /// For bar charts, this is a minor axis.
1599 * - "LEFT_AXIS" : The axis rendered at the left of a chart. 1617 /// - "LEFT_AXIS" : The axis rendered at the left of a chart.
1600 * For most charts, this is a minor axis. 1618 /// For most charts, this is a minor axis.
1601 * For bar charts, this is the standard major axis. 1619 /// For bar charts, this is the standard major axis.
1602 * - "RIGHT_AXIS" : The axis rendered at the right of a chart. 1620 /// - "RIGHT_AXIS" : The axis rendered at the right of a chart.
1603 * For most charts, this is a minor axis. 1621 /// For most charts, this is a minor axis.
1604 * For bar charts, this is an unusual major axis. 1622 /// For bar charts, this is an unusual major axis.
1605 */
1606 core.String targetAxis; 1623 core.String targetAxis;
1607 /** 1624
1608 * The type of this series. Valid only if the 1625 /// The type of this series. Valid only if the
1609 * chartType is 1626 /// chartType is
1610 * COMBO. 1627 /// COMBO.
1611 * Different types will change the way the series is visualized. 1628 /// Different types will change the way the series is visualized.
1612 * Only LINE, AREA, 1629 /// Only LINE, AREA,
1613 * and COLUMN are supported. 1630 /// and COLUMN are supported.
1614 * Possible string values are: 1631 /// Possible string values are:
1615 * - "BASIC_CHART_TYPE_UNSPECIFIED" : Default value, do not use. 1632 /// - "BASIC_CHART_TYPE_UNSPECIFIED" : Default value, do not use.
1616 * - "BAR" : A <a href="/chart/interactive/docs/gallery/barchart">bar 1633 /// - "BAR" : A <a href="/chart/interactive/docs/gallery/barchart">bar
1617 * chart</a>. 1634 /// chart</a>.
1618 * - "LINE" : A <a href="/chart/interactive/docs/gallery/linechart">line 1635 /// - "LINE" : A <a href="/chart/interactive/docs/gallery/linechart">line
1619 * chart</a>. 1636 /// chart</a>.
1620 * - "AREA" : An <a href="/chart/interactive/docs/gallery/areachart">area 1637 /// - "AREA" : An <a href="/chart/interactive/docs/gallery/areachart">area
1621 * chart</a>. 1638 /// chart</a>.
1622 * - "COLUMN" : A <a href="/chart/interactive/docs/gallery/columnchart">column 1639 /// - "COLUMN" : A <a
1623 * chart</a>. 1640 /// href="/chart/interactive/docs/gallery/columnchart">column chart</a>.
1624 * - "SCATTER" : A <a 1641 /// - "SCATTER" : A <a
1625 * href="/chart/interactive/docs/gallery/scatterchart">scatter chart</a>. 1642 /// href="/chart/interactive/docs/gallery/scatterchart">scatter chart</a>.
1626 * - "COMBO" : A <a href="/chart/interactive/docs/gallery/combochart">combo 1643 /// - "COMBO" : A <a href="/chart/interactive/docs/gallery/combochart">combo
1627 * chart</a>. 1644 /// chart</a>.
1628 * - "STEPPED_AREA" : A <a 1645 /// - "STEPPED_AREA" : A <a
1629 * href="/chart/interactive/docs/gallery/steppedareachart">stepped area 1646 /// href="/chart/interactive/docs/gallery/steppedareachart">stepped area
1630 * chart</a>. 1647 /// chart</a>.
1631 */
1632 core.String type; 1648 core.String type;
1633 1649
1634 BasicChartSeries(); 1650 BasicChartSeries();
1635 1651
1636 BasicChartSeries.fromJson(core.Map _json) { 1652 BasicChartSeries.fromJson(core.Map _json) {
1637 if (_json.containsKey("series")) { 1653 if (_json.containsKey("series")) {
1638 series = new ChartData.fromJson(_json["series"]); 1654 series = new ChartData.fromJson(_json["series"]);
1639 } 1655 }
1640 if (_json.containsKey("targetAxis")) { 1656 if (_json.containsKey("targetAxis")) {
1641 targetAxis = _json["targetAxis"]; 1657 targetAxis = _json["targetAxis"];
1642 } 1658 }
1643 if (_json.containsKey("type")) { 1659 if (_json.containsKey("type")) {
1644 type = _json["type"]; 1660 type = _json["type"];
1645 } 1661 }
1646 } 1662 }
1647 1663
1648 core.Map<core.String, core.Object> toJson() { 1664 core.Map<core.String, core.Object> toJson() {
1649 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1665 final core.Map<core.String, core.Object> _json =
1666 new core.Map<core.String, core.Object>();
1650 if (series != null) { 1667 if (series != null) {
1651 _json["series"] = (series).toJson(); 1668 _json["series"] = (series).toJson();
1652 } 1669 }
1653 if (targetAxis != null) { 1670 if (targetAxis != null) {
1654 _json["targetAxis"] = targetAxis; 1671 _json["targetAxis"] = targetAxis;
1655 } 1672 }
1656 if (type != null) { 1673 if (type != null) {
1657 _json["type"] = type; 1674 _json["type"] = type;
1658 } 1675 }
1659 return _json; 1676 return _json;
1660 } 1677 }
1661 } 1678 }
1662 1679
1663 /** 1680 /// The specification for a basic chart. See BasicChartType for the list
1664 * The specification for a basic chart. See BasicChartType for the list 1681 /// of charts this supports.
1665 * of charts this supports.
1666 */
1667 class BasicChartSpec { 1682 class BasicChartSpec {
1668 /** The axis on the chart. */ 1683 /// The axis on the chart.
1669 core.List<BasicChartAxis> axis; 1684 core.List<BasicChartAxis> axis;
1670 /** 1685
1671 * The type of the chart. 1686 /// The type of the chart.
1672 * Possible string values are: 1687 /// Possible string values are:
1673 * - "BASIC_CHART_TYPE_UNSPECIFIED" : Default value, do not use. 1688 /// - "BASIC_CHART_TYPE_UNSPECIFIED" : Default value, do not use.
1674 * - "BAR" : A <a href="/chart/interactive/docs/gallery/barchart">bar 1689 /// - "BAR" : A <a href="/chart/interactive/docs/gallery/barchart">bar
1675 * chart</a>. 1690 /// chart</a>.
1676 * - "LINE" : A <a href="/chart/interactive/docs/gallery/linechart">line 1691 /// - "LINE" : A <a href="/chart/interactive/docs/gallery/linechart">line
1677 * chart</a>. 1692 /// chart</a>.
1678 * - "AREA" : An <a href="/chart/interactive/docs/gallery/areachart">area 1693 /// - "AREA" : An <a href="/chart/interactive/docs/gallery/areachart">area
1679 * chart</a>. 1694 /// chart</a>.
1680 * - "COLUMN" : A <a href="/chart/interactive/docs/gallery/columnchart">column 1695 /// - "COLUMN" : A <a
1681 * chart</a>. 1696 /// href="/chart/interactive/docs/gallery/columnchart">column chart</a>.
1682 * - "SCATTER" : A <a 1697 /// - "SCATTER" : A <a
1683 * href="/chart/interactive/docs/gallery/scatterchart">scatter chart</a>. 1698 /// href="/chart/interactive/docs/gallery/scatterchart">scatter chart</a>.
1684 * - "COMBO" : A <a href="/chart/interactive/docs/gallery/combochart">combo 1699 /// - "COMBO" : A <a href="/chart/interactive/docs/gallery/combochart">combo
1685 * chart</a>. 1700 /// chart</a>.
1686 * - "STEPPED_AREA" : A <a 1701 /// - "STEPPED_AREA" : A <a
1687 * href="/chart/interactive/docs/gallery/steppedareachart">stepped area 1702 /// href="/chart/interactive/docs/gallery/steppedareachart">stepped area
1688 * chart</a>. 1703 /// chart</a>.
1689 */
1690 core.String chartType; 1704 core.String chartType;
1691 /** 1705
1692 * The domain of data this is charting. 1706 /// The domain of data this is charting.
1693 * Only a single domain is supported. 1707 /// Only a single domain is supported.
1694 */
1695 core.List<BasicChartDomain> domains; 1708 core.List<BasicChartDomain> domains;
1696 /** 1709
1697 * The number of rows or columns in the data that are "headers". 1710 /// The number of rows or columns in the data that are "headers".
1698 * If not set, Google Sheets will guess how many rows are headers based 1711 /// If not set, Google Sheets will guess how many rows are headers based
1699 * on the data. 1712 /// on the data.
1700 * 1713 ///
1701 * (Note that BasicChartAxis.title may override the axis title 1714 /// (Note that BasicChartAxis.title may override the axis title
1702 * inferred from the header values.) 1715 /// inferred from the header values.)
1703 */
1704 core.int headerCount; 1716 core.int headerCount;
1705 /** 1717
1706 * If some values in a series are missing, gaps may appear in the chart (e.g, 1718 /// If some values in a series are missing, gaps may appear in the chart
1707 * segments of lines in a line chart will be missing). To eliminate these 1719 /// (e.g,
1708 * gaps set this to true. 1720 /// segments of lines in a line chart will be missing). To eliminate these
1709 * Applies to Line, Area, and Combo charts. 1721 /// gaps set this to true.
1710 */ 1722 /// Applies to Line, Area, and Combo charts.
1711 core.bool interpolateNulls; 1723 core.bool interpolateNulls;
1712 /** 1724
1713 * The position of the chart legend. 1725 /// The position of the chart legend.
1714 * Possible string values are: 1726 /// Possible string values are:
1715 * - "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use. 1727 /// - "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use.
1716 * - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart. 1728 /// - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart.
1717 * - "LEFT_LEGEND" : The legend is rendered on the left of the chart. 1729 /// - "LEFT_LEGEND" : The legend is rendered on the left of the chart.
1718 * - "RIGHT_LEGEND" : The legend is rendered on the right of the chart. 1730 /// - "RIGHT_LEGEND" : The legend is rendered on the right of the chart.
1719 * - "TOP_LEGEND" : The legend is rendered on the top of the chart. 1731 /// - "TOP_LEGEND" : The legend is rendered on the top of the chart.
1720 * - "NO_LEGEND" : No legend is rendered. 1732 /// - "NO_LEGEND" : No legend is rendered.
1721 */
1722 core.String legendPosition; 1733 core.String legendPosition;
1723 /** 1734
1724 * Gets whether all lines should be rendered smooth or straight by default. 1735 /// Gets whether all lines should be rendered smooth or straight by default.
1725 * Applies to Line charts. 1736 /// Applies to Line charts.
1726 */
1727 core.bool lineSmoothing; 1737 core.bool lineSmoothing;
1728 /** The data this chart is visualizing. */ 1738
1739 /// The data this chart is visualizing.
1729 core.List<BasicChartSeries> series; 1740 core.List<BasicChartSeries> series;
1730 /** 1741
1731 * The stacked type for charts that support vertical stacking. 1742 /// The stacked type for charts that support vertical stacking.
1732 * Applies to Area, Bar, Column, and Stepped Area charts. 1743 /// Applies to Area, Bar, Column, and Stepped Area charts.
1733 * Possible string values are: 1744 /// Possible string values are:
1734 * - "BASIC_CHART_STACKED_TYPE_UNSPECIFIED" : Default value, do not use. 1745 /// - "BASIC_CHART_STACKED_TYPE_UNSPECIFIED" : Default value, do not use.
1735 * - "NOT_STACKED" : Series are not stacked. 1746 /// - "NOT_STACKED" : Series are not stacked.
1736 * - "STACKED" : Series values are stacked, each value is rendered vertically 1747 /// - "STACKED" : Series values are stacked, each value is rendered
1737 * beginning 1748 /// vertically beginning
1738 * from the top of the value below it. 1749 /// from the top of the value below it.
1739 * - "PERCENT_STACKED" : Vertical stacks are stretched to reach the top of the 1750 /// - "PERCENT_STACKED" : Vertical stacks are stretched to reach the top of
1740 * chart, with 1751 /// the chart, with
1741 * values laid out as percentages of each other. 1752 /// values laid out as percentages of each other.
1742 */
1743 core.String stackedType; 1753 core.String stackedType;
1744 /** 1754
1745 * True to make the chart 3D. 1755 /// True to make the chart 3D.
1746 * Applies to Bar and Column charts. 1756 /// Applies to Bar and Column charts.
1747 */
1748 core.bool threeDimensional; 1757 core.bool threeDimensional;
1749 1758
1750 BasicChartSpec(); 1759 BasicChartSpec();
1751 1760
1752 BasicChartSpec.fromJson(core.Map _json) { 1761 BasicChartSpec.fromJson(core.Map _json) {
1753 if (_json.containsKey("axis")) { 1762 if (_json.containsKey("axis")) {
1754 axis = _json["axis"].map((value) => new BasicChartAxis.fromJson(value)).to List(); 1763 axis = _json["axis"]
1764 .map((value) => new BasicChartAxis.fromJson(value))
1765 .toList();
1755 } 1766 }
1756 if (_json.containsKey("chartType")) { 1767 if (_json.containsKey("chartType")) {
1757 chartType = _json["chartType"]; 1768 chartType = _json["chartType"];
1758 } 1769 }
1759 if (_json.containsKey("domains")) { 1770 if (_json.containsKey("domains")) {
1760 domains = _json["domains"].map((value) => new BasicChartDomain.fromJson(va lue)).toList(); 1771 domains = _json["domains"]
1772 .map((value) => new BasicChartDomain.fromJson(value))
1773 .toList();
1761 } 1774 }
1762 if (_json.containsKey("headerCount")) { 1775 if (_json.containsKey("headerCount")) {
1763 headerCount = _json["headerCount"]; 1776 headerCount = _json["headerCount"];
1764 } 1777 }
1765 if (_json.containsKey("interpolateNulls")) { 1778 if (_json.containsKey("interpolateNulls")) {
1766 interpolateNulls = _json["interpolateNulls"]; 1779 interpolateNulls = _json["interpolateNulls"];
1767 } 1780 }
1768 if (_json.containsKey("legendPosition")) { 1781 if (_json.containsKey("legendPosition")) {
1769 legendPosition = _json["legendPosition"]; 1782 legendPosition = _json["legendPosition"];
1770 } 1783 }
1771 if (_json.containsKey("lineSmoothing")) { 1784 if (_json.containsKey("lineSmoothing")) {
1772 lineSmoothing = _json["lineSmoothing"]; 1785 lineSmoothing = _json["lineSmoothing"];
1773 } 1786 }
1774 if (_json.containsKey("series")) { 1787 if (_json.containsKey("series")) {
1775 series = _json["series"].map((value) => new BasicChartSeries.fromJson(valu e)).toList(); 1788 series = _json["series"]
1789 .map((value) => new BasicChartSeries.fromJson(value))
1790 .toList();
1776 } 1791 }
1777 if (_json.containsKey("stackedType")) { 1792 if (_json.containsKey("stackedType")) {
1778 stackedType = _json["stackedType"]; 1793 stackedType = _json["stackedType"];
1779 } 1794 }
1780 if (_json.containsKey("threeDimensional")) { 1795 if (_json.containsKey("threeDimensional")) {
1781 threeDimensional = _json["threeDimensional"]; 1796 threeDimensional = _json["threeDimensional"];
1782 } 1797 }
1783 } 1798 }
1784 1799
1785 core.Map<core.String, core.Object> toJson() { 1800 core.Map<core.String, core.Object> toJson() {
1786 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1801 final core.Map<core.String, core.Object> _json =
1802 new core.Map<core.String, core.Object>();
1787 if (axis != null) { 1803 if (axis != null) {
1788 _json["axis"] = axis.map((value) => (value).toJson()).toList(); 1804 _json["axis"] = axis.map((value) => (value).toJson()).toList();
1789 } 1805 }
1790 if (chartType != null) { 1806 if (chartType != null) {
1791 _json["chartType"] = chartType; 1807 _json["chartType"] = chartType;
1792 } 1808 }
1793 if (domains != null) { 1809 if (domains != null) {
1794 _json["domains"] = domains.map((value) => (value).toJson()).toList(); 1810 _json["domains"] = domains.map((value) => (value).toJson()).toList();
1795 } 1811 }
1796 if (headerCount != null) { 1812 if (headerCount != null) {
(...skipping 14 matching lines...) Expand all
1811 if (stackedType != null) { 1827 if (stackedType != null) {
1812 _json["stackedType"] = stackedType; 1828 _json["stackedType"] = stackedType;
1813 } 1829 }
1814 if (threeDimensional != null) { 1830 if (threeDimensional != null) {
1815 _json["threeDimensional"] = threeDimensional; 1831 _json["threeDimensional"] = threeDimensional;
1816 } 1832 }
1817 return _json; 1833 return _json;
1818 } 1834 }
1819 } 1835 }
1820 1836
1821 /** The default filter associated with a sheet. */ 1837 /// The default filter associated with a sheet.
1822 class BasicFilter { 1838 class BasicFilter {
1823 /** 1839 /// The criteria for showing/hiding values per column.
1824 * The criteria for showing/hiding values per column. 1840 /// The map's key is the column index, and the value is the criteria for
1825 * The map's key is the column index, and the value is the criteria for 1841 /// that column.
1826 * that column.
1827 */
1828 core.Map<core.String, FilterCriteria> criteria; 1842 core.Map<core.String, FilterCriteria> criteria;
1829 /** The range the filter covers. */ 1843
1844 /// The range the filter covers.
1830 GridRange range; 1845 GridRange range;
1831 /** 1846
1832 * The sort order per column. Later specifications are used when values 1847 /// The sort order per column. Later specifications are used when values
1833 * are equal in the earlier specifications. 1848 /// are equal in the earlier specifications.
1834 */
1835 core.List<SortSpec> sortSpecs; 1849 core.List<SortSpec> sortSpecs;
1836 1850
1837 BasicFilter(); 1851 BasicFilter();
1838 1852
1839 BasicFilter.fromJson(core.Map _json) { 1853 BasicFilter.fromJson(core.Map _json) {
1840 if (_json.containsKey("criteria")) { 1854 if (_json.containsKey("criteria")) {
1841 criteria = commons.mapMap<core.Map<core.String, core.Object>, FilterCriter ia>(_json["criteria"], (core.Map<core.String, core.Object> item) => new FilterCr iteria.fromJson(item)); 1855 criteria =
1856 commons.mapMap<core.Map<core.String, core.Object>, FilterCriteria>(
1857 _json["criteria"],
1858 (core.Map<core.String, core.Object> item) =>
1859 new FilterCriteria.fromJson(item));
1842 } 1860 }
1843 if (_json.containsKey("range")) { 1861 if (_json.containsKey("range")) {
1844 range = new GridRange.fromJson(_json["range"]); 1862 range = new GridRange.fromJson(_json["range"]);
1845 } 1863 }
1846 if (_json.containsKey("sortSpecs")) { 1864 if (_json.containsKey("sortSpecs")) {
1847 sortSpecs = _json["sortSpecs"].map((value) => new SortSpec.fromJson(value) ).toList(); 1865 sortSpecs = _json["sortSpecs"]
1866 .map((value) => new SortSpec.fromJson(value))
1867 .toList();
1848 } 1868 }
1849 } 1869 }
1850 1870
1851 core.Map<core.String, core.Object> toJson() { 1871 core.Map<core.String, core.Object> toJson() {
1852 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1872 final core.Map<core.String, core.Object> _json =
1873 new core.Map<core.String, core.Object>();
1853 if (criteria != null) { 1874 if (criteria != null) {
1854 _json["criteria"] = commons.mapMap<FilterCriteria, core.Map<core.String, c ore.Object>>(criteria, (FilterCriteria item) => (item).toJson()); 1875 _json["criteria"] =
1876 commons.mapMap<FilterCriteria, core.Map<core.String, core.Object>>(
1877 criteria, (FilterCriteria item) => (item).toJson());
1855 } 1878 }
1856 if (range != null) { 1879 if (range != null) {
1857 _json["range"] = (range).toJson(); 1880 _json["range"] = (range).toJson();
1858 } 1881 }
1859 if (sortSpecs != null) { 1882 if (sortSpecs != null) {
1860 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList(); 1883 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList();
1861 } 1884 }
1862 return _json; 1885 return _json;
1863 } 1886 }
1864 } 1887 }
1865 1888
1866 /** The request for clearing more than one range of values in a spreadsheet. */ 1889 /// The request for clearing more than one range of values in a spreadsheet.
1867 class BatchClearValuesRequest { 1890 class BatchClearValuesRequest {
1868 /** The ranges to clear, in A1 notation. */ 1891 /// The ranges to clear, in A1 notation.
1869 core.List<core.String> ranges; 1892 core.List<core.String> ranges;
1870 1893
1871 BatchClearValuesRequest(); 1894 BatchClearValuesRequest();
1872 1895
1873 BatchClearValuesRequest.fromJson(core.Map _json) { 1896 BatchClearValuesRequest.fromJson(core.Map _json) {
1874 if (_json.containsKey("ranges")) { 1897 if (_json.containsKey("ranges")) {
1875 ranges = _json["ranges"]; 1898 ranges = _json["ranges"];
1876 } 1899 }
1877 } 1900 }
1878 1901
1879 core.Map<core.String, core.Object> toJson() { 1902 core.Map<core.String, core.Object> toJson() {
1880 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1903 final core.Map<core.String, core.Object> _json =
1904 new core.Map<core.String, core.Object>();
1881 if (ranges != null) { 1905 if (ranges != null) {
1882 _json["ranges"] = ranges; 1906 _json["ranges"] = ranges;
1883 } 1907 }
1884 return _json; 1908 return _json;
1885 } 1909 }
1886 } 1910 }
1887 1911
1888 /** The response when clearing a range of values in a spreadsheet. */ 1912 /// The response when clearing a range of values in a spreadsheet.
1889 class BatchClearValuesResponse { 1913 class BatchClearValuesResponse {
1890 /** 1914 /// The ranges that were cleared, in A1 notation.
1891 * The ranges that were cleared, in A1 notation. 1915 /// (If the requests were for an unbounded range or a ranger larger
1892 * (If the requests were for an unbounded range or a ranger larger 1916 /// than the bounds of the sheet, this will be the actual ranges
1893 * than the bounds of the sheet, this will be the actual ranges 1917 /// that were cleared, bounded to the sheet's limits.)
1894 * that were cleared, bounded to the sheet's limits.)
1895 */
1896 core.List<core.String> clearedRanges; 1918 core.List<core.String> clearedRanges;
1897 /** The spreadsheet the updates were applied to. */ 1919
1920 /// The spreadsheet the updates were applied to.
1898 core.String spreadsheetId; 1921 core.String spreadsheetId;
1899 1922
1900 BatchClearValuesResponse(); 1923 BatchClearValuesResponse();
1901 1924
1902 BatchClearValuesResponse.fromJson(core.Map _json) { 1925 BatchClearValuesResponse.fromJson(core.Map _json) {
1903 if (_json.containsKey("clearedRanges")) { 1926 if (_json.containsKey("clearedRanges")) {
1904 clearedRanges = _json["clearedRanges"]; 1927 clearedRanges = _json["clearedRanges"];
1905 } 1928 }
1906 if (_json.containsKey("spreadsheetId")) { 1929 if (_json.containsKey("spreadsheetId")) {
1907 spreadsheetId = _json["spreadsheetId"]; 1930 spreadsheetId = _json["spreadsheetId"];
1908 } 1931 }
1909 } 1932 }
1910 1933
1911 core.Map<core.String, core.Object> toJson() { 1934 core.Map<core.String, core.Object> toJson() {
1912 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1935 final core.Map<core.String, core.Object> _json =
1936 new core.Map<core.String, core.Object>();
1913 if (clearedRanges != null) { 1937 if (clearedRanges != null) {
1914 _json["clearedRanges"] = clearedRanges; 1938 _json["clearedRanges"] = clearedRanges;
1915 } 1939 }
1916 if (spreadsheetId != null) { 1940 if (spreadsheetId != null) {
1917 _json["spreadsheetId"] = spreadsheetId; 1941 _json["spreadsheetId"] = spreadsheetId;
1918 } 1942 }
1919 return _json; 1943 return _json;
1920 } 1944 }
1921 } 1945 }
1922 1946
1923 /** 1947 /// The response when retrieving more than one range of values in a
1924 * The response when retrieving more than one range of values in a spreadsheet. 1948 /// spreadsheet.
1925 */
1926 class BatchGetValuesResponse { 1949 class BatchGetValuesResponse {
1927 /** The ID of the spreadsheet the data was retrieved from. */ 1950 /// The ID of the spreadsheet the data was retrieved from.
1928 core.String spreadsheetId; 1951 core.String spreadsheetId;
1929 /** 1952
1930 * The requested values. The order of the ValueRanges is the same as the 1953 /// The requested values. The order of the ValueRanges is the same as the
1931 * order of the requested ranges. 1954 /// order of the requested ranges.
1932 */
1933 core.List<ValueRange> valueRanges; 1955 core.List<ValueRange> valueRanges;
1934 1956
1935 BatchGetValuesResponse(); 1957 BatchGetValuesResponse();
1936 1958
1937 BatchGetValuesResponse.fromJson(core.Map _json) { 1959 BatchGetValuesResponse.fromJson(core.Map _json) {
1938 if (_json.containsKey("spreadsheetId")) { 1960 if (_json.containsKey("spreadsheetId")) {
1939 spreadsheetId = _json["spreadsheetId"]; 1961 spreadsheetId = _json["spreadsheetId"];
1940 } 1962 }
1941 if (_json.containsKey("valueRanges")) { 1963 if (_json.containsKey("valueRanges")) {
1942 valueRanges = _json["valueRanges"].map((value) => new ValueRange.fromJson( value)).toList(); 1964 valueRanges = _json["valueRanges"]
1965 .map((value) => new ValueRange.fromJson(value))
1966 .toList();
1943 } 1967 }
1944 } 1968 }
1945 1969
1946 core.Map<core.String, core.Object> toJson() { 1970 core.Map<core.String, core.Object> toJson() {
1947 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1971 final core.Map<core.String, core.Object> _json =
1972 new core.Map<core.String, core.Object>();
1948 if (spreadsheetId != null) { 1973 if (spreadsheetId != null) {
1949 _json["spreadsheetId"] = spreadsheetId; 1974 _json["spreadsheetId"] = spreadsheetId;
1950 } 1975 }
1951 if (valueRanges != null) { 1976 if (valueRanges != null) {
1952 _json["valueRanges"] = valueRanges.map((value) => (value).toJson()).toList (); 1977 _json["valueRanges"] =
1978 valueRanges.map((value) => (value).toJson()).toList();
1953 } 1979 }
1954 return _json; 1980 return _json;
1955 } 1981 }
1956 } 1982 }
1957 1983
1958 /** The request for updating any aspect of a spreadsheet. */ 1984 /// The request for updating any aspect of a spreadsheet.
1959 class BatchUpdateSpreadsheetRequest { 1985 class BatchUpdateSpreadsheetRequest {
1960 /** 1986 /// Determines if the update response should include the spreadsheet
1961 * Determines if the update response should include the spreadsheet 1987 /// resource.
1962 * resource.
1963 */
1964 core.bool includeSpreadsheetInResponse; 1988 core.bool includeSpreadsheetInResponse;
1965 /** 1989
1966 * A list of updates to apply to the spreadsheet. 1990 /// A list of updates to apply to the spreadsheet.
1967 * Requests will be applied in the order they are specified. 1991 /// Requests will be applied in the order they are specified.
1968 * If any request is not valid, no requests will be applied. 1992 /// If any request is not valid, no requests will be applied.
1969 */
1970 core.List<Request> requests; 1993 core.List<Request> requests;
1971 /** 1994
1972 * True if grid data should be returned. Meaningful only if 1995 /// True if grid data should be returned. Meaningful only if
1973 * if include_spreadsheet_response is 'true'. 1996 /// if include_spreadsheet_response is 'true'.
1974 * This parameter is ignored if a field mask was set in the request. 1997 /// This parameter is ignored if a field mask was set in the request.
1975 */
1976 core.bool responseIncludeGridData; 1998 core.bool responseIncludeGridData;
1977 /** 1999
1978 * Limits the ranges included in the response spreadsheet. 2000 /// Limits the ranges included in the response spreadsheet.
1979 * Meaningful only if include_spreadsheet_response is 'true'. 2001 /// Meaningful only if include_spreadsheet_response is 'true'.
1980 */
1981 core.List<core.String> responseRanges; 2002 core.List<core.String> responseRanges;
1982 2003
1983 BatchUpdateSpreadsheetRequest(); 2004 BatchUpdateSpreadsheetRequest();
1984 2005
1985 BatchUpdateSpreadsheetRequest.fromJson(core.Map _json) { 2006 BatchUpdateSpreadsheetRequest.fromJson(core.Map _json) {
1986 if (_json.containsKey("includeSpreadsheetInResponse")) { 2007 if (_json.containsKey("includeSpreadsheetInResponse")) {
1987 includeSpreadsheetInResponse = _json["includeSpreadsheetInResponse"]; 2008 includeSpreadsheetInResponse = _json["includeSpreadsheetInResponse"];
1988 } 2009 }
1989 if (_json.containsKey("requests")) { 2010 if (_json.containsKey("requests")) {
1990 requests = _json["requests"].map((value) => new Request.fromJson(value)).t oList(); 2011 requests = _json["requests"]
2012 .map((value) => new Request.fromJson(value))
2013 .toList();
1991 } 2014 }
1992 if (_json.containsKey("responseIncludeGridData")) { 2015 if (_json.containsKey("responseIncludeGridData")) {
1993 responseIncludeGridData = _json["responseIncludeGridData"]; 2016 responseIncludeGridData = _json["responseIncludeGridData"];
1994 } 2017 }
1995 if (_json.containsKey("responseRanges")) { 2018 if (_json.containsKey("responseRanges")) {
1996 responseRanges = _json["responseRanges"]; 2019 responseRanges = _json["responseRanges"];
1997 } 2020 }
1998 } 2021 }
1999 2022
2000 core.Map<core.String, core.Object> toJson() { 2023 core.Map<core.String, core.Object> toJson() {
2001 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2024 final core.Map<core.String, core.Object> _json =
2025 new core.Map<core.String, core.Object>();
2002 if (includeSpreadsheetInResponse != null) { 2026 if (includeSpreadsheetInResponse != null) {
2003 _json["includeSpreadsheetInResponse"] = includeSpreadsheetInResponse; 2027 _json["includeSpreadsheetInResponse"] = includeSpreadsheetInResponse;
2004 } 2028 }
2005 if (requests != null) { 2029 if (requests != null) {
2006 _json["requests"] = requests.map((value) => (value).toJson()).toList(); 2030 _json["requests"] = requests.map((value) => (value).toJson()).toList();
2007 } 2031 }
2008 if (responseIncludeGridData != null) { 2032 if (responseIncludeGridData != null) {
2009 _json["responseIncludeGridData"] = responseIncludeGridData; 2033 _json["responseIncludeGridData"] = responseIncludeGridData;
2010 } 2034 }
2011 if (responseRanges != null) { 2035 if (responseRanges != null) {
2012 _json["responseRanges"] = responseRanges; 2036 _json["responseRanges"] = responseRanges;
2013 } 2037 }
2014 return _json; 2038 return _json;
2015 } 2039 }
2016 } 2040 }
2017 2041
2018 /** The reply for batch updating a spreadsheet. */ 2042 /// The reply for batch updating a spreadsheet.
2019 class BatchUpdateSpreadsheetResponse { 2043 class BatchUpdateSpreadsheetResponse {
2020 /** 2044 /// The reply of the updates. This maps 1:1 with the updates, although
2021 * The reply of the updates. This maps 1:1 with the updates, although 2045 /// replies to some requests may be empty.
2022 * replies to some requests may be empty.
2023 */
2024 core.List<Response> replies; 2046 core.List<Response> replies;
2025 /** The spreadsheet the updates were applied to. */ 2047
2048 /// The spreadsheet the updates were applied to.
2026 core.String spreadsheetId; 2049 core.String spreadsheetId;
2027 /** 2050
2028 * The spreadsheet after updates were applied. This is only set if 2051 /// The spreadsheet after updates were applied. This is only set if
2029 * [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`. 2052 /// [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is
2030 */ 2053 /// `true`.
2031 Spreadsheet updatedSpreadsheet; 2054 Spreadsheet updatedSpreadsheet;
2032 2055
2033 BatchUpdateSpreadsheetResponse(); 2056 BatchUpdateSpreadsheetResponse();
2034 2057
2035 BatchUpdateSpreadsheetResponse.fromJson(core.Map _json) { 2058 BatchUpdateSpreadsheetResponse.fromJson(core.Map _json) {
2036 if (_json.containsKey("replies")) { 2059 if (_json.containsKey("replies")) {
2037 replies = _json["replies"].map((value) => new Response.fromJson(value)).to List(); 2060 replies = _json["replies"]
2061 .map((value) => new Response.fromJson(value))
2062 .toList();
2038 } 2063 }
2039 if (_json.containsKey("spreadsheetId")) { 2064 if (_json.containsKey("spreadsheetId")) {
2040 spreadsheetId = _json["spreadsheetId"]; 2065 spreadsheetId = _json["spreadsheetId"];
2041 } 2066 }
2042 if (_json.containsKey("updatedSpreadsheet")) { 2067 if (_json.containsKey("updatedSpreadsheet")) {
2043 updatedSpreadsheet = new Spreadsheet.fromJson(_json["updatedSpreadsheet"]) ; 2068 updatedSpreadsheet =
2069 new Spreadsheet.fromJson(_json["updatedSpreadsheet"]);
2044 } 2070 }
2045 } 2071 }
2046 2072
2047 core.Map<core.String, core.Object> toJson() { 2073 core.Map<core.String, core.Object> toJson() {
2048 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2074 final core.Map<core.String, core.Object> _json =
2075 new core.Map<core.String, core.Object>();
2049 if (replies != null) { 2076 if (replies != null) {
2050 _json["replies"] = replies.map((value) => (value).toJson()).toList(); 2077 _json["replies"] = replies.map((value) => (value).toJson()).toList();
2051 } 2078 }
2052 if (spreadsheetId != null) { 2079 if (spreadsheetId != null) {
2053 _json["spreadsheetId"] = spreadsheetId; 2080 _json["spreadsheetId"] = spreadsheetId;
2054 } 2081 }
2055 if (updatedSpreadsheet != null) { 2082 if (updatedSpreadsheet != null) {
2056 _json["updatedSpreadsheet"] = (updatedSpreadsheet).toJson(); 2083 _json["updatedSpreadsheet"] = (updatedSpreadsheet).toJson();
2057 } 2084 }
2058 return _json; 2085 return _json;
2059 } 2086 }
2060 } 2087 }
2061 2088
2062 /** The request for updating more than one range of values in a spreadsheet. */ 2089 /// The request for updating more than one range of values in a spreadsheet.
2063 class BatchUpdateValuesRequest { 2090 class BatchUpdateValuesRequest {
2064 /** The new values to apply to the spreadsheet. */ 2091 /// The new values to apply to the spreadsheet.
2065 core.List<ValueRange> data; 2092 core.List<ValueRange> data;
2066 /** 2093
2067 * Determines if the update response should include the values 2094 /// Determines if the update response should include the values
2068 * of the cells that were updated. By default, responses 2095 /// of the cells that were updated. By default, responses
2069 * do not include the updated values. The `updatedData` field within 2096 /// do not include the updated values. The `updatedData` field within
2070 * each of the BatchUpdateValuesResponse.responses will contain 2097 /// each of the BatchUpdateValuesResponse.responses will contain
2071 * the updated values. If the range to write was larger than than the range 2098 /// the updated values. If the range to write was larger than than the range
2072 * actually written, the response will include all values in the requested 2099 /// actually written, the response will include all values in the requested
2073 * range (excluding trailing empty rows and columns). 2100 /// range (excluding trailing empty rows and columns).
2074 */
2075 core.bool includeValuesInResponse; 2101 core.bool includeValuesInResponse;
2076 /** 2102
2077 * Determines how dates, times, and durations in the response should be 2103 /// Determines how dates, times, and durations in the response should be
2078 * rendered. This is ignored if response_value_render_option is 2104 /// rendered. This is ignored if response_value_render_option is
2079 * FORMATTED_VALUE. 2105 /// FORMATTED_VALUE.
2080 * The default dateTime render option is 2106 /// The default dateTime render option is
2081 * DateTimeRenderOption.SERIAL_NUMBER. 2107 /// DateTimeRenderOption.SERIAL_NUMBER.
2082 * Possible string values are: 2108 /// Possible string values are:
2083 * - "SERIAL_NUMBER" : Instructs date, time, datetime, and duration fields to 2109 /// - "SERIAL_NUMBER" : Instructs date, time, datetime, and duration fields
2084 * be output 2110 /// to be output
2085 * as doubles in "serial number" format, as popularized by Lotus 1-2-3. 2111 /// as doubles in "serial number" format, as popularized by Lotus 1-2-3.
2086 * The whole number portion of the value (left of the decimal) counts 2112 /// The whole number portion of the value (left of the decimal) counts
2087 * the days since December 30th 1899. The fractional portion (right of 2113 /// the days since December 30th 1899. The fractional portion (right of
2088 * the decimal) counts the time as a fraction of the day. For example, 2114 /// the decimal) counts the time as a fraction of the day. For example,
2089 * January 1st 1900 at noon would be 2.5, 2 because it's 2 days after 2115 /// January 1st 1900 at noon would be 2.5, 2 because it's 2 days after
2090 * December 30st 1899, and .5 because noon is half a day. February 1st 2116 /// December 30st 1899, and .5 because noon is half a day. February 1st
2091 * 1900 at 3pm would be 33.625. This correctly treats the year 1900 as 2117 /// 1900 at 3pm would be 33.625. This correctly treats the year 1900 as
2092 * not a leap year. 2118 /// not a leap year.
2093 * - "FORMATTED_STRING" : Instructs date, time, datetime, and duration fields 2119 /// - "FORMATTED_STRING" : Instructs date, time, datetime, and duration
2094 * to be output 2120 /// fields to be output
2095 * as strings in their given number format (which is dependent 2121 /// as strings in their given number format (which is dependent
2096 * on the spreadsheet locale). 2122 /// on the spreadsheet locale).
2097 */
2098 core.String responseDateTimeRenderOption; 2123 core.String responseDateTimeRenderOption;
2099 /** 2124
2100 * Determines how values in the response should be rendered. 2125 /// Determines how values in the response should be rendered.
2101 * The default render option is ValueRenderOption.FORMATTED_VALUE. 2126 /// The default render option is ValueRenderOption.FORMATTED_VALUE.
2102 * Possible string values are: 2127 /// Possible string values are:
2103 * - "FORMATTED_VALUE" : Values will be calculated & formatted in the reply 2128 /// - "FORMATTED_VALUE" : Values will be calculated & formatted in the reply
2104 * according to the 2129 /// according to the
2105 * cell's formatting. Formatting is based on the spreadsheet's locale, 2130 /// cell's formatting. Formatting is based on the spreadsheet's locale,
2106 * not the requesting user's locale. 2131 /// not the requesting user's locale.
2107 * For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, 2132 /// For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
2108 * then `A2` would return `"$1.23"`. 2133 /// currency,
2109 * - "UNFORMATTED_VALUE" : Values will be calculated, but not formatted in the 2134 /// then `A2` would return `"$1.23"`.
2110 * reply. 2135 /// - "UNFORMATTED_VALUE" : Values will be calculated, but not formatted in
2111 * For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, 2136 /// the reply.
2112 * then `A2` would return the number `1.23`. 2137 /// For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
2113 * - "FORMULA" : Values will not be calculated. The reply will include the 2138 /// currency,
2114 * formulas. 2139 /// then `A2` would return the number `1.23`.
2115 * For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, 2140 /// - "FORMULA" : Values will not be calculated. The reply will include the
2116 * then A2 would return `"=A1"`. 2141 /// formulas.
2117 */ 2142 /// For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
2143 /// currency,
2144 /// then A2 would return `"=A1"`.
2118 core.String responseValueRenderOption; 2145 core.String responseValueRenderOption;
2119 /** 2146
2120 * How the input data should be interpreted. 2147 /// How the input data should be interpreted.
2121 * Possible string values are: 2148 /// Possible string values are:
2122 * - "INPUT_VALUE_OPTION_UNSPECIFIED" : Default input value. This value must 2149 /// - "INPUT_VALUE_OPTION_UNSPECIFIED" : Default input value. This value must
2123 * not be used. 2150 /// not be used.
2124 * - "RAW" : The values the user has entered will not be parsed and will be 2151 /// - "RAW" : The values the user has entered will not be parsed and will be
2125 * stored 2152 /// stored
2126 * as-is. 2153 /// as-is.
2127 * - "USER_ENTERED" : The values will be parsed as if the user typed them into 2154 /// - "USER_ENTERED" : The values will be parsed as if the user typed them
2128 * the UI. 2155 /// into the UI.
2129 * Numbers will stay as numbers, but strings may be converted to numbers, 2156 /// Numbers will stay as numbers, but strings may be converted to numbers,
2130 * dates, etc. following the same rules that are applied when entering 2157 /// dates, etc. following the same rules that are applied when entering
2131 * text into a cell via the Google Sheets UI. 2158 /// text into a cell via the Google Sheets UI.
2132 */
2133 core.String valueInputOption; 2159 core.String valueInputOption;
2134 2160
2135 BatchUpdateValuesRequest(); 2161 BatchUpdateValuesRequest();
2136 2162
2137 BatchUpdateValuesRequest.fromJson(core.Map _json) { 2163 BatchUpdateValuesRequest.fromJson(core.Map _json) {
2138 if (_json.containsKey("data")) { 2164 if (_json.containsKey("data")) {
2139 data = _json["data"].map((value) => new ValueRange.fromJson(value)).toList (); 2165 data =
2166 _json["data"].map((value) => new ValueRange.fromJson(value)).toList();
2140 } 2167 }
2141 if (_json.containsKey("includeValuesInResponse")) { 2168 if (_json.containsKey("includeValuesInResponse")) {
2142 includeValuesInResponse = _json["includeValuesInResponse"]; 2169 includeValuesInResponse = _json["includeValuesInResponse"];
2143 } 2170 }
2144 if (_json.containsKey("responseDateTimeRenderOption")) { 2171 if (_json.containsKey("responseDateTimeRenderOption")) {
2145 responseDateTimeRenderOption = _json["responseDateTimeRenderOption"]; 2172 responseDateTimeRenderOption = _json["responseDateTimeRenderOption"];
2146 } 2173 }
2147 if (_json.containsKey("responseValueRenderOption")) { 2174 if (_json.containsKey("responseValueRenderOption")) {
2148 responseValueRenderOption = _json["responseValueRenderOption"]; 2175 responseValueRenderOption = _json["responseValueRenderOption"];
2149 } 2176 }
2150 if (_json.containsKey("valueInputOption")) { 2177 if (_json.containsKey("valueInputOption")) {
2151 valueInputOption = _json["valueInputOption"]; 2178 valueInputOption = _json["valueInputOption"];
2152 } 2179 }
2153 } 2180 }
2154 2181
2155 core.Map<core.String, core.Object> toJson() { 2182 core.Map<core.String, core.Object> toJson() {
2156 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2183 final core.Map<core.String, core.Object> _json =
2184 new core.Map<core.String, core.Object>();
2157 if (data != null) { 2185 if (data != null) {
2158 _json["data"] = data.map((value) => (value).toJson()).toList(); 2186 _json["data"] = data.map((value) => (value).toJson()).toList();
2159 } 2187 }
2160 if (includeValuesInResponse != null) { 2188 if (includeValuesInResponse != null) {
2161 _json["includeValuesInResponse"] = includeValuesInResponse; 2189 _json["includeValuesInResponse"] = includeValuesInResponse;
2162 } 2190 }
2163 if (responseDateTimeRenderOption != null) { 2191 if (responseDateTimeRenderOption != null) {
2164 _json["responseDateTimeRenderOption"] = responseDateTimeRenderOption; 2192 _json["responseDateTimeRenderOption"] = responseDateTimeRenderOption;
2165 } 2193 }
2166 if (responseValueRenderOption != null) { 2194 if (responseValueRenderOption != null) {
2167 _json["responseValueRenderOption"] = responseValueRenderOption; 2195 _json["responseValueRenderOption"] = responseValueRenderOption;
2168 } 2196 }
2169 if (valueInputOption != null) { 2197 if (valueInputOption != null) {
2170 _json["valueInputOption"] = valueInputOption; 2198 _json["valueInputOption"] = valueInputOption;
2171 } 2199 }
2172 return _json; 2200 return _json;
2173 } 2201 }
2174 } 2202 }
2175 2203
2176 /** The response when updating a range of values in a spreadsheet. */ 2204 /// The response when updating a range of values in a spreadsheet.
2177 class BatchUpdateValuesResponse { 2205 class BatchUpdateValuesResponse {
2178 /** 2206 /// One UpdateValuesResponse per requested range, in the same order as
2179 * One UpdateValuesResponse per requested range, in the same order as 2207 /// the requests appeared.
2180 * the requests appeared.
2181 */
2182 core.List<UpdateValuesResponse> responses; 2208 core.List<UpdateValuesResponse> responses;
2183 /** The spreadsheet the updates were applied to. */ 2209
2210 /// The spreadsheet the updates were applied to.
2184 core.String spreadsheetId; 2211 core.String spreadsheetId;
2185 /** The total number of cells updated. */ 2212
2213 /// The total number of cells updated.
2186 core.int totalUpdatedCells; 2214 core.int totalUpdatedCells;
2187 /** 2215
2188 * The total number of columns where at least one cell in the column was 2216 /// The total number of columns where at least one cell in the column was
2189 * updated. 2217 /// updated.
2190 */
2191 core.int totalUpdatedColumns; 2218 core.int totalUpdatedColumns;
2192 /** 2219
2193 * The total number of rows where at least one cell in the row was updated. 2220 /// The total number of rows where at least one cell in the row was updated.
2194 */
2195 core.int totalUpdatedRows; 2221 core.int totalUpdatedRows;
2196 /** 2222
2197 * The total number of sheets where at least one cell in the sheet was 2223 /// The total number of sheets where at least one cell in the sheet was
2198 * updated. 2224 /// updated.
2199 */
2200 core.int totalUpdatedSheets; 2225 core.int totalUpdatedSheets;
2201 2226
2202 BatchUpdateValuesResponse(); 2227 BatchUpdateValuesResponse();
2203 2228
2204 BatchUpdateValuesResponse.fromJson(core.Map _json) { 2229 BatchUpdateValuesResponse.fromJson(core.Map _json) {
2205 if (_json.containsKey("responses")) { 2230 if (_json.containsKey("responses")) {
2206 responses = _json["responses"].map((value) => new UpdateValuesResponse.fro mJson(value)).toList(); 2231 responses = _json["responses"]
2232 .map((value) => new UpdateValuesResponse.fromJson(value))
2233 .toList();
2207 } 2234 }
2208 if (_json.containsKey("spreadsheetId")) { 2235 if (_json.containsKey("spreadsheetId")) {
2209 spreadsheetId = _json["spreadsheetId"]; 2236 spreadsheetId = _json["spreadsheetId"];
2210 } 2237 }
2211 if (_json.containsKey("totalUpdatedCells")) { 2238 if (_json.containsKey("totalUpdatedCells")) {
2212 totalUpdatedCells = _json["totalUpdatedCells"]; 2239 totalUpdatedCells = _json["totalUpdatedCells"];
2213 } 2240 }
2214 if (_json.containsKey("totalUpdatedColumns")) { 2241 if (_json.containsKey("totalUpdatedColumns")) {
2215 totalUpdatedColumns = _json["totalUpdatedColumns"]; 2242 totalUpdatedColumns = _json["totalUpdatedColumns"];
2216 } 2243 }
2217 if (_json.containsKey("totalUpdatedRows")) { 2244 if (_json.containsKey("totalUpdatedRows")) {
2218 totalUpdatedRows = _json["totalUpdatedRows"]; 2245 totalUpdatedRows = _json["totalUpdatedRows"];
2219 } 2246 }
2220 if (_json.containsKey("totalUpdatedSheets")) { 2247 if (_json.containsKey("totalUpdatedSheets")) {
2221 totalUpdatedSheets = _json["totalUpdatedSheets"]; 2248 totalUpdatedSheets = _json["totalUpdatedSheets"];
2222 } 2249 }
2223 } 2250 }
2224 2251
2225 core.Map<core.String, core.Object> toJson() { 2252 core.Map<core.String, core.Object> toJson() {
2226 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2253 final core.Map<core.String, core.Object> _json =
2254 new core.Map<core.String, core.Object>();
2227 if (responses != null) { 2255 if (responses != null) {
2228 _json["responses"] = responses.map((value) => (value).toJson()).toList(); 2256 _json["responses"] = responses.map((value) => (value).toJson()).toList();
2229 } 2257 }
2230 if (spreadsheetId != null) { 2258 if (spreadsheetId != null) {
2231 _json["spreadsheetId"] = spreadsheetId; 2259 _json["spreadsheetId"] = spreadsheetId;
2232 } 2260 }
2233 if (totalUpdatedCells != null) { 2261 if (totalUpdatedCells != null) {
2234 _json["totalUpdatedCells"] = totalUpdatedCells; 2262 _json["totalUpdatedCells"] = totalUpdatedCells;
2235 } 2263 }
2236 if (totalUpdatedColumns != null) { 2264 if (totalUpdatedColumns != null) {
2237 _json["totalUpdatedColumns"] = totalUpdatedColumns; 2265 _json["totalUpdatedColumns"] = totalUpdatedColumns;
2238 } 2266 }
2239 if (totalUpdatedRows != null) { 2267 if (totalUpdatedRows != null) {
2240 _json["totalUpdatedRows"] = totalUpdatedRows; 2268 _json["totalUpdatedRows"] = totalUpdatedRows;
2241 } 2269 }
2242 if (totalUpdatedSheets != null) { 2270 if (totalUpdatedSheets != null) {
2243 _json["totalUpdatedSheets"] = totalUpdatedSheets; 2271 _json["totalUpdatedSheets"] = totalUpdatedSheets;
2244 } 2272 }
2245 return _json; 2273 return _json;
2246 } 2274 }
2247 } 2275 }
2248 2276
2249 /** 2277 /// A condition that can evaluate to true or false.
2250 * A condition that can evaluate to true or false. 2278 /// BooleanConditions are used by conditional formatting,
2251 * BooleanConditions are used by conditional formatting, 2279 /// data validation, and the criteria in filters.
2252 * data validation, and the criteria in filters.
2253 */
2254 class BooleanCondition { 2280 class BooleanCondition {
2255 /** 2281 /// The type of condition.
2256 * The type of condition. 2282 /// Possible string values are:
2257 * Possible string values are: 2283 /// - "CONDITION_TYPE_UNSPECIFIED" : The default value, do not use.
2258 * - "CONDITION_TYPE_UNSPECIFIED" : The default value, do not use. 2284 /// - "NUMBER_GREATER" : The cell's value must be greater than the
2259 * - "NUMBER_GREATER" : The cell's value must be greater than the condition's 2285 /// condition's value.
2260 * value. 2286 /// Supported by data validation, conditional formatting and filters.
2261 * Supported by data validation, conditional formatting and filters. 2287 /// Requires a single ConditionValue.
2262 * Requires a single ConditionValue. 2288 /// - "NUMBER_GREATER_THAN_EQ" : The cell's value must be greater than or
2263 * - "NUMBER_GREATER_THAN_EQ" : The cell's value must be greater than or equal 2289 /// equal to the condition's value.
2264 * to the condition's value. 2290 /// Supported by data validation, conditional formatting and filters.
2265 * Supported by data validation, conditional formatting and filters. 2291 /// Requires a single ConditionValue.
2266 * Requires a single ConditionValue. 2292 /// - "NUMBER_LESS" : The cell's value must be less than the condition's
2267 * - "NUMBER_LESS" : The cell's value must be less than the condition's value. 2293 /// value.
2268 * Supported by data validation, conditional formatting and filters. 2294 /// Supported by data validation, conditional formatting and filters.
2269 * Requires a single ConditionValue. 2295 /// Requires a single ConditionValue.
2270 * - "NUMBER_LESS_THAN_EQ" : The cell's value must be less than or equal to 2296 /// - "NUMBER_LESS_THAN_EQ" : The cell's value must be less than or equal to
2271 * the condition's value. 2297 /// the condition's value.
2272 * Supported by data validation, conditional formatting and filters. 2298 /// Supported by data validation, conditional formatting and filters.
2273 * Requires a single ConditionValue. 2299 /// Requires a single ConditionValue.
2274 * - "NUMBER_EQ" : The cell's value must be equal to the condition's value. 2300 /// - "NUMBER_EQ" : The cell's value must be equal to the condition's value.
2275 * Supported by data validation, conditional formatting and filters. 2301 /// Supported by data validation, conditional formatting and filters.
2276 * Requires a single ConditionValue. 2302 /// Requires a single ConditionValue.
2277 * - "NUMBER_NOT_EQ" : The cell's value must be not equal to the condition's 2303 /// - "NUMBER_NOT_EQ" : The cell's value must be not equal to the condition's
2278 * value. 2304 /// value.
2279 * Supported by data validation, conditional formatting and filters. 2305 /// Supported by data validation, conditional formatting and filters.
2280 * Requires a single ConditionValue. 2306 /// Requires a single ConditionValue.
2281 * - "NUMBER_BETWEEN" : The cell's value must be between the two condition 2307 /// - "NUMBER_BETWEEN" : The cell's value must be between the two condition
2282 * values. 2308 /// values.
2283 * Supported by data validation, conditional formatting and filters. 2309 /// Supported by data validation, conditional formatting and filters.
2284 * Requires exactly two ConditionValues. 2310 /// Requires exactly two ConditionValues.
2285 * - "NUMBER_NOT_BETWEEN" : The cell's value must not be between the two 2311 /// - "NUMBER_NOT_BETWEEN" : The cell's value must not be between the two
2286 * condition values. 2312 /// condition values.
2287 * Supported by data validation, conditional formatting and filters. 2313 /// Supported by data validation, conditional formatting and filters.
2288 * Requires exactly two ConditionValues. 2314 /// Requires exactly two ConditionValues.
2289 * - "TEXT_CONTAINS" : The cell's value must contain the condition's value. 2315 /// - "TEXT_CONTAINS" : The cell's value must contain the condition's value.
2290 * Supported by data validation, conditional formatting and filters. 2316 /// Supported by data validation, conditional formatting and filters.
2291 * Requires a single ConditionValue. 2317 /// Requires a single ConditionValue.
2292 * - "TEXT_NOT_CONTAINS" : The cell's value must not contain the condition's 2318 /// - "TEXT_NOT_CONTAINS" : The cell's value must not contain the condition's
2293 * value. 2319 /// value.
2294 * Supported by data validation, conditional formatting and filters. 2320 /// Supported by data validation, conditional formatting and filters.
2295 * Requires a single ConditionValue. 2321 /// Requires a single ConditionValue.
2296 * - "TEXT_STARTS_WITH" : The cell's value must start with the condition's 2322 /// - "TEXT_STARTS_WITH" : The cell's value must start with the condition's
2297 * value. 2323 /// value.
2298 * Supported by conditional formatting and filters. 2324 /// Supported by conditional formatting and filters.
2299 * Requires a single ConditionValue. 2325 /// Requires a single ConditionValue.
2300 * - "TEXT_ENDS_WITH" : The cell's value must end with the condition's value. 2326 /// - "TEXT_ENDS_WITH" : The cell's value must end with the condition's
2301 * Supported by conditional formatting and filters. 2327 /// value.
2302 * Requires a single ConditionValue. 2328 /// Supported by conditional formatting and filters.
2303 * - "TEXT_EQ" : The cell's value must be exactly the condition's value. 2329 /// Requires a single ConditionValue.
2304 * Supported by data validation, conditional formatting and filters. 2330 /// - "TEXT_EQ" : The cell's value must be exactly the condition's value.
2305 * Requires a single ConditionValue. 2331 /// Supported by data validation, conditional formatting and filters.
2306 * - "TEXT_IS_EMAIL" : The cell's value must be a valid email address. 2332 /// Requires a single ConditionValue.
2307 * Supported by data validation. 2333 /// - "TEXT_IS_EMAIL" : The cell's value must be a valid email address.
2308 * Requires no ConditionValues. 2334 /// Supported by data validation.
2309 * - "TEXT_IS_URL" : The cell's value must be a valid URL. 2335 /// Requires no ConditionValues.
2310 * Supported by data validation. 2336 /// - "TEXT_IS_URL" : The cell's value must be a valid URL.
2311 * Requires no ConditionValues. 2337 /// Supported by data validation.
2312 * - "DATE_EQ" : The cell's value must be the same date as the condition's 2338 /// Requires no ConditionValues.
2313 * value. 2339 /// - "DATE_EQ" : The cell's value must be the same date as the condition's
2314 * Supported by data validation, conditional formatting and filters. 2340 /// value.
2315 * Requires a single ConditionValue. 2341 /// Supported by data validation, conditional formatting and filters.
2316 * - "DATE_BEFORE" : The cell's value must be before the date of the 2342 /// Requires a single ConditionValue.
2317 * condition's value. 2343 /// - "DATE_BEFORE" : The cell's value must be before the date of the
2318 * Supported by data validation, conditional formatting and filters. 2344 /// condition's value.
2319 * Requires a single ConditionValue 2345 /// Supported by data validation, conditional formatting and filters.
2320 * that may be a relative date. 2346 /// Requires a single ConditionValue
2321 * - "DATE_AFTER" : The cell's value must be after the date of the condition's 2347 /// that may be a relative date.
2322 * value. 2348 /// - "DATE_AFTER" : The cell's value must be after the date of the
2323 * Supported by data validation, conditional formatting and filters. 2349 /// condition's value.
2324 * Requires a single ConditionValue 2350 /// Supported by data validation, conditional formatting and filters.
2325 * that may be a relative date. 2351 /// Requires a single ConditionValue
2326 * - "DATE_ON_OR_BEFORE" : The cell's value must be on or before the date of 2352 /// that may be a relative date.
2327 * the condition's value. 2353 /// - "DATE_ON_OR_BEFORE" : The cell's value must be on or before the date of
2328 * Supported by data validation. 2354 /// the condition's value.
2329 * Requires a single ConditionValue 2355 /// Supported by data validation.
2330 * that may be a relative date. 2356 /// Requires a single ConditionValue
2331 * - "DATE_ON_OR_AFTER" : The cell's value must be on or after the date of the 2357 /// that may be a relative date.
2332 * condition's value. 2358 /// - "DATE_ON_OR_AFTER" : The cell's value must be on or after the date of
2333 * Supported by data validation. 2359 /// the condition's value.
2334 * Requires a single ConditionValue 2360 /// Supported by data validation.
2335 * that may be a relative date. 2361 /// Requires a single ConditionValue
2336 * - "DATE_BETWEEN" : The cell's value must be between the dates of the two 2362 /// that may be a relative date.
2337 * condition values. 2363 /// - "DATE_BETWEEN" : The cell's value must be between the dates of the two
2338 * Supported by data validation. 2364 /// condition values.
2339 * Requires exactly two ConditionValues. 2365 /// Supported by data validation.
2340 * - "DATE_NOT_BETWEEN" : The cell's value must be outside the dates of the 2366 /// Requires exactly two ConditionValues.
2341 * two condition values. 2367 /// - "DATE_NOT_BETWEEN" : The cell's value must be outside the dates of the
2342 * Supported by data validation. 2368 /// two condition values.
2343 * Requires exactly two ConditionValues. 2369 /// Supported by data validation.
2344 * - "DATE_IS_VALID" : The cell's value must be a date. 2370 /// Requires exactly two ConditionValues.
2345 * Supported by data validation. 2371 /// - "DATE_IS_VALID" : The cell's value must be a date.
2346 * Requires no ConditionValues. 2372 /// Supported by data validation.
2347 * - "ONE_OF_RANGE" : The cell's value must be listed in the grid in condition 2373 /// Requires no ConditionValues.
2348 * value's range. 2374 /// - "ONE_OF_RANGE" : The cell's value must be listed in the grid in
2349 * Supported by data validation. 2375 /// condition value's range.
2350 * Requires a single ConditionValue, 2376 /// Supported by data validation.
2351 * and the value must be a valid range in A1 notation. 2377 /// Requires a single ConditionValue,
2352 * - "ONE_OF_LIST" : The cell's value must in the list of condition values. 2378 /// and the value must be a valid range in A1 notation.
2353 * Supported by data validation. 2379 /// - "ONE_OF_LIST" : The cell's value must in the list of condition values.
2354 * Supports any number of condition values, 2380 /// Supported by data validation.
2355 * one per item in the list. 2381 /// Supports any number of condition values,
2356 * Formulas are not supported in the values. 2382 /// one per item in the list.
2357 * - "BLANK" : The cell's value must be empty. 2383 /// Formulas are not supported in the values.
2358 * Supported by conditional formatting and filters. 2384 /// - "BLANK" : The cell's value must be empty.
2359 * Requires no ConditionValues. 2385 /// Supported by conditional formatting and filters.
2360 * - "NOT_BLANK" : The cell's value must not be empty. 2386 /// Requires no ConditionValues.
2361 * Supported by conditional formatting and filters. 2387 /// - "NOT_BLANK" : The cell's value must not be empty.
2362 * Requires no ConditionValues. 2388 /// Supported by conditional formatting and filters.
2363 * - "CUSTOM_FORMULA" : The condition's formula must evaluate to true. 2389 /// Requires no ConditionValues.
2364 * Supported by data validation, conditional formatting and filters. 2390 /// - "CUSTOM_FORMULA" : The condition's formula must evaluate to true.
2365 * Requires a single ConditionValue. 2391 /// Supported by data validation, conditional formatting and filters.
2366 */ 2392 /// Requires a single ConditionValue.
2367 core.String type; 2393 core.String type;
2368 /** 2394
2369 * The values of the condition. The number of supported values depends 2395 /// The values of the condition. The number of supported values depends
2370 * on the condition type. Some support zero values, 2396 /// on the condition type. Some support zero values,
2371 * others one or two values, 2397 /// others one or two values,
2372 * and ConditionType.ONE_OF_LIST supports an arbitrary number of values. 2398 /// and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
2373 */
2374 core.List<ConditionValue> values; 2399 core.List<ConditionValue> values;
2375 2400
2376 BooleanCondition(); 2401 BooleanCondition();
2377 2402
2378 BooleanCondition.fromJson(core.Map _json) { 2403 BooleanCondition.fromJson(core.Map _json) {
2379 if (_json.containsKey("type")) { 2404 if (_json.containsKey("type")) {
2380 type = _json["type"]; 2405 type = _json["type"];
2381 } 2406 }
2382 if (_json.containsKey("values")) { 2407 if (_json.containsKey("values")) {
2383 values = _json["values"].map((value) => new ConditionValue.fromJson(value) ).toList(); 2408 values = _json["values"]
2409 .map((value) => new ConditionValue.fromJson(value))
2410 .toList();
2384 } 2411 }
2385 } 2412 }
2386 2413
2387 core.Map<core.String, core.Object> toJson() { 2414 core.Map<core.String, core.Object> toJson() {
2388 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2415 final core.Map<core.String, core.Object> _json =
2416 new core.Map<core.String, core.Object>();
2389 if (type != null) { 2417 if (type != null) {
2390 _json["type"] = type; 2418 _json["type"] = type;
2391 } 2419 }
2392 if (values != null) { 2420 if (values != null) {
2393 _json["values"] = values.map((value) => (value).toJson()).toList(); 2421 _json["values"] = values.map((value) => (value).toJson()).toList();
2394 } 2422 }
2395 return _json; 2423 return _json;
2396 } 2424 }
2397 } 2425 }
2398 2426
2399 /** A rule that may or may not match, depending on the condition. */ 2427 /// A rule that may or may not match, depending on the condition.
2400 class BooleanRule { 2428 class BooleanRule {
2401 /** 2429 /// The condition of the rule. If the condition evaluates to true,
2402 * The condition of the rule. If the condition evaluates to true, 2430 /// the format will be applied.
2403 * the format will be applied.
2404 */
2405 BooleanCondition condition; 2431 BooleanCondition condition;
2406 /** 2432
2407 * The format to apply. 2433 /// The format to apply.
2408 * Conditional formatting can only apply a subset of formatting: 2434 /// Conditional formatting can only apply a subset of formatting:
2409 * bold, italic, 2435 /// bold, italic,
2410 * strikethrough, 2436 /// strikethrough,
2411 * foreground color & 2437 /// foreground color &
2412 * background color. 2438 /// background color.
2413 */
2414 CellFormat format; 2439 CellFormat format;
2415 2440
2416 BooleanRule(); 2441 BooleanRule();
2417 2442
2418 BooleanRule.fromJson(core.Map _json) { 2443 BooleanRule.fromJson(core.Map _json) {
2419 if (_json.containsKey("condition")) { 2444 if (_json.containsKey("condition")) {
2420 condition = new BooleanCondition.fromJson(_json["condition"]); 2445 condition = new BooleanCondition.fromJson(_json["condition"]);
2421 } 2446 }
2422 if (_json.containsKey("format")) { 2447 if (_json.containsKey("format")) {
2423 format = new CellFormat.fromJson(_json["format"]); 2448 format = new CellFormat.fromJson(_json["format"]);
2424 } 2449 }
2425 } 2450 }
2426 2451
2427 core.Map<core.String, core.Object> toJson() { 2452 core.Map<core.String, core.Object> toJson() {
2428 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2453 final core.Map<core.String, core.Object> _json =
2454 new core.Map<core.String, core.Object>();
2429 if (condition != null) { 2455 if (condition != null) {
2430 _json["condition"] = (condition).toJson(); 2456 _json["condition"] = (condition).toJson();
2431 } 2457 }
2432 if (format != null) { 2458 if (format != null) {
2433 _json["format"] = (format).toJson(); 2459 _json["format"] = (format).toJson();
2434 } 2460 }
2435 return _json; 2461 return _json;
2436 } 2462 }
2437 } 2463 }
2438 2464
2439 /** A border along a cell. */ 2465 /// A border along a cell.
2440 class Border { 2466 class Border {
2441 /** The color of the border. */ 2467 /// The color of the border.
2442 Color color; 2468 Color color;
2443 /** 2469
2444 * The style of the border. 2470 /// The style of the border.
2445 * Possible string values are: 2471 /// Possible string values are:
2446 * - "STYLE_UNSPECIFIED" : The style is not specified. Do not use this. 2472 /// - "STYLE_UNSPECIFIED" : The style is not specified. Do not use this.
2447 * - "DOTTED" : The border is dotted. 2473 /// - "DOTTED" : The border is dotted.
2448 * - "DASHED" : The border is dashed. 2474 /// - "DASHED" : The border is dashed.
2449 * - "SOLID" : The border is a thin solid line. 2475 /// - "SOLID" : The border is a thin solid line.
2450 * - "SOLID_MEDIUM" : The border is a medium solid line. 2476 /// - "SOLID_MEDIUM" : The border is a medium solid line.
2451 * - "SOLID_THICK" : The border is a thick solid line. 2477 /// - "SOLID_THICK" : The border is a thick solid line.
2452 * - "NONE" : No border. 2478 /// - "NONE" : No border.
2453 * Used only when updating a border in order to erase it. 2479 /// Used only when updating a border in order to erase it.
2454 * - "DOUBLE" : The border is two solid lines. 2480 /// - "DOUBLE" : The border is two solid lines.
2455 */
2456 core.String style; 2481 core.String style;
2457 /** 2482
2458 * The width of the border, in pixels. 2483 /// The width of the border, in pixels.
2459 * Deprecated; the width is determined by the "style" field. 2484 /// Deprecated; the width is determined by the "style" field.
2460 */
2461 core.int width; 2485 core.int width;
2462 2486
2463 Border(); 2487 Border();
2464 2488
2465 Border.fromJson(core.Map _json) { 2489 Border.fromJson(core.Map _json) {
2466 if (_json.containsKey("color")) { 2490 if (_json.containsKey("color")) {
2467 color = new Color.fromJson(_json["color"]); 2491 color = new Color.fromJson(_json["color"]);
2468 } 2492 }
2469 if (_json.containsKey("style")) { 2493 if (_json.containsKey("style")) {
2470 style = _json["style"]; 2494 style = _json["style"];
2471 } 2495 }
2472 if (_json.containsKey("width")) { 2496 if (_json.containsKey("width")) {
2473 width = _json["width"]; 2497 width = _json["width"];
2474 } 2498 }
2475 } 2499 }
2476 2500
2477 core.Map<core.String, core.Object> toJson() { 2501 core.Map<core.String, core.Object> toJson() {
2478 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2502 final core.Map<core.String, core.Object> _json =
2503 new core.Map<core.String, core.Object>();
2479 if (color != null) { 2504 if (color != null) {
2480 _json["color"] = (color).toJson(); 2505 _json["color"] = (color).toJson();
2481 } 2506 }
2482 if (style != null) { 2507 if (style != null) {
2483 _json["style"] = style; 2508 _json["style"] = style;
2484 } 2509 }
2485 if (width != null) { 2510 if (width != null) {
2486 _json["width"] = width; 2511 _json["width"] = width;
2487 } 2512 }
2488 return _json; 2513 return _json;
2489 } 2514 }
2490 } 2515 }
2491 2516
2492 /** The borders of the cell. */ 2517 /// The borders of the cell.
2493 class Borders { 2518 class Borders {
2494 /** The bottom border of the cell. */ 2519 /// The bottom border of the cell.
2495 Border bottom; 2520 Border bottom;
2496 /** The left border of the cell. */ 2521
2522 /// The left border of the cell.
2497 Border left; 2523 Border left;
2498 /** The right border of the cell. */ 2524
2525 /// The right border of the cell.
2499 Border right; 2526 Border right;
2500 /** The top border of the cell. */ 2527
2528 /// The top border of the cell.
2501 Border top; 2529 Border top;
2502 2530
2503 Borders(); 2531 Borders();
2504 2532
2505 Borders.fromJson(core.Map _json) { 2533 Borders.fromJson(core.Map _json) {
2506 if (_json.containsKey("bottom")) { 2534 if (_json.containsKey("bottom")) {
2507 bottom = new Border.fromJson(_json["bottom"]); 2535 bottom = new Border.fromJson(_json["bottom"]);
2508 } 2536 }
2509 if (_json.containsKey("left")) { 2537 if (_json.containsKey("left")) {
2510 left = new Border.fromJson(_json["left"]); 2538 left = new Border.fromJson(_json["left"]);
2511 } 2539 }
2512 if (_json.containsKey("right")) { 2540 if (_json.containsKey("right")) {
2513 right = new Border.fromJson(_json["right"]); 2541 right = new Border.fromJson(_json["right"]);
2514 } 2542 }
2515 if (_json.containsKey("top")) { 2543 if (_json.containsKey("top")) {
2516 top = new Border.fromJson(_json["top"]); 2544 top = new Border.fromJson(_json["top"]);
2517 } 2545 }
2518 } 2546 }
2519 2547
2520 core.Map<core.String, core.Object> toJson() { 2548 core.Map<core.String, core.Object> toJson() {
2521 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2549 final core.Map<core.String, core.Object> _json =
2550 new core.Map<core.String, core.Object>();
2522 if (bottom != null) { 2551 if (bottom != null) {
2523 _json["bottom"] = (bottom).toJson(); 2552 _json["bottom"] = (bottom).toJson();
2524 } 2553 }
2525 if (left != null) { 2554 if (left != null) {
2526 _json["left"] = (left).toJson(); 2555 _json["left"] = (left).toJson();
2527 } 2556 }
2528 if (right != null) { 2557 if (right != null) {
2529 _json["right"] = (right).toJson(); 2558 _json["right"] = (right).toJson();
2530 } 2559 }
2531 if (top != null) { 2560 if (top != null) {
2532 _json["top"] = (top).toJson(); 2561 _json["top"] = (top).toJson();
2533 } 2562 }
2534 return _json; 2563 return _json;
2535 } 2564 }
2536 } 2565 }
2537 2566
2538 /** 2567 /// A <a href="/chart/interactive/docs/gallery/bubblechart">bubble chart</a>.
2539 * A <a href="/chart/interactive/docs/gallery/bubblechart">bubble chart</a>.
2540 */
2541 class BubbleChartSpec { 2568 class BubbleChartSpec {
2542 /** The bubble border color. */ 2569 /// The bubble border color.
2543 Color bubbleBorderColor; 2570 Color bubbleBorderColor;
2544 /** 2571
2545 * The data containing the bubble labels. These do not need to be unique. 2572 /// The data containing the bubble labels. These do not need to be unique.
2546 */
2547 ChartData bubbleLabels; 2573 ChartData bubbleLabels;
2548 /** 2574
2549 * The max radius size of the bubbles, in pixels. 2575 /// The max radius size of the bubbles, in pixels.
2550 * If specified, the field must be a positive value. 2576 /// If specified, the field must be a positive value.
2551 */
2552 core.int bubbleMaxRadiusSize; 2577 core.int bubbleMaxRadiusSize;
2553 /** 2578
2554 * The minimum radius size of the bubbles, in pixels. 2579 /// The minimum radius size of the bubbles, in pixels.
2555 * If specific, the field must be a positive value. 2580 /// If specific, the field must be a positive value.
2556 */
2557 core.int bubbleMinRadiusSize; 2581 core.int bubbleMinRadiusSize;
2558 /** 2582
2559 * The opacity of the bubbles between 0 and 1.0. 2583 /// The opacity of the bubbles between 0 and 1.0.
2560 * 0 is fully transparent and 1 is fully opaque. 2584 /// 0 is fully transparent and 1 is fully opaque.
2561 */
2562 core.double bubbleOpacity; 2585 core.double bubbleOpacity;
2563 /** 2586
2564 * The data contianing the bubble sizes. Bubble sizes are used to draw 2587 /// The data contianing the bubble sizes. Bubble sizes are used to draw
2565 * the bubbles at different sizes relative to each other. 2588 /// the bubbles at different sizes relative to each other.
2566 * If specified, group_ids must also be specified. This field is 2589 /// If specified, group_ids must also be specified. This field is
2567 * optional. 2590 /// optional.
2568 */
2569 ChartData bubbleSizes; 2591 ChartData bubbleSizes;
2570 /** 2592
2571 * The format of the text inside the bubbles. 2593 /// The format of the text inside the bubbles.
2572 * Underline and Strikethrough are not supported. 2594 /// Underline and Strikethrough are not supported.
2573 */
2574 TextFormat bubbleTextStyle; 2595 TextFormat bubbleTextStyle;
2575 /** 2596
2576 * The data containing the bubble x-values. These values locate the bubbles 2597 /// The data containing the bubble x-values. These values locate the bubbles
2577 * in the chart horizontally. 2598 /// in the chart horizontally.
2578 */
2579 ChartData domain; 2599 ChartData domain;
2580 /** 2600
2581 * The data containing the bubble group IDs. All bubbles with the same group 2601 /// The data containing the bubble group IDs. All bubbles with the same group
2582 * ID will be drawn in the same color. If bubble_sizes is specified then 2602 /// ID will be drawn in the same color. If bubble_sizes is specified then
2583 * this field must also be specified but may contain blank values. 2603 /// this field must also be specified but may contain blank values.
2584 * This field is optional. 2604 /// This field is optional.
2585 */
2586 ChartData groupIds; 2605 ChartData groupIds;
2587 /** 2606
2588 * Where the legend of the chart should be drawn. 2607 /// Where the legend of the chart should be drawn.
2589 * Possible string values are: 2608 /// Possible string values are:
2590 * - "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use. 2609 /// - "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use.
2591 * - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart. 2610 /// - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart.
2592 * - "LEFT_LEGEND" : The legend is rendered on the left of the chart. 2611 /// - "LEFT_LEGEND" : The legend is rendered on the left of the chart.
2593 * - "RIGHT_LEGEND" : The legend is rendered on the right of the chart. 2612 /// - "RIGHT_LEGEND" : The legend is rendered on the right of the chart.
2594 * - "TOP_LEGEND" : The legend is rendered on the top of the chart. 2613 /// - "TOP_LEGEND" : The legend is rendered on the top of the chart.
2595 * - "NO_LEGEND" : No legend is rendered. 2614 /// - "NO_LEGEND" : No legend is rendered.
2596 * - "INSIDE_LEGEND" : The legend is rendered inside the chart area. 2615 /// - "INSIDE_LEGEND" : The legend is rendered inside the chart area.
2597 */
2598 core.String legendPosition; 2616 core.String legendPosition;
2599 /** 2617
2600 * The data contianing the bubble y-values. These values locate the bubbles 2618 /// The data contianing the bubble y-values. These values locate the bubbles
2601 * in the chart vertically. 2619 /// in the chart vertically.
2602 */
2603 ChartData series; 2620 ChartData series;
2604 2621
2605 BubbleChartSpec(); 2622 BubbleChartSpec();
2606 2623
2607 BubbleChartSpec.fromJson(core.Map _json) { 2624 BubbleChartSpec.fromJson(core.Map _json) {
2608 if (_json.containsKey("bubbleBorderColor")) { 2625 if (_json.containsKey("bubbleBorderColor")) {
2609 bubbleBorderColor = new Color.fromJson(_json["bubbleBorderColor"]); 2626 bubbleBorderColor = new Color.fromJson(_json["bubbleBorderColor"]);
2610 } 2627 }
2611 if (_json.containsKey("bubbleLabels")) { 2628 if (_json.containsKey("bubbleLabels")) {
2612 bubbleLabels = new ChartData.fromJson(_json["bubbleLabels"]); 2629 bubbleLabels = new ChartData.fromJson(_json["bubbleLabels"]);
(...skipping 21 matching lines...) Expand all
2634 } 2651 }
2635 if (_json.containsKey("legendPosition")) { 2652 if (_json.containsKey("legendPosition")) {
2636 legendPosition = _json["legendPosition"]; 2653 legendPosition = _json["legendPosition"];
2637 } 2654 }
2638 if (_json.containsKey("series")) { 2655 if (_json.containsKey("series")) {
2639 series = new ChartData.fromJson(_json["series"]); 2656 series = new ChartData.fromJson(_json["series"]);
2640 } 2657 }
2641 } 2658 }
2642 2659
2643 core.Map<core.String, core.Object> toJson() { 2660 core.Map<core.String, core.Object> toJson() {
2644 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2661 final core.Map<core.String, core.Object> _json =
2662 new core.Map<core.String, core.Object>();
2645 if (bubbleBorderColor != null) { 2663 if (bubbleBorderColor != null) {
2646 _json["bubbleBorderColor"] = (bubbleBorderColor).toJson(); 2664 _json["bubbleBorderColor"] = (bubbleBorderColor).toJson();
2647 } 2665 }
2648 if (bubbleLabels != null) { 2666 if (bubbleLabels != null) {
2649 _json["bubbleLabels"] = (bubbleLabels).toJson(); 2667 _json["bubbleLabels"] = (bubbleLabels).toJson();
2650 } 2668 }
2651 if (bubbleMaxRadiusSize != null) { 2669 if (bubbleMaxRadiusSize != null) {
2652 _json["bubbleMaxRadiusSize"] = bubbleMaxRadiusSize; 2670 _json["bubbleMaxRadiusSize"] = bubbleMaxRadiusSize;
2653 } 2671 }
2654 if (bubbleMinRadiusSize != null) { 2672 if (bubbleMinRadiusSize != null) {
(...skipping 17 matching lines...) Expand all
2672 if (legendPosition != null) { 2690 if (legendPosition != null) {
2673 _json["legendPosition"] = legendPosition; 2691 _json["legendPosition"] = legendPosition;
2674 } 2692 }
2675 if (series != null) { 2693 if (series != null) {
2676 _json["series"] = (series).toJson(); 2694 _json["series"] = (series).toJson();
2677 } 2695 }
2678 return _json; 2696 return _json;
2679 } 2697 }
2680 } 2698 }
2681 2699
2682 /** 2700 /// A <a href="/chart/interactive/docs/gallery/candlestickchart">candlestick
2683 * A <a href="/chart/interactive/docs/gallery/candlestickchart">candlestick 2701 /// chart</a>.
2684 * chart</a>.
2685 */
2686 class CandlestickChartSpec { 2702 class CandlestickChartSpec {
2687 /** 2703 /// The Candlestick chart data.
2688 * The Candlestick chart data. 2704 /// Only one CandlestickData is supported.
2689 * Only one CandlestickData is supported.
2690 */
2691 core.List<CandlestickData> data; 2705 core.List<CandlestickData> data;
2692 /** 2706
2693 * The domain data (horizontal axis) for the candlestick chart. String data 2707 /// The domain data (horizontal axis) for the candlestick chart. String data
2694 * will be treated as discrete labels, other data will be treated as 2708 /// will be treated as discrete labels, other data will be treated as
2695 * continuous values. 2709 /// continuous values.
2696 */
2697 CandlestickDomain domain; 2710 CandlestickDomain domain;
2698 2711
2699 CandlestickChartSpec(); 2712 CandlestickChartSpec();
2700 2713
2701 CandlestickChartSpec.fromJson(core.Map _json) { 2714 CandlestickChartSpec.fromJson(core.Map _json) {
2702 if (_json.containsKey("data")) { 2715 if (_json.containsKey("data")) {
2703 data = _json["data"].map((value) => new CandlestickData.fromJson(value)).t oList(); 2716 data = _json["data"]
2717 .map((value) => new CandlestickData.fromJson(value))
2718 .toList();
2704 } 2719 }
2705 if (_json.containsKey("domain")) { 2720 if (_json.containsKey("domain")) {
2706 domain = new CandlestickDomain.fromJson(_json["domain"]); 2721 domain = new CandlestickDomain.fromJson(_json["domain"]);
2707 } 2722 }
2708 } 2723 }
2709 2724
2710 core.Map<core.String, core.Object> toJson() { 2725 core.Map<core.String, core.Object> toJson() {
2711 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2726 final core.Map<core.String, core.Object> _json =
2727 new core.Map<core.String, core.Object>();
2712 if (data != null) { 2728 if (data != null) {
2713 _json["data"] = data.map((value) => (value).toJson()).toList(); 2729 _json["data"] = data.map((value) => (value).toJson()).toList();
2714 } 2730 }
2715 if (domain != null) { 2731 if (domain != null) {
2716 _json["domain"] = (domain).toJson(); 2732 _json["domain"] = (domain).toJson();
2717 } 2733 }
2718 return _json; 2734 return _json;
2719 } 2735 }
2720 } 2736 }
2721 2737
2722 /** 2738 /// The Candlestick chart data, each containing the low, open, close, and high
2723 * The Candlestick chart data, each containing the low, open, close, and high 2739 /// values for a series.
2724 * values for a series.
2725 */
2726 class CandlestickData { 2740 class CandlestickData {
2727 /** 2741 /// The range data (vertical axis) for the close/final value for each candle.
2728 * The range data (vertical axis) for the close/final value for each candle. 2742 /// This is the top of the candle body. If greater than the open value the
2729 * This is the top of the candle body. If greater than the open value the 2743 /// candle will be filled. Otherwise the candle will be hollow.
2730 * candle will be filled. Otherwise the candle will be hollow.
2731 */
2732 CandlestickSeries closeSeries; 2744 CandlestickSeries closeSeries;
2733 /** 2745
2734 * The range data (vertical axis) for the high/maximum value for each 2746 /// The range data (vertical axis) for the high/maximum value for each
2735 * candle. This is the top of the candle's center line. 2747 /// candle. This is the top of the candle's center line.
2736 */
2737 CandlestickSeries highSeries; 2748 CandlestickSeries highSeries;
2738 /** 2749
2739 * The range data (vertical axis) for the low/minimum value for each candle. 2750 /// The range data (vertical axis) for the low/minimum value for each candle.
2740 * This is the bottom of the candle's center line. 2751 /// This is the bottom of the candle's center line.
2741 */
2742 CandlestickSeries lowSeries; 2752 CandlestickSeries lowSeries;
2743 /** 2753
2744 * The range data (vertical axis) for the open/initial value for each 2754 /// The range data (vertical axis) for the open/initial value for each
2745 * candle. This is the bottom of the candle body. If less than the close 2755 /// candle. This is the bottom of the candle body. If less than the close
2746 * value the candle will be filled. Otherwise the candle will be hollow. 2756 /// value the candle will be filled. Otherwise the candle will be hollow.
2747 */
2748 CandlestickSeries openSeries; 2757 CandlestickSeries openSeries;
2749 2758
2750 CandlestickData(); 2759 CandlestickData();
2751 2760
2752 CandlestickData.fromJson(core.Map _json) { 2761 CandlestickData.fromJson(core.Map _json) {
2753 if (_json.containsKey("closeSeries")) { 2762 if (_json.containsKey("closeSeries")) {
2754 closeSeries = new CandlestickSeries.fromJson(_json["closeSeries"]); 2763 closeSeries = new CandlestickSeries.fromJson(_json["closeSeries"]);
2755 } 2764 }
2756 if (_json.containsKey("highSeries")) { 2765 if (_json.containsKey("highSeries")) {
2757 highSeries = new CandlestickSeries.fromJson(_json["highSeries"]); 2766 highSeries = new CandlestickSeries.fromJson(_json["highSeries"]);
2758 } 2767 }
2759 if (_json.containsKey("lowSeries")) { 2768 if (_json.containsKey("lowSeries")) {
2760 lowSeries = new CandlestickSeries.fromJson(_json["lowSeries"]); 2769 lowSeries = new CandlestickSeries.fromJson(_json["lowSeries"]);
2761 } 2770 }
2762 if (_json.containsKey("openSeries")) { 2771 if (_json.containsKey("openSeries")) {
2763 openSeries = new CandlestickSeries.fromJson(_json["openSeries"]); 2772 openSeries = new CandlestickSeries.fromJson(_json["openSeries"]);
2764 } 2773 }
2765 } 2774 }
2766 2775
2767 core.Map<core.String, core.Object> toJson() { 2776 core.Map<core.String, core.Object> toJson() {
2768 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2777 final core.Map<core.String, core.Object> _json =
2778 new core.Map<core.String, core.Object>();
2769 if (closeSeries != null) { 2779 if (closeSeries != null) {
2770 _json["closeSeries"] = (closeSeries).toJson(); 2780 _json["closeSeries"] = (closeSeries).toJson();
2771 } 2781 }
2772 if (highSeries != null) { 2782 if (highSeries != null) {
2773 _json["highSeries"] = (highSeries).toJson(); 2783 _json["highSeries"] = (highSeries).toJson();
2774 } 2784 }
2775 if (lowSeries != null) { 2785 if (lowSeries != null) {
2776 _json["lowSeries"] = (lowSeries).toJson(); 2786 _json["lowSeries"] = (lowSeries).toJson();
2777 } 2787 }
2778 if (openSeries != null) { 2788 if (openSeries != null) {
2779 _json["openSeries"] = (openSeries).toJson(); 2789 _json["openSeries"] = (openSeries).toJson();
2780 } 2790 }
2781 return _json; 2791 return _json;
2782 } 2792 }
2783 } 2793 }
2784 2794
2785 /** The domain of a CandlestickChart. */ 2795 /// The domain of a CandlestickChart.
2786 class CandlestickDomain { 2796 class CandlestickDomain {
2787 /** The data of the CandlestickDomain. */ 2797 /// The data of the CandlestickDomain.
2788 ChartData data; 2798 ChartData data;
2789 /** True to reverse the order of the domain values (horizontal axis). */ 2799
2800 /// True to reverse the order of the domain values (horizontal axis).
2790 core.bool reversed; 2801 core.bool reversed;
2791 2802
2792 CandlestickDomain(); 2803 CandlestickDomain();
2793 2804
2794 CandlestickDomain.fromJson(core.Map _json) { 2805 CandlestickDomain.fromJson(core.Map _json) {
2795 if (_json.containsKey("data")) { 2806 if (_json.containsKey("data")) {
2796 data = new ChartData.fromJson(_json["data"]); 2807 data = new ChartData.fromJson(_json["data"]);
2797 } 2808 }
2798 if (_json.containsKey("reversed")) { 2809 if (_json.containsKey("reversed")) {
2799 reversed = _json["reversed"]; 2810 reversed = _json["reversed"];
2800 } 2811 }
2801 } 2812 }
2802 2813
2803 core.Map<core.String, core.Object> toJson() { 2814 core.Map<core.String, core.Object> toJson() {
2804 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2815 final core.Map<core.String, core.Object> _json =
2816 new core.Map<core.String, core.Object>();
2805 if (data != null) { 2817 if (data != null) {
2806 _json["data"] = (data).toJson(); 2818 _json["data"] = (data).toJson();
2807 } 2819 }
2808 if (reversed != null) { 2820 if (reversed != null) {
2809 _json["reversed"] = reversed; 2821 _json["reversed"] = reversed;
2810 } 2822 }
2811 return _json; 2823 return _json;
2812 } 2824 }
2813 } 2825 }
2814 2826
2815 /** The series of a CandlestickData. */ 2827 /// The series of a CandlestickData.
2816 class CandlestickSeries { 2828 class CandlestickSeries {
2817 /** The data of the CandlestickSeries. */ 2829 /// The data of the CandlestickSeries.
2818 ChartData data; 2830 ChartData data;
2819 2831
2820 CandlestickSeries(); 2832 CandlestickSeries();
2821 2833
2822 CandlestickSeries.fromJson(core.Map _json) { 2834 CandlestickSeries.fromJson(core.Map _json) {
2823 if (_json.containsKey("data")) { 2835 if (_json.containsKey("data")) {
2824 data = new ChartData.fromJson(_json["data"]); 2836 data = new ChartData.fromJson(_json["data"]);
2825 } 2837 }
2826 } 2838 }
2827 2839
2828 core.Map<core.String, core.Object> toJson() { 2840 core.Map<core.String, core.Object> toJson() {
2829 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2841 final core.Map<core.String, core.Object> _json =
2842 new core.Map<core.String, core.Object>();
2830 if (data != null) { 2843 if (data != null) {
2831 _json["data"] = (data).toJson(); 2844 _json["data"] = (data).toJson();
2832 } 2845 }
2833 return _json; 2846 return _json;
2834 } 2847 }
2835 } 2848 }
2836 2849
2837 /** Data about a specific cell. */ 2850 /// Data about a specific cell.
2838 class CellData { 2851 class CellData {
2839 /** 2852 /// A data validation rule on the cell, if any.
2840 * A data validation rule on the cell, if any. 2853 ///
2841 * 2854 /// When writing, the new data validation rule will overwrite any prior rule.
2842 * When writing, the new data validation rule will overwrite any prior rule.
2843 */
2844 DataValidationRule dataValidation; 2855 DataValidationRule dataValidation;
2845 /** 2856
2846 * The effective format being used by the cell. 2857 /// The effective format being used by the cell.
2847 * This includes the results of applying any conditional formatting and, 2858 /// This includes the results of applying any conditional formatting and,
2848 * if the cell contains a formula, the computed number format. 2859 /// if the cell contains a formula, the computed number format.
2849 * If the effective format is the default format, effective format will 2860 /// If the effective format is the default format, effective format will
2850 * not be written. 2861 /// not be written.
2851 * This field is read-only. 2862 /// This field is read-only.
2852 */
2853 CellFormat effectiveFormat; 2863 CellFormat effectiveFormat;
2854 /** 2864
2855 * The effective value of the cell. For cells with formulas, this will be 2865 /// The effective value of the cell. For cells with formulas, this will be
2856 * the calculated value. For cells with literals, this will be 2866 /// the calculated value. For cells with literals, this will be
2857 * the same as the user_entered_value. 2867 /// the same as the user_entered_value.
2858 * This field is read-only. 2868 /// This field is read-only.
2859 */
2860 ExtendedValue effectiveValue; 2869 ExtendedValue effectiveValue;
2861 /** 2870
2862 * The formatted value of the cell. 2871 /// The formatted value of the cell.
2863 * This is the value as it's shown to the user. 2872 /// This is the value as it's shown to the user.
2864 * This field is read-only. 2873 /// This field is read-only.
2865 */
2866 core.String formattedValue; 2874 core.String formattedValue;
2867 /** 2875
2868 * A hyperlink this cell points to, if any. 2876 /// A hyperlink this cell points to, if any.
2869 * This field is read-only. (To set it, use a `=HYPERLINK` formula 2877 /// This field is read-only. (To set it, use a `=HYPERLINK` formula
2870 * in the userEnteredValue.formulaValue 2878 /// in the userEnteredValue.formulaValue
2871 * field.) 2879 /// field.)
2872 */
2873 core.String hyperlink; 2880 core.String hyperlink;
2874 /** Any note on the cell. */ 2881
2882 /// Any note on the cell.
2875 core.String note; 2883 core.String note;
2876 /** 2884
2877 * A pivot table anchored at this cell. The size of pivot table itself 2885 /// A pivot table anchored at this cell. The size of pivot table itself
2878 * is computed dynamically based on its data, grouping, filters, values, 2886 /// is computed dynamically based on its data, grouping, filters, values,
2879 * etc. Only the top-left cell of the pivot table contains the pivot table 2887 /// etc. Only the top-left cell of the pivot table contains the pivot table
2880 * definition. The other cells will contain the calculated values of the 2888 /// definition. The other cells will contain the calculated values of the
2881 * results of the pivot in their effective_value fields. 2889 /// results of the pivot in their effective_value fields.
2882 */
2883 PivotTable pivotTable; 2890 PivotTable pivotTable;
2884 /** 2891
2885 * Runs of rich text applied to subsections of the cell. Runs are only valid 2892 /// Runs of rich text applied to subsections of the cell. Runs are only
2886 * on user entered strings, not formulas, bools, or numbers. 2893 /// valid
2887 * Runs start at specific indexes in the text and continue until the next 2894 /// on user entered strings, not formulas, bools, or numbers.
2888 * run. Properties of a run will continue unless explicitly changed 2895 /// Runs start at specific indexes in the text and continue until the next
2889 * in a subsequent run (and properties of the first run will continue 2896 /// run. Properties of a run will continue unless explicitly changed
2890 * the properties of the cell unless explicitly changed). 2897 /// in a subsequent run (and properties of the first run will continue
2891 * 2898 /// the properties of the cell unless explicitly changed).
2892 * When writing, the new runs will overwrite any prior runs. When writing a 2899 ///
2893 * new user_entered_value, previous runs will be erased. 2900 /// When writing, the new runs will overwrite any prior runs. When writing a
2894 */ 2901 /// new user_entered_value, previous runs will be erased.
2895 core.List<TextFormatRun> textFormatRuns; 2902 core.List<TextFormatRun> textFormatRuns;
2896 /** 2903
2897 * The format the user entered for the cell. 2904 /// The format the user entered for the cell.
2898 * 2905 ///
2899 * When writing, the new format will be merged with the existing format. 2906 /// When writing, the new format will be merged with the existing format.
2900 */
2901 CellFormat userEnteredFormat; 2907 CellFormat userEnteredFormat;
2902 /** 2908
2903 * The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()` 2909 /// The value the user entered in the cell. e.g, `1234`, `'Hello'`, or
2904 * Note: Dates, Times and DateTimes are represented as doubles in 2910 /// `=NOW()`
2905 * serial number format. 2911 /// Note: Dates, Times and DateTimes are represented as doubles in
2906 */ 2912 /// serial number format.
2907 ExtendedValue userEnteredValue; 2913 ExtendedValue userEnteredValue;
2908 2914
2909 CellData(); 2915 CellData();
2910 2916
2911 CellData.fromJson(core.Map _json) { 2917 CellData.fromJson(core.Map _json) {
2912 if (_json.containsKey("dataValidation")) { 2918 if (_json.containsKey("dataValidation")) {
2913 dataValidation = new DataValidationRule.fromJson(_json["dataValidation"]); 2919 dataValidation = new DataValidationRule.fromJson(_json["dataValidation"]);
2914 } 2920 }
2915 if (_json.containsKey("effectiveFormat")) { 2921 if (_json.containsKey("effectiveFormat")) {
2916 effectiveFormat = new CellFormat.fromJson(_json["effectiveFormat"]); 2922 effectiveFormat = new CellFormat.fromJson(_json["effectiveFormat"]);
2917 } 2923 }
2918 if (_json.containsKey("effectiveValue")) { 2924 if (_json.containsKey("effectiveValue")) {
2919 effectiveValue = new ExtendedValue.fromJson(_json["effectiveValue"]); 2925 effectiveValue = new ExtendedValue.fromJson(_json["effectiveValue"]);
2920 } 2926 }
2921 if (_json.containsKey("formattedValue")) { 2927 if (_json.containsKey("formattedValue")) {
2922 formattedValue = _json["formattedValue"]; 2928 formattedValue = _json["formattedValue"];
2923 } 2929 }
2924 if (_json.containsKey("hyperlink")) { 2930 if (_json.containsKey("hyperlink")) {
2925 hyperlink = _json["hyperlink"]; 2931 hyperlink = _json["hyperlink"];
2926 } 2932 }
2927 if (_json.containsKey("note")) { 2933 if (_json.containsKey("note")) {
2928 note = _json["note"]; 2934 note = _json["note"];
2929 } 2935 }
2930 if (_json.containsKey("pivotTable")) { 2936 if (_json.containsKey("pivotTable")) {
2931 pivotTable = new PivotTable.fromJson(_json["pivotTable"]); 2937 pivotTable = new PivotTable.fromJson(_json["pivotTable"]);
2932 } 2938 }
2933 if (_json.containsKey("textFormatRuns")) { 2939 if (_json.containsKey("textFormatRuns")) {
2934 textFormatRuns = _json["textFormatRuns"].map((value) => new TextFormatRun. fromJson(value)).toList(); 2940 textFormatRuns = _json["textFormatRuns"]
2941 .map((value) => new TextFormatRun.fromJson(value))
2942 .toList();
2935 } 2943 }
2936 if (_json.containsKey("userEnteredFormat")) { 2944 if (_json.containsKey("userEnteredFormat")) {
2937 userEnteredFormat = new CellFormat.fromJson(_json["userEnteredFormat"]); 2945 userEnteredFormat = new CellFormat.fromJson(_json["userEnteredFormat"]);
2938 } 2946 }
2939 if (_json.containsKey("userEnteredValue")) { 2947 if (_json.containsKey("userEnteredValue")) {
2940 userEnteredValue = new ExtendedValue.fromJson(_json["userEnteredValue"]); 2948 userEnteredValue = new ExtendedValue.fromJson(_json["userEnteredValue"]);
2941 } 2949 }
2942 } 2950 }
2943 2951
2944 core.Map<core.String, core.Object> toJson() { 2952 core.Map<core.String, core.Object> toJson() {
2945 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2953 final core.Map<core.String, core.Object> _json =
2954 new core.Map<core.String, core.Object>();
2946 if (dataValidation != null) { 2955 if (dataValidation != null) {
2947 _json["dataValidation"] = (dataValidation).toJson(); 2956 _json["dataValidation"] = (dataValidation).toJson();
2948 } 2957 }
2949 if (effectiveFormat != null) { 2958 if (effectiveFormat != null) {
2950 _json["effectiveFormat"] = (effectiveFormat).toJson(); 2959 _json["effectiveFormat"] = (effectiveFormat).toJson();
2951 } 2960 }
2952 if (effectiveValue != null) { 2961 if (effectiveValue != null) {
2953 _json["effectiveValue"] = (effectiveValue).toJson(); 2962 _json["effectiveValue"] = (effectiveValue).toJson();
2954 } 2963 }
2955 if (formattedValue != null) { 2964 if (formattedValue != null) {
2956 _json["formattedValue"] = formattedValue; 2965 _json["formattedValue"] = formattedValue;
2957 } 2966 }
2958 if (hyperlink != null) { 2967 if (hyperlink != null) {
2959 _json["hyperlink"] = hyperlink; 2968 _json["hyperlink"] = hyperlink;
2960 } 2969 }
2961 if (note != null) { 2970 if (note != null) {
2962 _json["note"] = note; 2971 _json["note"] = note;
2963 } 2972 }
2964 if (pivotTable != null) { 2973 if (pivotTable != null) {
2965 _json["pivotTable"] = (pivotTable).toJson(); 2974 _json["pivotTable"] = (pivotTable).toJson();
2966 } 2975 }
2967 if (textFormatRuns != null) { 2976 if (textFormatRuns != null) {
2968 _json["textFormatRuns"] = textFormatRuns.map((value) => (value).toJson()). toList(); 2977 _json["textFormatRuns"] =
2978 textFormatRuns.map((value) => (value).toJson()).toList();
2969 } 2979 }
2970 if (userEnteredFormat != null) { 2980 if (userEnteredFormat != null) {
2971 _json["userEnteredFormat"] = (userEnteredFormat).toJson(); 2981 _json["userEnteredFormat"] = (userEnteredFormat).toJson();
2972 } 2982 }
2973 if (userEnteredValue != null) { 2983 if (userEnteredValue != null) {
2974 _json["userEnteredValue"] = (userEnteredValue).toJson(); 2984 _json["userEnteredValue"] = (userEnteredValue).toJson();
2975 } 2985 }
2976 return _json; 2986 return _json;
2977 } 2987 }
2978 } 2988 }
2979 2989
2980 /** The format of a cell. */ 2990 /// The format of a cell.
2981 class CellFormat { 2991 class CellFormat {
2982 /** The background color of the cell. */ 2992 /// The background color of the cell.
2983 Color backgroundColor; 2993 Color backgroundColor;
2984 /** The borders of the cell. */ 2994
2995 /// The borders of the cell.
2985 Borders borders; 2996 Borders borders;
2986 /** 2997
2987 * The horizontal alignment of the value in the cell. 2998 /// The horizontal alignment of the value in the cell.
2988 * Possible string values are: 2999 /// Possible string values are:
2989 * - "HORIZONTAL_ALIGN_UNSPECIFIED" : The horizontal alignment is not 3000 /// - "HORIZONTAL_ALIGN_UNSPECIFIED" : The horizontal alignment is not
2990 * specified. Do not use this. 3001 /// specified. Do not use this.
2991 * - "LEFT" : The text is explicitly aligned to the left of the cell. 3002 /// - "LEFT" : The text is explicitly aligned to the left of the cell.
2992 * - "CENTER" : The text is explicitly aligned to the center of the cell. 3003 /// - "CENTER" : The text is explicitly aligned to the center of the cell.
2993 * - "RIGHT" : The text is explicitly aligned to the right of the cell. 3004 /// - "RIGHT" : The text is explicitly aligned to the right of the cell.
2994 */
2995 core.String horizontalAlignment; 3005 core.String horizontalAlignment;
2996 /** 3006
2997 * How a hyperlink, if it exists, should be displayed in the cell. 3007 /// How a hyperlink, if it exists, should be displayed in the cell.
2998 * Possible string values are: 3008 /// Possible string values are:
2999 * - "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" : The default value: the hyperlink 3009 /// - "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" : The default value: the hyperlink
3000 * is rendered. Do not use this. 3010 /// is rendered. Do not use this.
3001 * - "LINKED" : A hyperlink should be explicitly rendered. 3011 /// - "LINKED" : A hyperlink should be explicitly rendered.
3002 * - "PLAIN_TEXT" : A hyperlink should not be rendered. 3012 /// - "PLAIN_TEXT" : A hyperlink should not be rendered.
3003 */
3004 core.String hyperlinkDisplayType; 3013 core.String hyperlinkDisplayType;
3005 /** 3014
3006 * A format describing how number values should be represented to the user. 3015 /// A format describing how number values should be represented to the user.
3007 */
3008 NumberFormat numberFormat; 3016 NumberFormat numberFormat;
3009 /** The padding of the cell. */ 3017
3018 /// The padding of the cell.
3010 Padding padding; 3019 Padding padding;
3011 /** 3020
3012 * The direction of the text in the cell. 3021 /// The direction of the text in the cell.
3013 * Possible string values are: 3022 /// Possible string values are:
3014 * - "TEXT_DIRECTION_UNSPECIFIED" : The text direction is not specified. Do 3023 /// - "TEXT_DIRECTION_UNSPECIFIED" : The text direction is not specified. Do
3015 * not use this. 3024 /// not use this.
3016 * - "LEFT_TO_RIGHT" : The text direction of left-to-right was set by the 3025 /// - "LEFT_TO_RIGHT" : The text direction of left-to-right was set by the
3017 * user. 3026 /// user.
3018 * - "RIGHT_TO_LEFT" : The text direction of right-to-left was set by the 3027 /// - "RIGHT_TO_LEFT" : The text direction of right-to-left was set by the
3019 * user. 3028 /// user.
3020 */
3021 core.String textDirection; 3029 core.String textDirection;
3022 /** 3030
3023 * The format of the text in the cell (unless overridden by a format run). 3031 /// The format of the text in the cell (unless overridden by a format run).
3024 */
3025 TextFormat textFormat; 3032 TextFormat textFormat;
3026 /** The rotation applied to text in a cell */ 3033
3034 /// The rotation applied to text in a cell
3027 TextRotation textRotation; 3035 TextRotation textRotation;
3028 /** 3036
3029 * The vertical alignment of the value in the cell. 3037 /// The vertical alignment of the value in the cell.
3030 * Possible string values are: 3038 /// Possible string values are:
3031 * - "VERTICAL_ALIGN_UNSPECIFIED" : The vertical alignment is not specified. 3039 /// - "VERTICAL_ALIGN_UNSPECIFIED" : The vertical alignment is not specified.
3032 * Do not use this. 3040 /// Do not use this.
3033 * - "TOP" : The text is explicitly aligned to the top of the cell. 3041 /// - "TOP" : The text is explicitly aligned to the top of the cell.
3034 * - "MIDDLE" : The text is explicitly aligned to the middle of the cell. 3042 /// - "MIDDLE" : The text is explicitly aligned to the middle of the cell.
3035 * - "BOTTOM" : The text is explicitly aligned to the bottom of the cell. 3043 /// - "BOTTOM" : The text is explicitly aligned to the bottom of the cell.
3036 */
3037 core.String verticalAlignment; 3044 core.String verticalAlignment;
3038 /** 3045
3039 * The wrap strategy for the value in the cell. 3046 /// The wrap strategy for the value in the cell.
3040 * Possible string values are: 3047 /// Possible string values are:
3041 * - "WRAP_STRATEGY_UNSPECIFIED" : The default value, do not use. 3048 /// - "WRAP_STRATEGY_UNSPECIFIED" : The default value, do not use.
3042 * - "OVERFLOW_CELL" : Lines that are longer than the cell width will be 3049 /// - "OVERFLOW_CELL" : Lines that are longer than the cell width will be
3043 * written in the next 3050 /// written in the next
3044 * cell over, so long as that cell is empty. If the next cell over is 3051 /// cell over, so long as that cell is empty. If the next cell over is
3045 * non-empty, this behaves the same as CLIP. The text will never wrap 3052 /// non-empty, this behaves the same as CLIP. The text will never wrap
3046 * to the next line unless the user manually inserts a new line. 3053 /// to the next line unless the user manually inserts a new line.
3047 * Example: 3054 /// Example:
3048 * 3055 ///
3049 * | First sentence. | 3056 /// | First sentence. |
3050 * | Manual newline that is very long. <- Text continues into next cell 3057 /// | Manual newline that is very long. <- Text continues into next cell
3051 * | Next newline. | 3058 /// | Next newline. |
3052 * - "LEGACY_WRAP" : This wrap strategy represents the old Google Sheets wrap 3059 /// - "LEGACY_WRAP" : This wrap strategy represents the old Google Sheets
3053 * strategy where 3060 /// wrap strategy where
3054 * words that are longer than a line are clipped rather than broken. This 3061 /// words that are longer than a line are clipped rather than broken. This
3055 * strategy is not supported on all platforms and is being phased out. 3062 /// strategy is not supported on all platforms and is being phased out.
3056 * Example: 3063 /// Example:
3057 * 3064 ///
3058 * | Cell has a | 3065 /// | Cell has a |
3059 * | loooooooooo| <- Word is clipped. 3066 /// | loooooooooo| <- Word is clipped.
3060 * | word. | 3067 /// | word. |
3061 * - "CLIP" : Lines that are longer than the cell width will be clipped. 3068 /// - "CLIP" : Lines that are longer than the cell width will be clipped.
3062 * The text will never wrap to the next line unless the user manually 3069 /// The text will never wrap to the next line unless the user manually
3063 * inserts a new line. 3070 /// inserts a new line.
3064 * Example: 3071 /// Example:
3065 * 3072 ///
3066 * | First sentence. | 3073 /// | First sentence. |
3067 * | Manual newline t| <- Text is clipped 3074 /// | Manual newline t| <- Text is clipped
3068 * | Next newline. | 3075 /// | Next newline. |
3069 * - "WRAP" : Words that are longer than a line are wrapped at the character 3076 /// - "WRAP" : Words that are longer than a line are wrapped at the character
3070 * level 3077 /// level
3071 * rather than clipped. 3078 /// rather than clipped.
3072 * Example: 3079 /// Example:
3073 * 3080 ///
3074 * | Cell has a | 3081 /// | Cell has a |
3075 * | loooooooooo| <- Word is broken. 3082 /// | loooooooooo| <- Word is broken.
3076 * | ong word. | 3083 /// | ong word. |
3077 */
3078 core.String wrapStrategy; 3084 core.String wrapStrategy;
3079 3085
3080 CellFormat(); 3086 CellFormat();
3081 3087
3082 CellFormat.fromJson(core.Map _json) { 3088 CellFormat.fromJson(core.Map _json) {
3083 if (_json.containsKey("backgroundColor")) { 3089 if (_json.containsKey("backgroundColor")) {
3084 backgroundColor = new Color.fromJson(_json["backgroundColor"]); 3090 backgroundColor = new Color.fromJson(_json["backgroundColor"]);
3085 } 3091 }
3086 if (_json.containsKey("borders")) { 3092 if (_json.containsKey("borders")) {
3087 borders = new Borders.fromJson(_json["borders"]); 3093 borders = new Borders.fromJson(_json["borders"]);
(...skipping 21 matching lines...) Expand all
3109 } 3115 }
3110 if (_json.containsKey("verticalAlignment")) { 3116 if (_json.containsKey("verticalAlignment")) {
3111 verticalAlignment = _json["verticalAlignment"]; 3117 verticalAlignment = _json["verticalAlignment"];
3112 } 3118 }
3113 if (_json.containsKey("wrapStrategy")) { 3119 if (_json.containsKey("wrapStrategy")) {
3114 wrapStrategy = _json["wrapStrategy"]; 3120 wrapStrategy = _json["wrapStrategy"];
3115 } 3121 }
3116 } 3122 }
3117 3123
3118 core.Map<core.String, core.Object> toJson() { 3124 core.Map<core.String, core.Object> toJson() {
3119 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3125 final core.Map<core.String, core.Object> _json =
3126 new core.Map<core.String, core.Object>();
3120 if (backgroundColor != null) { 3127 if (backgroundColor != null) {
3121 _json["backgroundColor"] = (backgroundColor).toJson(); 3128 _json["backgroundColor"] = (backgroundColor).toJson();
3122 } 3129 }
3123 if (borders != null) { 3130 if (borders != null) {
3124 _json["borders"] = (borders).toJson(); 3131 _json["borders"] = (borders).toJson();
3125 } 3132 }
3126 if (horizontalAlignment != null) { 3133 if (horizontalAlignment != null) {
3127 _json["horizontalAlignment"] = horizontalAlignment; 3134 _json["horizontalAlignment"] = horizontalAlignment;
3128 } 3135 }
3129 if (hyperlinkDisplayType != null) { 3136 if (hyperlinkDisplayType != null) {
(...skipping 17 matching lines...) Expand all
3147 if (verticalAlignment != null) { 3154 if (verticalAlignment != null) {
3148 _json["verticalAlignment"] = verticalAlignment; 3155 _json["verticalAlignment"] = verticalAlignment;
3149 } 3156 }
3150 if (wrapStrategy != null) { 3157 if (wrapStrategy != null) {
3151 _json["wrapStrategy"] = wrapStrategy; 3158 _json["wrapStrategy"] = wrapStrategy;
3152 } 3159 }
3153 return _json; 3160 return _json;
3154 } 3161 }
3155 } 3162 }
3156 3163
3157 /** The data included in a domain or series. */ 3164 /// The data included in a domain or series.
3158 class ChartData { 3165 class ChartData {
3159 /** The source ranges of the data. */ 3166 /// The source ranges of the data.
3160 ChartSourceRange sourceRange; 3167 ChartSourceRange sourceRange;
3161 3168
3162 ChartData(); 3169 ChartData();
3163 3170
3164 ChartData.fromJson(core.Map _json) { 3171 ChartData.fromJson(core.Map _json) {
3165 if (_json.containsKey("sourceRange")) { 3172 if (_json.containsKey("sourceRange")) {
3166 sourceRange = new ChartSourceRange.fromJson(_json["sourceRange"]); 3173 sourceRange = new ChartSourceRange.fromJson(_json["sourceRange"]);
3167 } 3174 }
3168 } 3175 }
3169 3176
3170 core.Map<core.String, core.Object> toJson() { 3177 core.Map<core.String, core.Object> toJson() {
3171 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3178 final core.Map<core.String, core.Object> _json =
3179 new core.Map<core.String, core.Object>();
3172 if (sourceRange != null) { 3180 if (sourceRange != null) {
3173 _json["sourceRange"] = (sourceRange).toJson(); 3181 _json["sourceRange"] = (sourceRange).toJson();
3174 } 3182 }
3175 return _json; 3183 return _json;
3176 } 3184 }
3177 } 3185 }
3178 3186
3179 /** Source ranges for a chart. */ 3187 /// Source ranges for a chart.
3180 class ChartSourceRange { 3188 class ChartSourceRange {
3181 /** 3189 /// The ranges of data for a series or domain.
3182 * The ranges of data for a series or domain. 3190 /// Exactly one dimension must have a length of 1,
3183 * Exactly one dimension must have a length of 1, 3191 /// and all sources in the list must have the same dimension
3184 * and all sources in the list must have the same dimension 3192 /// with length 1.
3185 * with length 1. 3193 /// The domain (if it exists) & all series must have the same number
3186 * The domain (if it exists) & all series must have the same number 3194 /// of source ranges. If using more than one source range, then the source
3187 * of source ranges. If using more than one source range, then the source 3195 /// range at a given offset must be contiguous across the domain and series.
3188 * range at a given offset must be contiguous across the domain and series. 3196 ///
3189 * 3197 /// For example, these are valid configurations:
3190 * For example, these are valid configurations: 3198 ///
3191 * 3199 /// domain sources: A1:A5
3192 * domain sources: A1:A5 3200 /// series1 sources: B1:B5
3193 * series1 sources: B1:B5 3201 /// series2 sources: D6:D10
3194 * series2 sources: D6:D10 3202 ///
3195 * 3203 /// domain sources: A1:A5, C10:C12
3196 * domain sources: A1:A5, C10:C12 3204 /// series1 sources: B1:B5, D10:D12
3197 * series1 sources: B1:B5, D10:D12 3205 /// series2 sources: C1:C5, E10:E12
3198 * series2 sources: C1:C5, E10:E12
3199 */
3200 core.List<GridRange> sources; 3206 core.List<GridRange> sources;
3201 3207
3202 ChartSourceRange(); 3208 ChartSourceRange();
3203 3209
3204 ChartSourceRange.fromJson(core.Map _json) { 3210 ChartSourceRange.fromJson(core.Map _json) {
3205 if (_json.containsKey("sources")) { 3211 if (_json.containsKey("sources")) {
3206 sources = _json["sources"].map((value) => new GridRange.fromJson(value)).t oList(); 3212 sources = _json["sources"]
3213 .map((value) => new GridRange.fromJson(value))
3214 .toList();
3207 } 3215 }
3208 } 3216 }
3209 3217
3210 core.Map<core.String, core.Object> toJson() { 3218 core.Map<core.String, core.Object> toJson() {
3211 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3219 final core.Map<core.String, core.Object> _json =
3220 new core.Map<core.String, core.Object>();
3212 if (sources != null) { 3221 if (sources != null) {
3213 _json["sources"] = sources.map((value) => (value).toJson()).toList(); 3222 _json["sources"] = sources.map((value) => (value).toJson()).toList();
3214 } 3223 }
3215 return _json; 3224 return _json;
3216 } 3225 }
3217 } 3226 }
3218 3227
3219 /** The specifications of a chart. */ 3228 /// The specifications of a chart.
3220 class ChartSpec { 3229 class ChartSpec {
3221 /** 3230 /// The alternative text that describes the chart. This is often used
3222 * The alternative text that describes the chart. This is often used 3231 /// for accessibility.
3223 * for accessibility.
3224 */
3225 core.String altText; 3232 core.String altText;
3226 /** 3233
3227 * The background color of the entire chart. 3234 /// The background color of the entire chart.
3228 * Not applicable to Org charts. 3235 /// Not applicable to Org charts.
3229 */
3230 Color backgroundColor; 3236 Color backgroundColor;
3231 /** 3237
3232 * A basic chart specification, can be one of many kinds of charts. 3238 /// A basic chart specification, can be one of many kinds of charts.
3233 * See BasicChartType for the list of all 3239 /// See BasicChartType for the list of all
3234 * charts this supports. 3240 /// charts this supports.
3235 */
3236 BasicChartSpec basicChart; 3241 BasicChartSpec basicChart;
3237 /** A bubble chart specification. */ 3242
3243 /// A bubble chart specification.
3238 BubbleChartSpec bubbleChart; 3244 BubbleChartSpec bubbleChart;
3239 /** A candlestick chart specification. */ 3245
3246 /// A candlestick chart specification.
3240 CandlestickChartSpec candlestickChart; 3247 CandlestickChartSpec candlestickChart;
3241 /** 3248
3242 * The name of the font to use by default for all chart text (e.g. title, 3249 /// The name of the font to use by default for all chart text (e.g. title,
3243 * axis labels, legend). If a font is specified for a specific part of the 3250 /// axis labels, legend). If a font is specified for a specific part of the
3244 * chart it will override this font name. 3251 /// chart it will override this font name.
3245 */
3246 core.String fontName; 3252 core.String fontName;
3247 /** 3253
3248 * Determines how the charts will use hidden rows or columns. 3254 /// Determines how the charts will use hidden rows or columns.
3249 * Possible string values are: 3255 /// Possible string values are:
3250 * - "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" : Default value, do not 3256 /// - "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" : Default value, do not
3251 * use. 3257 /// use.
3252 * - "SKIP_HIDDEN_ROWS_AND_COLUMNS" : Charts will skip hidden rows and 3258 /// - "SKIP_HIDDEN_ROWS_AND_COLUMNS" : Charts will skip hidden rows and
3253 * columns. 3259 /// columns.
3254 * - "SKIP_HIDDEN_ROWS" : Charts will skip hidden rows only. 3260 /// - "SKIP_HIDDEN_ROWS" : Charts will skip hidden rows only.
3255 * - "SKIP_HIDDEN_COLUMNS" : Charts will skip hidden columns only. 3261 /// - "SKIP_HIDDEN_COLUMNS" : Charts will skip hidden columns only.
3256 * - "SHOW_ALL" : Charts will not skip any hidden rows or columns. 3262 /// - "SHOW_ALL" : Charts will not skip any hidden rows or columns.
3257 */
3258 core.String hiddenDimensionStrategy; 3263 core.String hiddenDimensionStrategy;
3259 /** A histogram chart specification. */ 3264
3265 /// A histogram chart specification.
3260 HistogramChartSpec histogramChart; 3266 HistogramChartSpec histogramChart;
3261 /** 3267
3262 * True to make a chart fill the entire space in which it's rendered with 3268 /// True to make a chart fill the entire space in which it's rendered with
3263 * minimum padding. False to use the default padding. 3269 /// minimum padding. False to use the default padding.
3264 * (Not applicable to Geo and Org charts.) 3270 /// (Not applicable to Geo and Org charts.)
3265 */
3266 core.bool maximized; 3271 core.bool maximized;
3267 /** An org chart specification. */ 3272
3273 /// An org chart specification.
3268 OrgChartSpec orgChart; 3274 OrgChartSpec orgChart;
3269 /** A pie chart specification. */ 3275
3276 /// A pie chart specification.
3270 PieChartSpec pieChart; 3277 PieChartSpec pieChart;
3271 /** The title of the chart. */ 3278
3279 /// The title of the chart.
3272 core.String title; 3280 core.String title;
3273 /** 3281
3274 * The title text format. 3282 /// The title text format.
3275 * Strikethrough and underline are not supported. 3283 /// Strikethrough and underline are not supported.
3276 */
3277 TextFormat titleTextFormat; 3284 TextFormat titleTextFormat;
3278 3285
3279 ChartSpec(); 3286 ChartSpec();
3280 3287
3281 ChartSpec.fromJson(core.Map _json) { 3288 ChartSpec.fromJson(core.Map _json) {
3282 if (_json.containsKey("altText")) { 3289 if (_json.containsKey("altText")) {
3283 altText = _json["altText"]; 3290 altText = _json["altText"];
3284 } 3291 }
3285 if (_json.containsKey("backgroundColor")) { 3292 if (_json.containsKey("backgroundColor")) {
3286 backgroundColor = new Color.fromJson(_json["backgroundColor"]); 3293 backgroundColor = new Color.fromJson(_json["backgroundColor"]);
3287 } 3294 }
3288 if (_json.containsKey("basicChart")) { 3295 if (_json.containsKey("basicChart")) {
3289 basicChart = new BasicChartSpec.fromJson(_json["basicChart"]); 3296 basicChart = new BasicChartSpec.fromJson(_json["basicChart"]);
3290 } 3297 }
3291 if (_json.containsKey("bubbleChart")) { 3298 if (_json.containsKey("bubbleChart")) {
3292 bubbleChart = new BubbleChartSpec.fromJson(_json["bubbleChart"]); 3299 bubbleChart = new BubbleChartSpec.fromJson(_json["bubbleChart"]);
3293 } 3300 }
3294 if (_json.containsKey("candlestickChart")) { 3301 if (_json.containsKey("candlestickChart")) {
3295 candlestickChart = new CandlestickChartSpec.fromJson(_json["candlestickCha rt"]); 3302 candlestickChart =
3303 new CandlestickChartSpec.fromJson(_json["candlestickChart"]);
3296 } 3304 }
3297 if (_json.containsKey("fontName")) { 3305 if (_json.containsKey("fontName")) {
3298 fontName = _json["fontName"]; 3306 fontName = _json["fontName"];
3299 } 3307 }
3300 if (_json.containsKey("hiddenDimensionStrategy")) { 3308 if (_json.containsKey("hiddenDimensionStrategy")) {
3301 hiddenDimensionStrategy = _json["hiddenDimensionStrategy"]; 3309 hiddenDimensionStrategy = _json["hiddenDimensionStrategy"];
3302 } 3310 }
3303 if (_json.containsKey("histogramChart")) { 3311 if (_json.containsKey("histogramChart")) {
3304 histogramChart = new HistogramChartSpec.fromJson(_json["histogramChart"]); 3312 histogramChart = new HistogramChartSpec.fromJson(_json["histogramChart"]);
3305 } 3313 }
3306 if (_json.containsKey("maximized")) { 3314 if (_json.containsKey("maximized")) {
3307 maximized = _json["maximized"]; 3315 maximized = _json["maximized"];
3308 } 3316 }
3309 if (_json.containsKey("orgChart")) { 3317 if (_json.containsKey("orgChart")) {
3310 orgChart = new OrgChartSpec.fromJson(_json["orgChart"]); 3318 orgChart = new OrgChartSpec.fromJson(_json["orgChart"]);
3311 } 3319 }
3312 if (_json.containsKey("pieChart")) { 3320 if (_json.containsKey("pieChart")) {
3313 pieChart = new PieChartSpec.fromJson(_json["pieChart"]); 3321 pieChart = new PieChartSpec.fromJson(_json["pieChart"]);
3314 } 3322 }
3315 if (_json.containsKey("title")) { 3323 if (_json.containsKey("title")) {
3316 title = _json["title"]; 3324 title = _json["title"];
3317 } 3325 }
3318 if (_json.containsKey("titleTextFormat")) { 3326 if (_json.containsKey("titleTextFormat")) {
3319 titleTextFormat = new TextFormat.fromJson(_json["titleTextFormat"]); 3327 titleTextFormat = new TextFormat.fromJson(_json["titleTextFormat"]);
3320 } 3328 }
3321 } 3329 }
3322 3330
3323 core.Map<core.String, core.Object> toJson() { 3331 core.Map<core.String, core.Object> toJson() {
3324 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3332 final core.Map<core.String, core.Object> _json =
3333 new core.Map<core.String, core.Object>();
3325 if (altText != null) { 3334 if (altText != null) {
3326 _json["altText"] = altText; 3335 _json["altText"] = altText;
3327 } 3336 }
3328 if (backgroundColor != null) { 3337 if (backgroundColor != null) {
3329 _json["backgroundColor"] = (backgroundColor).toJson(); 3338 _json["backgroundColor"] = (backgroundColor).toJson();
3330 } 3339 }
3331 if (basicChart != null) { 3340 if (basicChart != null) {
3332 _json["basicChart"] = (basicChart).toJson(); 3341 _json["basicChart"] = (basicChart).toJson();
3333 } 3342 }
3334 if (bubbleChart != null) { 3343 if (bubbleChart != null) {
(...skipping 23 matching lines...) Expand all
3358 if (title != null) { 3367 if (title != null) {
3359 _json["title"] = title; 3368 _json["title"] = title;
3360 } 3369 }
3361 if (titleTextFormat != null) { 3370 if (titleTextFormat != null) {
3362 _json["titleTextFormat"] = (titleTextFormat).toJson(); 3371 _json["titleTextFormat"] = (titleTextFormat).toJson();
3363 } 3372 }
3364 return _json; 3373 return _json;
3365 } 3374 }
3366 } 3375 }
3367 3376
3368 /** Clears the basic filter, if any exists on the sheet. */ 3377 /// Clears the basic filter, if any exists on the sheet.
3369 class ClearBasicFilterRequest { 3378 class ClearBasicFilterRequest {
3370 /** The sheet ID on which the basic filter should be cleared. */ 3379 /// The sheet ID on which the basic filter should be cleared.
3371 core.int sheetId; 3380 core.int sheetId;
3372 3381
3373 ClearBasicFilterRequest(); 3382 ClearBasicFilterRequest();
3374 3383
3375 ClearBasicFilterRequest.fromJson(core.Map _json) { 3384 ClearBasicFilterRequest.fromJson(core.Map _json) {
3376 if (_json.containsKey("sheetId")) { 3385 if (_json.containsKey("sheetId")) {
3377 sheetId = _json["sheetId"]; 3386 sheetId = _json["sheetId"];
3378 } 3387 }
3379 } 3388 }
3380 3389
3381 core.Map<core.String, core.Object> toJson() { 3390 core.Map<core.String, core.Object> toJson() {
3382 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3391 final core.Map<core.String, core.Object> _json =
3392 new core.Map<core.String, core.Object>();
3383 if (sheetId != null) { 3393 if (sheetId != null) {
3384 _json["sheetId"] = sheetId; 3394 _json["sheetId"] = sheetId;
3385 } 3395 }
3386 return _json; 3396 return _json;
3387 } 3397 }
3388 } 3398 }
3389 3399
3390 /** The request for clearing a range of values in a spreadsheet. */ 3400 /// The request for clearing a range of values in a spreadsheet.
3391 class ClearValuesRequest { 3401 class ClearValuesRequest {
3392
3393 ClearValuesRequest(); 3402 ClearValuesRequest();
3394 3403
3395 ClearValuesRequest.fromJson(core.Map _json) { 3404 ClearValuesRequest.fromJson(core.Map _json) {}
3396 }
3397 3405
3398 core.Map<core.String, core.Object> toJson() { 3406 core.Map<core.String, core.Object> toJson() {
3399 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3407 final core.Map<core.String, core.Object> _json =
3408 new core.Map<core.String, core.Object>();
3400 return _json; 3409 return _json;
3401 } 3410 }
3402 } 3411 }
3403 3412
3404 /** The response when clearing a range of values in a spreadsheet. */ 3413 /// The response when clearing a range of values in a spreadsheet.
3405 class ClearValuesResponse { 3414 class ClearValuesResponse {
3406 /** 3415 /// The range (in A1 notation) that was cleared.
3407 * The range (in A1 notation) that was cleared. 3416 /// (If the request was for an unbounded range or a ranger larger
3408 * (If the request was for an unbounded range or a ranger larger 3417 /// than the bounds of the sheet, this will be the actual range
3409 * than the bounds of the sheet, this will be the actual range 3418 /// that was cleared, bounded to the sheet's limits.)
3410 * that was cleared, bounded to the sheet's limits.)
3411 */
3412 core.String clearedRange; 3419 core.String clearedRange;
3413 /** The spreadsheet the updates were applied to. */ 3420
3421 /// The spreadsheet the updates were applied to.
3414 core.String spreadsheetId; 3422 core.String spreadsheetId;
3415 3423
3416 ClearValuesResponse(); 3424 ClearValuesResponse();
3417 3425
3418 ClearValuesResponse.fromJson(core.Map _json) { 3426 ClearValuesResponse.fromJson(core.Map _json) {
3419 if (_json.containsKey("clearedRange")) { 3427 if (_json.containsKey("clearedRange")) {
3420 clearedRange = _json["clearedRange"]; 3428 clearedRange = _json["clearedRange"];
3421 } 3429 }
3422 if (_json.containsKey("spreadsheetId")) { 3430 if (_json.containsKey("spreadsheetId")) {
3423 spreadsheetId = _json["spreadsheetId"]; 3431 spreadsheetId = _json["spreadsheetId"];
3424 } 3432 }
3425 } 3433 }
3426 3434
3427 core.Map<core.String, core.Object> toJson() { 3435 core.Map<core.String, core.Object> toJson() {
3428 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3436 final core.Map<core.String, core.Object> _json =
3437 new core.Map<core.String, core.Object>();
3429 if (clearedRange != null) { 3438 if (clearedRange != null) {
3430 _json["clearedRange"] = clearedRange; 3439 _json["clearedRange"] = clearedRange;
3431 } 3440 }
3432 if (spreadsheetId != null) { 3441 if (spreadsheetId != null) {
3433 _json["spreadsheetId"] = spreadsheetId; 3442 _json["spreadsheetId"] = spreadsheetId;
3434 } 3443 }
3435 return _json; 3444 return _json;
3436 } 3445 }
3437 } 3446 }
3438 3447
3439 /** 3448 /// Represents a color in the RGBA color space. This representation is designed
3440 * Represents a color in the RGBA color space. This representation is designed 3449 /// for simplicity of conversion to/from color representations in various
3441 * for simplicity of conversion to/from color representations in various 3450 /// languages over compactness; for example, the fields of this representation
3442 * languages over compactness; for example, the fields of this representation 3451 /// can be trivially provided to the constructor of "java.awt.Color" in Java;
3443 * can be trivially provided to the constructor of "java.awt.Color" in Java; it 3452 /// it
3444 * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" 3453 /// can also be trivially provided to UIColor's
3445 * method in iOS; and, with just a little work, it can be easily formatted into 3454 /// "+colorWithRed:green:blue:alpha"
3446 * a CSS "rgba()" string in JavaScript, as well. Here are some examples: 3455 /// method in iOS; and, with just a little work, it can be easily formatted
3447 * 3456 /// into
3448 * Example (Java): 3457 /// a CSS "rgba()" string in JavaScript, as well. Here are some examples:
3449 * 3458 ///
3450 * import com.google.type.Color; 3459 /// Example (Java):
3451 * 3460 ///
3452 * // ... 3461 /// import com.google.type.Color;
3453 * public static java.awt.Color fromProto(Color protocolor) { 3462 ///
3454 * float alpha = protocolor.hasAlpha() 3463 /// // ...
3455 * ? protocolor.getAlpha().getValue() 3464 /// public static java.awt.Color fromProto(Color protocolor) {
3456 * : 1.0; 3465 /// float alpha = protocolor.hasAlpha()
3457 * 3466 /// ? protocolor.getAlpha().getValue()
3458 * return new java.awt.Color( 3467 /// : 1.0;
3459 * protocolor.getRed(), 3468 ///
3460 * protocolor.getGreen(), 3469 /// return new java.awt.Color(
3461 * protocolor.getBlue(), 3470 /// protocolor.getRed(),
3462 * alpha); 3471 /// protocolor.getGreen(),
3463 * } 3472 /// protocolor.getBlue(),
3464 * 3473 /// alpha);
3465 * public static Color toProto(java.awt.Color color) { 3474 /// }
3466 * float red = (float) color.getRed(); 3475 ///
3467 * float green = (float) color.getGreen(); 3476 /// public static Color toProto(java.awt.Color color) {
3468 * float blue = (float) color.getBlue(); 3477 /// float red = (float) color.getRed();
3469 * float denominator = 255.0; 3478 /// float green = (float) color.getGreen();
3470 * Color.Builder resultBuilder = 3479 /// float blue = (float) color.getBlue();
3471 * Color 3480 /// float denominator = 255.0;
3472 * .newBuilder() 3481 /// Color.Builder resultBuilder =
3473 * .setRed(red / denominator) 3482 /// Color
3474 * .setGreen(green / denominator) 3483 /// .newBuilder()
3475 * .setBlue(blue / denominator); 3484 /// .setRed(red / denominator)
3476 * int alpha = color.getAlpha(); 3485 /// .setGreen(green / denominator)
3477 * if (alpha != 255) { 3486 /// .setBlue(blue / denominator);
3478 * result.setAlpha( 3487 /// int alpha = color.getAlpha();
3479 * FloatValue 3488 /// if (alpha != 255) {
3480 * .newBuilder() 3489 /// result.setAlpha(
3481 * .setValue(((float) alpha) / denominator) 3490 /// FloatValue
3482 * .build()); 3491 /// .newBuilder()
3483 * } 3492 /// .setValue(((float) alpha) / denominator)
3484 * return resultBuilder.build(); 3493 /// .build());
3485 * } 3494 /// }
3486 * // ... 3495 /// return resultBuilder.build();
3487 * 3496 /// }
3488 * Example (iOS / Obj-C): 3497 /// // ...
3489 * 3498 ///
3490 * // ... 3499 /// Example (iOS / Obj-C):
3491 * static UIColor* fromProto(Color* protocolor) { 3500 ///
3492 * float red = [protocolor red]; 3501 /// // ...
3493 * float green = [protocolor green]; 3502 /// static UIColor* fromProto(Color* protocolor) {
3494 * float blue = [protocolor blue]; 3503 /// float red = [protocolor red];
3495 * FloatValue* alpha_wrapper = [protocolor alpha]; 3504 /// float green = [protocolor green];
3496 * float alpha = 1.0; 3505 /// float blue = [protocolor blue];
3497 * if (alpha_wrapper != nil) { 3506 /// FloatValue* alpha_wrapper = [protocolor alpha];
3498 * alpha = [alpha_wrapper value]; 3507 /// float alpha = 1.0;
3499 * } 3508 /// if (alpha_wrapper != nil) {
3500 * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; 3509 /// alpha = [alpha_wrapper value];
3501 * } 3510 /// }
3502 * 3511 /// return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
3503 * static Color* toProto(UIColor* color) { 3512 /// }
3504 * CGFloat red, green, blue, alpha; 3513 ///
3505 * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { 3514 /// static Color* toProto(UIColor* color) {
3506 * return nil; 3515 /// CGFloat red, green, blue, alpha;
3507 * } 3516 /// if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
3508 * Color* result = [Color alloc] init]; 3517 /// return nil;
3509 * [result setRed:red]; 3518 /// }
3510 * [result setGreen:green]; 3519 /// Color* result = [Color alloc] init];
3511 * [result setBlue:blue]; 3520 /// [result setRed:red];
3512 * if (alpha <= 0.9999) { 3521 /// [result setGreen:green];
3513 * [result setAlpha:floatWrapperWithValue(alpha)]; 3522 /// [result setBlue:blue];
3514 * } 3523 /// if (alpha <= 0.9999) {
3515 * [result autorelease]; 3524 /// [result setAlpha:floatWrapperWithValue(alpha)];
3516 * return result; 3525 /// }
3517 * } 3526 /// [result autorelease];
3518 * // ... 3527 /// return result;
3519 * 3528 /// }
3520 * Example (JavaScript): 3529 /// // ...
3521 * 3530 ///
3522 * // ... 3531 /// Example (JavaScript):
3523 * 3532 ///
3524 * var protoToCssColor = function(rgb_color) { 3533 /// // ...
3525 * var redFrac = rgb_color.red || 0.0; 3534 ///
3526 * var greenFrac = rgb_color.green || 0.0; 3535 /// var protoToCssColor = function(rgb_color) {
3527 * var blueFrac = rgb_color.blue || 0.0; 3536 /// var redFrac = rgb_color.red || 0.0;
3528 * var red = Math.floor(redFrac * 255); 3537 /// var greenFrac = rgb_color.green || 0.0;
3529 * var green = Math.floor(greenFrac * 255); 3538 /// var blueFrac = rgb_color.blue || 0.0;
3530 * var blue = Math.floor(blueFrac * 255); 3539 /// var red = Math.floor(redFrac * 255);
3531 * 3540 /// var green = Math.floor(greenFrac * 255);
3532 * if (!('alpha' in rgb_color)) { 3541 /// var blue = Math.floor(blueFrac * 255);
3533 * return rgbToCssColor_(red, green, blue); 3542 ///
3534 * } 3543 /// if (!('alpha' in rgb_color)) {
3535 * 3544 /// return rgbToCssColor_(red, green, blue);
3536 * var alphaFrac = rgb_color.alpha.value || 0.0; 3545 /// }
3537 * var rgbParams = [red, green, blue].join(','); 3546 ///
3538 * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); 3547 /// var alphaFrac = rgb_color.alpha.value || 0.0;
3539 * }; 3548 /// var rgbParams = [red, green, blue].join(',');
3540 * 3549 /// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
3541 * var rgbToCssColor_ = function(red, green, blue) { 3550 /// };
3542 * var rgbNumber = new Number((red << 16) | (green << 8) | blue); 3551 ///
3543 * var hexString = rgbNumber.toString(16); 3552 /// var rgbToCssColor_ = function(red, green, blue) {
3544 * var missingZeros = 6 - hexString.length; 3553 /// var rgbNumber = new Number((red << 16) | (green << 8) | blue);
3545 * var resultBuilder = ['#']; 3554 /// var hexString = rgbNumber.toString(16);
3546 * for (var i = 0; i < missingZeros; i++) { 3555 /// var missingZeros = 6 - hexString.length;
3547 * resultBuilder.push('0'); 3556 /// var resultBuilder = ['#'];
3548 * } 3557 /// for (var i = 0; i < missingZeros; i++) {
3549 * resultBuilder.push(hexString); 3558 /// resultBuilder.push('0');
3550 * return resultBuilder.join(''); 3559 /// }
3551 * }; 3560 /// resultBuilder.push(hexString);
3552 * 3561 /// return resultBuilder.join('');
3553 * // ... 3562 /// };
3554 */ 3563 ///
3564 /// // ...
3555 class Color { 3565 class Color {
3556 /** 3566 /// The fraction of this color that should be applied to the pixel. That is,
3557 * The fraction of this color that should be applied to the pixel. That is, 3567 /// the final pixel color is defined by the equation:
3558 * the final pixel color is defined by the equation: 3568 ///
3559 * 3569 /// pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
3560 * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) 3570 ///
3561 * 3571 /// This means that a value of 1.0 corresponds to a solid color, whereas
3562 * This means that a value of 1.0 corresponds to a solid color, whereas 3572 /// a value of 0.0 corresponds to a completely transparent color. This
3563 * a value of 0.0 corresponds to a completely transparent color. This 3573 /// uses a wrapper message rather than a simple float scalar so that it is
3564 * uses a wrapper message rather than a simple float scalar so that it is 3574 /// possible to distinguish between a default value and the value being
3565 * possible to distinguish between a default value and the value being unset. 3575 /// unset.
3566 * If omitted, this color object is to be rendered as a solid color 3576 /// If omitted, this color object is to be rendered as a solid color
3567 * (as if the alpha value had been explicitly given with a value of 1.0). 3577 /// (as if the alpha value had been explicitly given with a value of 1.0).
3568 */
3569 core.double alpha; 3578 core.double alpha;
3570 /** The amount of blue in the color as a value in the interval [0, 1]. */ 3579
3580 /// The amount of blue in the color as a value in the interval [0, 1].
3571 core.double blue; 3581 core.double blue;
3572 /** The amount of green in the color as a value in the interval [0, 1]. */ 3582
3583 /// The amount of green in the color as a value in the interval [0, 1].
3573 core.double green; 3584 core.double green;
3574 /** The amount of red in the color as a value in the interval [0, 1]. */ 3585
3586 /// The amount of red in the color as a value in the interval [0, 1].
3575 core.double red; 3587 core.double red;
3576 3588
3577 Color(); 3589 Color();
3578 3590
3579 Color.fromJson(core.Map _json) { 3591 Color.fromJson(core.Map _json) {
3580 if (_json.containsKey("alpha")) { 3592 if (_json.containsKey("alpha")) {
3581 alpha = _json["alpha"]; 3593 alpha = _json["alpha"];
3582 } 3594 }
3583 if (_json.containsKey("blue")) { 3595 if (_json.containsKey("blue")) {
3584 blue = _json["blue"]; 3596 blue = _json["blue"];
3585 } 3597 }
3586 if (_json.containsKey("green")) { 3598 if (_json.containsKey("green")) {
3587 green = _json["green"]; 3599 green = _json["green"];
3588 } 3600 }
3589 if (_json.containsKey("red")) { 3601 if (_json.containsKey("red")) {
3590 red = _json["red"]; 3602 red = _json["red"];
3591 } 3603 }
3592 } 3604 }
3593 3605
3594 core.Map<core.String, core.Object> toJson() { 3606 core.Map<core.String, core.Object> toJson() {
3595 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3607 final core.Map<core.String, core.Object> _json =
3608 new core.Map<core.String, core.Object>();
3596 if (alpha != null) { 3609 if (alpha != null) {
3597 _json["alpha"] = alpha; 3610 _json["alpha"] = alpha;
3598 } 3611 }
3599 if (blue != null) { 3612 if (blue != null) {
3600 _json["blue"] = blue; 3613 _json["blue"] = blue;
3601 } 3614 }
3602 if (green != null) { 3615 if (green != null) {
3603 _json["green"] = green; 3616 _json["green"] = green;
3604 } 3617 }
3605 if (red != null) { 3618 if (red != null) {
3606 _json["red"] = red; 3619 _json["red"] = red;
3607 } 3620 }
3608 return _json; 3621 return _json;
3609 } 3622 }
3610 } 3623 }
3611 3624
3612 /** The value of the condition. */ 3625 /// The value of the condition.
3613 class ConditionValue { 3626 class ConditionValue {
3614 /** 3627 /// A relative date (based on the current date).
3615 * A relative date (based on the current date). 3628 /// Valid only if the type is
3616 * Valid only if the type is 3629 /// DATE_BEFORE,
3617 * DATE_BEFORE, 3630 /// DATE_AFTER,
3618 * DATE_AFTER, 3631 /// DATE_ON_OR_BEFORE or
3619 * DATE_ON_OR_BEFORE or 3632 /// DATE_ON_OR_AFTER.
3620 * DATE_ON_OR_AFTER. 3633 ///
3621 * 3634 /// Relative dates are not supported in data validation.
3622 * Relative dates are not supported in data validation. 3635 /// They are supported only in conditional formatting and
3623 * They are supported only in conditional formatting and 3636 /// conditional filters.
3624 * conditional filters. 3637 /// Possible string values are:
3625 * Possible string values are: 3638 /// - "RELATIVE_DATE_UNSPECIFIED" : Default value, do not use.
3626 * - "RELATIVE_DATE_UNSPECIFIED" : Default value, do not use. 3639 /// - "PAST_YEAR" : The value is one year before today.
3627 * - "PAST_YEAR" : The value is one year before today. 3640 /// - "PAST_MONTH" : The value is one month before today.
3628 * - "PAST_MONTH" : The value is one month before today. 3641 /// - "PAST_WEEK" : The value is one week before today.
3629 * - "PAST_WEEK" : The value is one week before today. 3642 /// - "YESTERDAY" : The value is yesterday.
3630 * - "YESTERDAY" : The value is yesterday. 3643 /// - "TODAY" : The value is today.
3631 * - "TODAY" : The value is today. 3644 /// - "TOMORROW" : The value is tomorrow.
3632 * - "TOMORROW" : The value is tomorrow.
3633 */
3634 core.String relativeDate; 3645 core.String relativeDate;
3635 /** 3646
3636 * A value the condition is based on. 3647 /// A value the condition is based on.
3637 * The value will be parsed as if the user typed into a cell. 3648 /// The value will be parsed as if the user typed into a cell.
3638 * Formulas are supported (and must begin with an `=`). 3649 /// Formulas are supported (and must begin with an `=`).
3639 */
3640 core.String userEnteredValue; 3650 core.String userEnteredValue;
3641 3651
3642 ConditionValue(); 3652 ConditionValue();
3643 3653
3644 ConditionValue.fromJson(core.Map _json) { 3654 ConditionValue.fromJson(core.Map _json) {
3645 if (_json.containsKey("relativeDate")) { 3655 if (_json.containsKey("relativeDate")) {
3646 relativeDate = _json["relativeDate"]; 3656 relativeDate = _json["relativeDate"];
3647 } 3657 }
3648 if (_json.containsKey("userEnteredValue")) { 3658 if (_json.containsKey("userEnteredValue")) {
3649 userEnteredValue = _json["userEnteredValue"]; 3659 userEnteredValue = _json["userEnteredValue"];
3650 } 3660 }
3651 } 3661 }
3652 3662
3653 core.Map<core.String, core.Object> toJson() { 3663 core.Map<core.String, core.Object> toJson() {
3654 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3664 final core.Map<core.String, core.Object> _json =
3665 new core.Map<core.String, core.Object>();
3655 if (relativeDate != null) { 3666 if (relativeDate != null) {
3656 _json["relativeDate"] = relativeDate; 3667 _json["relativeDate"] = relativeDate;
3657 } 3668 }
3658 if (userEnteredValue != null) { 3669 if (userEnteredValue != null) {
3659 _json["userEnteredValue"] = userEnteredValue; 3670 _json["userEnteredValue"] = userEnteredValue;
3660 } 3671 }
3661 return _json; 3672 return _json;
3662 } 3673 }
3663 } 3674 }
3664 3675
3665 /** A rule describing a conditional format. */ 3676 /// A rule describing a conditional format.
3666 class ConditionalFormatRule { 3677 class ConditionalFormatRule {
3667 /** The formatting is either "on" or "off" according to the rule. */ 3678 /// The formatting is either "on" or "off" according to the rule.
3668 BooleanRule booleanRule; 3679 BooleanRule booleanRule;
3669 /** The formatting will vary based on the gradients in the rule. */ 3680
3681 /// The formatting will vary based on the gradients in the rule.
3670 GradientRule gradientRule; 3682 GradientRule gradientRule;
3671 /** 3683
3672 * The ranges that will be formatted if the condition is true. 3684 /// The ranges that will be formatted if the condition is true.
3673 * All the ranges must be on the same grid. 3685 /// All the ranges must be on the same grid.
3674 */
3675 core.List<GridRange> ranges; 3686 core.List<GridRange> ranges;
3676 3687
3677 ConditionalFormatRule(); 3688 ConditionalFormatRule();
3678 3689
3679 ConditionalFormatRule.fromJson(core.Map _json) { 3690 ConditionalFormatRule.fromJson(core.Map _json) {
3680 if (_json.containsKey("booleanRule")) { 3691 if (_json.containsKey("booleanRule")) {
3681 booleanRule = new BooleanRule.fromJson(_json["booleanRule"]); 3692 booleanRule = new BooleanRule.fromJson(_json["booleanRule"]);
3682 } 3693 }
3683 if (_json.containsKey("gradientRule")) { 3694 if (_json.containsKey("gradientRule")) {
3684 gradientRule = new GradientRule.fromJson(_json["gradientRule"]); 3695 gradientRule = new GradientRule.fromJson(_json["gradientRule"]);
3685 } 3696 }
3686 if (_json.containsKey("ranges")) { 3697 if (_json.containsKey("ranges")) {
3687 ranges = _json["ranges"].map((value) => new GridRange.fromJson(value)).toL ist(); 3698 ranges = _json["ranges"]
3699 .map((value) => new GridRange.fromJson(value))
3700 .toList();
3688 } 3701 }
3689 } 3702 }
3690 3703
3691 core.Map<core.String, core.Object> toJson() { 3704 core.Map<core.String, core.Object> toJson() {
3692 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3705 final core.Map<core.String, core.Object> _json =
3706 new core.Map<core.String, core.Object>();
3693 if (booleanRule != null) { 3707 if (booleanRule != null) {
3694 _json["booleanRule"] = (booleanRule).toJson(); 3708 _json["booleanRule"] = (booleanRule).toJson();
3695 } 3709 }
3696 if (gradientRule != null) { 3710 if (gradientRule != null) {
3697 _json["gradientRule"] = (gradientRule).toJson(); 3711 _json["gradientRule"] = (gradientRule).toJson();
3698 } 3712 }
3699 if (ranges != null) { 3713 if (ranges != null) {
3700 _json["ranges"] = ranges.map((value) => (value).toJson()).toList(); 3714 _json["ranges"] = ranges.map((value) => (value).toJson()).toList();
3701 } 3715 }
3702 return _json; 3716 return _json;
3703 } 3717 }
3704 } 3718 }
3705 3719
3706 /** Copies data from the source to the destination. */ 3720 /// Copies data from the source to the destination.
3707 class CopyPasteRequest { 3721 class CopyPasteRequest {
3708 /** 3722 /// The location to paste to. If the range covers a span that's
3709 * The location to paste to. If the range covers a span that's 3723 /// a multiple of the source's height or width, then the
3710 * a multiple of the source's height or width, then the 3724 /// data will be repeated to fill in the destination range.
3711 * data will be repeated to fill in the destination range. 3725 /// If the range is smaller than the source range, the entire
3712 * If the range is smaller than the source range, the entire 3726 /// source data will still be copied (beyond the end of the destination
3713 * source data will still be copied (beyond the end of the destination range). 3727 /// range).
3714 */
3715 GridRange destination; 3728 GridRange destination;
3716 /** 3729
3717 * How that data should be oriented when pasting. 3730 /// How that data should be oriented when pasting.
3718 * Possible string values are: 3731 /// Possible string values are:
3719 * - "NORMAL" : Paste normally. 3732 /// - "NORMAL" : Paste normally.
3720 * - "TRANSPOSE" : Paste transposed, where all rows become columns and vice 3733 /// - "TRANSPOSE" : Paste transposed, where all rows become columns and vice
3721 * versa. 3734 /// versa.
3722 */
3723 core.String pasteOrientation; 3735 core.String pasteOrientation;
3724 /** 3736
3725 * What kind of data to paste. 3737 /// What kind of data to paste.
3726 * Possible string values are: 3738 /// Possible string values are:
3727 * - "PASTE_NORMAL" : Paste values, formulas, formats, and merges. 3739 /// - "PASTE_NORMAL" : Paste values, formulas, formats, and merges.
3728 * - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or 3740 /// - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or
3729 * merges. 3741 /// merges.
3730 * - "PASTE_FORMAT" : Paste the format and data validation only. 3742 /// - "PASTE_FORMAT" : Paste the format and data validation only.
3731 * - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders. 3743 /// - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders.
3732 * - "PASTE_FORMULA" : Paste the formulas only. 3744 /// - "PASTE_FORMULA" : Paste the formulas only.
3733 * - "PASTE_DATA_VALIDATION" : Paste the data validation only. 3745 /// - "PASTE_DATA_VALIDATION" : Paste the data validation only.
3734 * - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules 3746 /// - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules
3735 * only. 3747 /// only.
3736 */
3737 core.String pasteType; 3748 core.String pasteType;
3738 /** The source range to copy. */ 3749
3750 /// The source range to copy.
3739 GridRange source; 3751 GridRange source;
3740 3752
3741 CopyPasteRequest(); 3753 CopyPasteRequest();
3742 3754
3743 CopyPasteRequest.fromJson(core.Map _json) { 3755 CopyPasteRequest.fromJson(core.Map _json) {
3744 if (_json.containsKey("destination")) { 3756 if (_json.containsKey("destination")) {
3745 destination = new GridRange.fromJson(_json["destination"]); 3757 destination = new GridRange.fromJson(_json["destination"]);
3746 } 3758 }
3747 if (_json.containsKey("pasteOrientation")) { 3759 if (_json.containsKey("pasteOrientation")) {
3748 pasteOrientation = _json["pasteOrientation"]; 3760 pasteOrientation = _json["pasteOrientation"];
3749 } 3761 }
3750 if (_json.containsKey("pasteType")) { 3762 if (_json.containsKey("pasteType")) {
3751 pasteType = _json["pasteType"]; 3763 pasteType = _json["pasteType"];
3752 } 3764 }
3753 if (_json.containsKey("source")) { 3765 if (_json.containsKey("source")) {
3754 source = new GridRange.fromJson(_json["source"]); 3766 source = new GridRange.fromJson(_json["source"]);
3755 } 3767 }
3756 } 3768 }
3757 3769
3758 core.Map<core.String, core.Object> toJson() { 3770 core.Map<core.String, core.Object> toJson() {
3759 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3771 final core.Map<core.String, core.Object> _json =
3772 new core.Map<core.String, core.Object>();
3760 if (destination != null) { 3773 if (destination != null) {
3761 _json["destination"] = (destination).toJson(); 3774 _json["destination"] = (destination).toJson();
3762 } 3775 }
3763 if (pasteOrientation != null) { 3776 if (pasteOrientation != null) {
3764 _json["pasteOrientation"] = pasteOrientation; 3777 _json["pasteOrientation"] = pasteOrientation;
3765 } 3778 }
3766 if (pasteType != null) { 3779 if (pasteType != null) {
3767 _json["pasteType"] = pasteType; 3780 _json["pasteType"] = pasteType;
3768 } 3781 }
3769 if (source != null) { 3782 if (source != null) {
3770 _json["source"] = (source).toJson(); 3783 _json["source"] = (source).toJson();
3771 } 3784 }
3772 return _json; 3785 return _json;
3773 } 3786 }
3774 } 3787 }
3775 3788
3776 /** The request to copy a sheet across spreadsheets. */ 3789 /// The request to copy a sheet across spreadsheets.
3777 class CopySheetToAnotherSpreadsheetRequest { 3790 class CopySheetToAnotherSpreadsheetRequest {
3778 /** The ID of the spreadsheet to copy the sheet to. */ 3791 /// The ID of the spreadsheet to copy the sheet to.
3779 core.String destinationSpreadsheetId; 3792 core.String destinationSpreadsheetId;
3780 3793
3781 CopySheetToAnotherSpreadsheetRequest(); 3794 CopySheetToAnotherSpreadsheetRequest();
3782 3795
3783 CopySheetToAnotherSpreadsheetRequest.fromJson(core.Map _json) { 3796 CopySheetToAnotherSpreadsheetRequest.fromJson(core.Map _json) {
3784 if (_json.containsKey("destinationSpreadsheetId")) { 3797 if (_json.containsKey("destinationSpreadsheetId")) {
3785 destinationSpreadsheetId = _json["destinationSpreadsheetId"]; 3798 destinationSpreadsheetId = _json["destinationSpreadsheetId"];
3786 } 3799 }
3787 } 3800 }
3788 3801
3789 core.Map<core.String, core.Object> toJson() { 3802 core.Map<core.String, core.Object> toJson() {
3790 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3803 final core.Map<core.String, core.Object> _json =
3804 new core.Map<core.String, core.Object>();
3791 if (destinationSpreadsheetId != null) { 3805 if (destinationSpreadsheetId != null) {
3792 _json["destinationSpreadsheetId"] = destinationSpreadsheetId; 3806 _json["destinationSpreadsheetId"] = destinationSpreadsheetId;
3793 } 3807 }
3794 return _json; 3808 return _json;
3795 } 3809 }
3796 } 3810 }
3797 3811
3798 /** Moves data from the source to the destination. */ 3812 /// Moves data from the source to the destination.
3799 class CutPasteRequest { 3813 class CutPasteRequest {
3800 /** The top-left coordinate where the data should be pasted. */ 3814 /// The top-left coordinate where the data should be pasted.
3801 GridCoordinate destination; 3815 GridCoordinate destination;
3802 /** 3816
3803 * What kind of data to paste. All the source data will be cut, regardless 3817 /// What kind of data to paste. All the source data will be cut, regardless
3804 * of what is pasted. 3818 /// of what is pasted.
3805 * Possible string values are: 3819 /// Possible string values are:
3806 * - "PASTE_NORMAL" : Paste values, formulas, formats, and merges. 3820 /// - "PASTE_NORMAL" : Paste values, formulas, formats, and merges.
3807 * - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or 3821 /// - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or
3808 * merges. 3822 /// merges.
3809 * - "PASTE_FORMAT" : Paste the format and data validation only. 3823 /// - "PASTE_FORMAT" : Paste the format and data validation only.
3810 * - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders. 3824 /// - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders.
3811 * - "PASTE_FORMULA" : Paste the formulas only. 3825 /// - "PASTE_FORMULA" : Paste the formulas only.
3812 * - "PASTE_DATA_VALIDATION" : Paste the data validation only. 3826 /// - "PASTE_DATA_VALIDATION" : Paste the data validation only.
3813 * - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules 3827 /// - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules
3814 * only. 3828 /// only.
3815 */
3816 core.String pasteType; 3829 core.String pasteType;
3817 /** The source data to cut. */ 3830
3831 /// The source data to cut.
3818 GridRange source; 3832 GridRange source;
3819 3833
3820 CutPasteRequest(); 3834 CutPasteRequest();
3821 3835
3822 CutPasteRequest.fromJson(core.Map _json) { 3836 CutPasteRequest.fromJson(core.Map _json) {
3823 if (_json.containsKey("destination")) { 3837 if (_json.containsKey("destination")) {
3824 destination = new GridCoordinate.fromJson(_json["destination"]); 3838 destination = new GridCoordinate.fromJson(_json["destination"]);
3825 } 3839 }
3826 if (_json.containsKey("pasteType")) { 3840 if (_json.containsKey("pasteType")) {
3827 pasteType = _json["pasteType"]; 3841 pasteType = _json["pasteType"];
3828 } 3842 }
3829 if (_json.containsKey("source")) { 3843 if (_json.containsKey("source")) {
3830 source = new GridRange.fromJson(_json["source"]); 3844 source = new GridRange.fromJson(_json["source"]);
3831 } 3845 }
3832 } 3846 }
3833 3847
3834 core.Map<core.String, core.Object> toJson() { 3848 core.Map<core.String, core.Object> toJson() {
3835 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3849 final core.Map<core.String, core.Object> _json =
3850 new core.Map<core.String, core.Object>();
3836 if (destination != null) { 3851 if (destination != null) {
3837 _json["destination"] = (destination).toJson(); 3852 _json["destination"] = (destination).toJson();
3838 } 3853 }
3839 if (pasteType != null) { 3854 if (pasteType != null) {
3840 _json["pasteType"] = pasteType; 3855 _json["pasteType"] = pasteType;
3841 } 3856 }
3842 if (source != null) { 3857 if (source != null) {
3843 _json["source"] = (source).toJson(); 3858 _json["source"] = (source).toJson();
3844 } 3859 }
3845 return _json; 3860 return _json;
3846 } 3861 }
3847 } 3862 }
3848 3863
3849 /** A data validation rule. */ 3864 /// A data validation rule.
3850 class DataValidationRule { 3865 class DataValidationRule {
3851 /** The condition that data in the cell must match. */ 3866 /// The condition that data in the cell must match.
3852 BooleanCondition condition; 3867 BooleanCondition condition;
3853 /** A message to show the user when adding data to the cell. */ 3868
3869 /// A message to show the user when adding data to the cell.
3854 core.String inputMessage; 3870 core.String inputMessage;
3855 /** 3871
3856 * True if the UI should be customized based on the kind of condition. 3872 /// True if the UI should be customized based on the kind of condition.
3857 * If true, "List" conditions will show a dropdown. 3873 /// If true, "List" conditions will show a dropdown.
3858 */
3859 core.bool showCustomUi; 3874 core.bool showCustomUi;
3860 /** True if invalid data should be rejected. */ 3875
3876 /// True if invalid data should be rejected.
3861 core.bool strict; 3877 core.bool strict;
3862 3878
3863 DataValidationRule(); 3879 DataValidationRule();
3864 3880
3865 DataValidationRule.fromJson(core.Map _json) { 3881 DataValidationRule.fromJson(core.Map _json) {
3866 if (_json.containsKey("condition")) { 3882 if (_json.containsKey("condition")) {
3867 condition = new BooleanCondition.fromJson(_json["condition"]); 3883 condition = new BooleanCondition.fromJson(_json["condition"]);
3868 } 3884 }
3869 if (_json.containsKey("inputMessage")) { 3885 if (_json.containsKey("inputMessage")) {
3870 inputMessage = _json["inputMessage"]; 3886 inputMessage = _json["inputMessage"];
3871 } 3887 }
3872 if (_json.containsKey("showCustomUi")) { 3888 if (_json.containsKey("showCustomUi")) {
3873 showCustomUi = _json["showCustomUi"]; 3889 showCustomUi = _json["showCustomUi"];
3874 } 3890 }
3875 if (_json.containsKey("strict")) { 3891 if (_json.containsKey("strict")) {
3876 strict = _json["strict"]; 3892 strict = _json["strict"];
3877 } 3893 }
3878 } 3894 }
3879 3895
3880 core.Map<core.String, core.Object> toJson() { 3896 core.Map<core.String, core.Object> toJson() {
3881 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3897 final core.Map<core.String, core.Object> _json =
3898 new core.Map<core.String, core.Object>();
3882 if (condition != null) { 3899 if (condition != null) {
3883 _json["condition"] = (condition).toJson(); 3900 _json["condition"] = (condition).toJson();
3884 } 3901 }
3885 if (inputMessage != null) { 3902 if (inputMessage != null) {
3886 _json["inputMessage"] = inputMessage; 3903 _json["inputMessage"] = inputMessage;
3887 } 3904 }
3888 if (showCustomUi != null) { 3905 if (showCustomUi != null) {
3889 _json["showCustomUi"] = showCustomUi; 3906 _json["showCustomUi"] = showCustomUi;
3890 } 3907 }
3891 if (strict != null) { 3908 if (strict != null) {
3892 _json["strict"] = strict; 3909 _json["strict"] = strict;
3893 } 3910 }
3894 return _json; 3911 return _json;
3895 } 3912 }
3896 } 3913 }
3897 3914
3898 /** Removes the banded range with the given ID from the spreadsheet. */ 3915 /// Removes the banded range with the given ID from the spreadsheet.
3899 class DeleteBandingRequest { 3916 class DeleteBandingRequest {
3900 /** The ID of the banded range to delete. */ 3917 /// The ID of the banded range to delete.
3901 core.int bandedRangeId; 3918 core.int bandedRangeId;
3902 3919
3903 DeleteBandingRequest(); 3920 DeleteBandingRequest();
3904 3921
3905 DeleteBandingRequest.fromJson(core.Map _json) { 3922 DeleteBandingRequest.fromJson(core.Map _json) {
3906 if (_json.containsKey("bandedRangeId")) { 3923 if (_json.containsKey("bandedRangeId")) {
3907 bandedRangeId = _json["bandedRangeId"]; 3924 bandedRangeId = _json["bandedRangeId"];
3908 } 3925 }
3909 } 3926 }
3910 3927
3911 core.Map<core.String, core.Object> toJson() { 3928 core.Map<core.String, core.Object> toJson() {
3912 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3929 final core.Map<core.String, core.Object> _json =
3930 new core.Map<core.String, core.Object>();
3913 if (bandedRangeId != null) { 3931 if (bandedRangeId != null) {
3914 _json["bandedRangeId"] = bandedRangeId; 3932 _json["bandedRangeId"] = bandedRangeId;
3915 } 3933 }
3916 return _json; 3934 return _json;
3917 } 3935 }
3918 } 3936 }
3919 3937
3920 /** 3938 /// Deletes a conditional format rule at the given index.
3921 * Deletes a conditional format rule at the given index. 3939 /// All subsequent rules' indexes are decremented.
3922 * All subsequent rules' indexes are decremented.
3923 */
3924 class DeleteConditionalFormatRuleRequest { 3940 class DeleteConditionalFormatRuleRequest {
3925 /** The zero-based index of the rule to be deleted. */ 3941 /// The zero-based index of the rule to be deleted.
3926 core.int index; 3942 core.int index;
3927 /** The sheet the rule is being deleted from. */ 3943
3944 /// The sheet the rule is being deleted from.
3928 core.int sheetId; 3945 core.int sheetId;
3929 3946
3930 DeleteConditionalFormatRuleRequest(); 3947 DeleteConditionalFormatRuleRequest();
3931 3948
3932 DeleteConditionalFormatRuleRequest.fromJson(core.Map _json) { 3949 DeleteConditionalFormatRuleRequest.fromJson(core.Map _json) {
3933 if (_json.containsKey("index")) { 3950 if (_json.containsKey("index")) {
3934 index = _json["index"]; 3951 index = _json["index"];
3935 } 3952 }
3936 if (_json.containsKey("sheetId")) { 3953 if (_json.containsKey("sheetId")) {
3937 sheetId = _json["sheetId"]; 3954 sheetId = _json["sheetId"];
3938 } 3955 }
3939 } 3956 }
3940 3957
3941 core.Map<core.String, core.Object> toJson() { 3958 core.Map<core.String, core.Object> toJson() {
3942 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3959 final core.Map<core.String, core.Object> _json =
3960 new core.Map<core.String, core.Object>();
3943 if (index != null) { 3961 if (index != null) {
3944 _json["index"] = index; 3962 _json["index"] = index;
3945 } 3963 }
3946 if (sheetId != null) { 3964 if (sheetId != null) {
3947 _json["sheetId"] = sheetId; 3965 _json["sheetId"] = sheetId;
3948 } 3966 }
3949 return _json; 3967 return _json;
3950 } 3968 }
3951 } 3969 }
3952 3970
3953 /** The result of deleting a conditional format rule. */ 3971 /// The result of deleting a conditional format rule.
3954 class DeleteConditionalFormatRuleResponse { 3972 class DeleteConditionalFormatRuleResponse {
3955 /** The rule that was deleted. */ 3973 /// The rule that was deleted.
3956 ConditionalFormatRule rule; 3974 ConditionalFormatRule rule;
3957 3975
3958 DeleteConditionalFormatRuleResponse(); 3976 DeleteConditionalFormatRuleResponse();
3959 3977
3960 DeleteConditionalFormatRuleResponse.fromJson(core.Map _json) { 3978 DeleteConditionalFormatRuleResponse.fromJson(core.Map _json) {
3961 if (_json.containsKey("rule")) { 3979 if (_json.containsKey("rule")) {
3962 rule = new ConditionalFormatRule.fromJson(_json["rule"]); 3980 rule = new ConditionalFormatRule.fromJson(_json["rule"]);
3963 } 3981 }
3964 } 3982 }
3965 3983
3966 core.Map<core.String, core.Object> toJson() { 3984 core.Map<core.String, core.Object> toJson() {
3967 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3985 final core.Map<core.String, core.Object> _json =
3986 new core.Map<core.String, core.Object>();
3968 if (rule != null) { 3987 if (rule != null) {
3969 _json["rule"] = (rule).toJson(); 3988 _json["rule"] = (rule).toJson();
3970 } 3989 }
3971 return _json; 3990 return _json;
3972 } 3991 }
3973 } 3992 }
3974 3993
3975 /** Deletes the dimensions from the sheet. */ 3994 /// Deletes the dimensions from the sheet.
3976 class DeleteDimensionRequest { 3995 class DeleteDimensionRequest {
3977 /** The dimensions to delete from the sheet. */ 3996 /// The dimensions to delete from the sheet.
3978 DimensionRange range; 3997 DimensionRange range;
3979 3998
3980 DeleteDimensionRequest(); 3999 DeleteDimensionRequest();
3981 4000
3982 DeleteDimensionRequest.fromJson(core.Map _json) { 4001 DeleteDimensionRequest.fromJson(core.Map _json) {
3983 if (_json.containsKey("range")) { 4002 if (_json.containsKey("range")) {
3984 range = new DimensionRange.fromJson(_json["range"]); 4003 range = new DimensionRange.fromJson(_json["range"]);
3985 } 4004 }
3986 } 4005 }
3987 4006
3988 core.Map<core.String, core.Object> toJson() { 4007 core.Map<core.String, core.Object> toJson() {
3989 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4008 final core.Map<core.String, core.Object> _json =
4009 new core.Map<core.String, core.Object>();
3990 if (range != null) { 4010 if (range != null) {
3991 _json["range"] = (range).toJson(); 4011 _json["range"] = (range).toJson();
3992 } 4012 }
3993 return _json; 4013 return _json;
3994 } 4014 }
3995 } 4015 }
3996 4016
3997 /** Deletes the embedded object with the given ID. */ 4017 /// Deletes the embedded object with the given ID.
3998 class DeleteEmbeddedObjectRequest { 4018 class DeleteEmbeddedObjectRequest {
3999 /** The ID of the embedded object to delete. */ 4019 /// The ID of the embedded object to delete.
4000 core.int objectId; 4020 core.int objectId;
4001 4021
4002 DeleteEmbeddedObjectRequest(); 4022 DeleteEmbeddedObjectRequest();
4003 4023
4004 DeleteEmbeddedObjectRequest.fromJson(core.Map _json) { 4024 DeleteEmbeddedObjectRequest.fromJson(core.Map _json) {
4005 if (_json.containsKey("objectId")) { 4025 if (_json.containsKey("objectId")) {
4006 objectId = _json["objectId"]; 4026 objectId = _json["objectId"];
4007 } 4027 }
4008 } 4028 }
4009 4029
4010 core.Map<core.String, core.Object> toJson() { 4030 core.Map<core.String, core.Object> toJson() {
4011 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4031 final core.Map<core.String, core.Object> _json =
4032 new core.Map<core.String, core.Object>();
4012 if (objectId != null) { 4033 if (objectId != null) {
4013 _json["objectId"] = objectId; 4034 _json["objectId"] = objectId;
4014 } 4035 }
4015 return _json; 4036 return _json;
4016 } 4037 }
4017 } 4038 }
4018 4039
4019 /** Deletes a particular filter view. */ 4040 /// Deletes a particular filter view.
4020 class DeleteFilterViewRequest { 4041 class DeleteFilterViewRequest {
4021 /** The ID of the filter to delete. */ 4042 /// The ID of the filter to delete.
4022 core.int filterId; 4043 core.int filterId;
4023 4044
4024 DeleteFilterViewRequest(); 4045 DeleteFilterViewRequest();
4025 4046
4026 DeleteFilterViewRequest.fromJson(core.Map _json) { 4047 DeleteFilterViewRequest.fromJson(core.Map _json) {
4027 if (_json.containsKey("filterId")) { 4048 if (_json.containsKey("filterId")) {
4028 filterId = _json["filterId"]; 4049 filterId = _json["filterId"];
4029 } 4050 }
4030 } 4051 }
4031 4052
4032 core.Map<core.String, core.Object> toJson() { 4053 core.Map<core.String, core.Object> toJson() {
4033 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4054 final core.Map<core.String, core.Object> _json =
4055 new core.Map<core.String, core.Object>();
4034 if (filterId != null) { 4056 if (filterId != null) {
4035 _json["filterId"] = filterId; 4057 _json["filterId"] = filterId;
4036 } 4058 }
4037 return _json; 4059 return _json;
4038 } 4060 }
4039 } 4061 }
4040 4062
4041 /** Removes the named range with the given ID from the spreadsheet. */ 4063 /// Removes the named range with the given ID from the spreadsheet.
4042 class DeleteNamedRangeRequest { 4064 class DeleteNamedRangeRequest {
4043 /** The ID of the named range to delete. */ 4065 /// The ID of the named range to delete.
4044 core.String namedRangeId; 4066 core.String namedRangeId;
4045 4067
4046 DeleteNamedRangeRequest(); 4068 DeleteNamedRangeRequest();
4047 4069
4048 DeleteNamedRangeRequest.fromJson(core.Map _json) { 4070 DeleteNamedRangeRequest.fromJson(core.Map _json) {
4049 if (_json.containsKey("namedRangeId")) { 4071 if (_json.containsKey("namedRangeId")) {
4050 namedRangeId = _json["namedRangeId"]; 4072 namedRangeId = _json["namedRangeId"];
4051 } 4073 }
4052 } 4074 }
4053 4075
4054 core.Map<core.String, core.Object> toJson() { 4076 core.Map<core.String, core.Object> toJson() {
4055 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4077 final core.Map<core.String, core.Object> _json =
4078 new core.Map<core.String, core.Object>();
4056 if (namedRangeId != null) { 4079 if (namedRangeId != null) {
4057 _json["namedRangeId"] = namedRangeId; 4080 _json["namedRangeId"] = namedRangeId;
4058 } 4081 }
4059 return _json; 4082 return _json;
4060 } 4083 }
4061 } 4084 }
4062 4085
4063 /** Deletes the protected range with the given ID. */ 4086 /// Deletes the protected range with the given ID.
4064 class DeleteProtectedRangeRequest { 4087 class DeleteProtectedRangeRequest {
4065 /** The ID of the protected range to delete. */ 4088 /// The ID of the protected range to delete.
4066 core.int protectedRangeId; 4089 core.int protectedRangeId;
4067 4090
4068 DeleteProtectedRangeRequest(); 4091 DeleteProtectedRangeRequest();
4069 4092
4070 DeleteProtectedRangeRequest.fromJson(core.Map _json) { 4093 DeleteProtectedRangeRequest.fromJson(core.Map _json) {
4071 if (_json.containsKey("protectedRangeId")) { 4094 if (_json.containsKey("protectedRangeId")) {
4072 protectedRangeId = _json["protectedRangeId"]; 4095 protectedRangeId = _json["protectedRangeId"];
4073 } 4096 }
4074 } 4097 }
4075 4098
4076 core.Map<core.String, core.Object> toJson() { 4099 core.Map<core.String, core.Object> toJson() {
4077 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4100 final core.Map<core.String, core.Object> _json =
4101 new core.Map<core.String, core.Object>();
4078 if (protectedRangeId != null) { 4102 if (protectedRangeId != null) {
4079 _json["protectedRangeId"] = protectedRangeId; 4103 _json["protectedRangeId"] = protectedRangeId;
4080 } 4104 }
4081 return _json; 4105 return _json;
4082 } 4106 }
4083 } 4107 }
4084 4108
4085 /** Deletes a range of cells, shifting other cells into the deleted area. */ 4109 /// Deletes a range of cells, shifting other cells into the deleted area.
4086 class DeleteRangeRequest { 4110 class DeleteRangeRequest {
4087 /** The range of cells to delete. */ 4111 /// The range of cells to delete.
4088 GridRange range; 4112 GridRange range;
4089 /** 4113
4090 * The dimension from which deleted cells will be replaced with. 4114 /// The dimension from which deleted cells will be replaced with.
4091 * If ROWS, existing cells will be shifted upward to 4115 /// If ROWS, existing cells will be shifted upward to
4092 * replace the deleted cells. If COLUMNS, existing cells 4116 /// replace the deleted cells. If COLUMNS, existing cells
4093 * will be shifted left to replace the deleted cells. 4117 /// will be shifted left to replace the deleted cells.
4094 * Possible string values are: 4118 /// Possible string values are:
4095 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 4119 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
4096 * - "ROWS" : Operates on the rows of a sheet. 4120 /// - "ROWS" : Operates on the rows of a sheet.
4097 * - "COLUMNS" : Operates on the columns of a sheet. 4121 /// - "COLUMNS" : Operates on the columns of a sheet.
4098 */
4099 core.String shiftDimension; 4122 core.String shiftDimension;
4100 4123
4101 DeleteRangeRequest(); 4124 DeleteRangeRequest();
4102 4125
4103 DeleteRangeRequest.fromJson(core.Map _json) { 4126 DeleteRangeRequest.fromJson(core.Map _json) {
4104 if (_json.containsKey("range")) { 4127 if (_json.containsKey("range")) {
4105 range = new GridRange.fromJson(_json["range"]); 4128 range = new GridRange.fromJson(_json["range"]);
4106 } 4129 }
4107 if (_json.containsKey("shiftDimension")) { 4130 if (_json.containsKey("shiftDimension")) {
4108 shiftDimension = _json["shiftDimension"]; 4131 shiftDimension = _json["shiftDimension"];
4109 } 4132 }
4110 } 4133 }
4111 4134
4112 core.Map<core.String, core.Object> toJson() { 4135 core.Map<core.String, core.Object> toJson() {
4113 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4136 final core.Map<core.String, core.Object> _json =
4137 new core.Map<core.String, core.Object>();
4114 if (range != null) { 4138 if (range != null) {
4115 _json["range"] = (range).toJson(); 4139 _json["range"] = (range).toJson();
4116 } 4140 }
4117 if (shiftDimension != null) { 4141 if (shiftDimension != null) {
4118 _json["shiftDimension"] = shiftDimension; 4142 _json["shiftDimension"] = shiftDimension;
4119 } 4143 }
4120 return _json; 4144 return _json;
4121 } 4145 }
4122 } 4146 }
4123 4147
4124 /** Deletes the requested sheet. */ 4148 /// Deletes the requested sheet.
4125 class DeleteSheetRequest { 4149 class DeleteSheetRequest {
4126 /** The ID of the sheet to delete. */ 4150 /// The ID of the sheet to delete.
4127 core.int sheetId; 4151 core.int sheetId;
4128 4152
4129 DeleteSheetRequest(); 4153 DeleteSheetRequest();
4130 4154
4131 DeleteSheetRequest.fromJson(core.Map _json) { 4155 DeleteSheetRequest.fromJson(core.Map _json) {
4132 if (_json.containsKey("sheetId")) { 4156 if (_json.containsKey("sheetId")) {
4133 sheetId = _json["sheetId"]; 4157 sheetId = _json["sheetId"];
4134 } 4158 }
4135 } 4159 }
4136 4160
4137 core.Map<core.String, core.Object> toJson() { 4161 core.Map<core.String, core.Object> toJson() {
4138 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4162 final core.Map<core.String, core.Object> _json =
4163 new core.Map<core.String, core.Object>();
4139 if (sheetId != null) { 4164 if (sheetId != null) {
4140 _json["sheetId"] = sheetId; 4165 _json["sheetId"] = sheetId;
4141 } 4166 }
4142 return _json; 4167 return _json;
4143 } 4168 }
4144 } 4169 }
4145 4170
4146 /** Properties about a dimension. */ 4171 /// Properties about a dimension.
4147 class DimensionProperties { 4172 class DimensionProperties {
4148 /** 4173 /// True if this dimension is being filtered.
4149 * True if this dimension is being filtered. 4174 /// This field is read-only.
4150 * This field is read-only.
4151 */
4152 core.bool hiddenByFilter; 4175 core.bool hiddenByFilter;
4153 /** True if this dimension is explicitly hidden. */ 4176
4177 /// True if this dimension is explicitly hidden.
4154 core.bool hiddenByUser; 4178 core.bool hiddenByUser;
4155 /** 4179
4156 * The height (if a row) or width (if a column) of the dimension in pixels. 4180 /// The height (if a row) or width (if a column) of the dimension in pixels.
4157 */
4158 core.int pixelSize; 4181 core.int pixelSize;
4159 4182
4160 DimensionProperties(); 4183 DimensionProperties();
4161 4184
4162 DimensionProperties.fromJson(core.Map _json) { 4185 DimensionProperties.fromJson(core.Map _json) {
4163 if (_json.containsKey("hiddenByFilter")) { 4186 if (_json.containsKey("hiddenByFilter")) {
4164 hiddenByFilter = _json["hiddenByFilter"]; 4187 hiddenByFilter = _json["hiddenByFilter"];
4165 } 4188 }
4166 if (_json.containsKey("hiddenByUser")) { 4189 if (_json.containsKey("hiddenByUser")) {
4167 hiddenByUser = _json["hiddenByUser"]; 4190 hiddenByUser = _json["hiddenByUser"];
4168 } 4191 }
4169 if (_json.containsKey("pixelSize")) { 4192 if (_json.containsKey("pixelSize")) {
4170 pixelSize = _json["pixelSize"]; 4193 pixelSize = _json["pixelSize"];
4171 } 4194 }
4172 } 4195 }
4173 4196
4174 core.Map<core.String, core.Object> toJson() { 4197 core.Map<core.String, core.Object> toJson() {
4175 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4198 final core.Map<core.String, core.Object> _json =
4199 new core.Map<core.String, core.Object>();
4176 if (hiddenByFilter != null) { 4200 if (hiddenByFilter != null) {
4177 _json["hiddenByFilter"] = hiddenByFilter; 4201 _json["hiddenByFilter"] = hiddenByFilter;
4178 } 4202 }
4179 if (hiddenByUser != null) { 4203 if (hiddenByUser != null) {
4180 _json["hiddenByUser"] = hiddenByUser; 4204 _json["hiddenByUser"] = hiddenByUser;
4181 } 4205 }
4182 if (pixelSize != null) { 4206 if (pixelSize != null) {
4183 _json["pixelSize"] = pixelSize; 4207 _json["pixelSize"] = pixelSize;
4184 } 4208 }
4185 return _json; 4209 return _json;
4186 } 4210 }
4187 } 4211 }
4188 4212
4189 /** 4213 /// A range along a single dimension on a sheet.
4190 * A range along a single dimension on a sheet. 4214 /// All indexes are zero-based.
4191 * All indexes are zero-based. 4215 /// Indexes are half open: the start index is inclusive
4192 * Indexes are half open: the start index is inclusive 4216 /// and the end index is exclusive.
4193 * and the end index is exclusive. 4217 /// Missing indexes indicate the range is unbounded on that side.
4194 * Missing indexes indicate the range is unbounded on that side.
4195 */
4196 class DimensionRange { 4218 class DimensionRange {
4197 /** 4219 /// The dimension of the span.
4198 * The dimension of the span. 4220 /// Possible string values are:
4199 * Possible string values are: 4221 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
4200 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 4222 /// - "ROWS" : Operates on the rows of a sheet.
4201 * - "ROWS" : Operates on the rows of a sheet. 4223 /// - "COLUMNS" : Operates on the columns of a sheet.
4202 * - "COLUMNS" : Operates on the columns of a sheet.
4203 */
4204 core.String dimension; 4224 core.String dimension;
4205 /** The end (exclusive) of the span, or not set if unbounded. */ 4225
4226 /// The end (exclusive) of the span, or not set if unbounded.
4206 core.int endIndex; 4227 core.int endIndex;
4207 /** The sheet this span is on. */ 4228
4229 /// The sheet this span is on.
4208 core.int sheetId; 4230 core.int sheetId;
4209 /** The start (inclusive) of the span, or not set if unbounded. */ 4231
4232 /// The start (inclusive) of the span, or not set if unbounded.
4210 core.int startIndex; 4233 core.int startIndex;
4211 4234
4212 DimensionRange(); 4235 DimensionRange();
4213 4236
4214 DimensionRange.fromJson(core.Map _json) { 4237 DimensionRange.fromJson(core.Map _json) {
4215 if (_json.containsKey("dimension")) { 4238 if (_json.containsKey("dimension")) {
4216 dimension = _json["dimension"]; 4239 dimension = _json["dimension"];
4217 } 4240 }
4218 if (_json.containsKey("endIndex")) { 4241 if (_json.containsKey("endIndex")) {
4219 endIndex = _json["endIndex"]; 4242 endIndex = _json["endIndex"];
4220 } 4243 }
4221 if (_json.containsKey("sheetId")) { 4244 if (_json.containsKey("sheetId")) {
4222 sheetId = _json["sheetId"]; 4245 sheetId = _json["sheetId"];
4223 } 4246 }
4224 if (_json.containsKey("startIndex")) { 4247 if (_json.containsKey("startIndex")) {
4225 startIndex = _json["startIndex"]; 4248 startIndex = _json["startIndex"];
4226 } 4249 }
4227 } 4250 }
4228 4251
4229 core.Map<core.String, core.Object> toJson() { 4252 core.Map<core.String, core.Object> toJson() {
4230 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4253 final core.Map<core.String, core.Object> _json =
4254 new core.Map<core.String, core.Object>();
4231 if (dimension != null) { 4255 if (dimension != null) {
4232 _json["dimension"] = dimension; 4256 _json["dimension"] = dimension;
4233 } 4257 }
4234 if (endIndex != null) { 4258 if (endIndex != null) {
4235 _json["endIndex"] = endIndex; 4259 _json["endIndex"] = endIndex;
4236 } 4260 }
4237 if (sheetId != null) { 4261 if (sheetId != null) {
4238 _json["sheetId"] = sheetId; 4262 _json["sheetId"] = sheetId;
4239 } 4263 }
4240 if (startIndex != null) { 4264 if (startIndex != null) {
4241 _json["startIndex"] = startIndex; 4265 _json["startIndex"] = startIndex;
4242 } 4266 }
4243 return _json; 4267 return _json;
4244 } 4268 }
4245 } 4269 }
4246 4270
4247 /** Duplicates a particular filter view. */ 4271 /// Duplicates a particular filter view.
4248 class DuplicateFilterViewRequest { 4272 class DuplicateFilterViewRequest {
4249 /** The ID of the filter being duplicated. */ 4273 /// The ID of the filter being duplicated.
4250 core.int filterId; 4274 core.int filterId;
4251 4275
4252 DuplicateFilterViewRequest(); 4276 DuplicateFilterViewRequest();
4253 4277
4254 DuplicateFilterViewRequest.fromJson(core.Map _json) { 4278 DuplicateFilterViewRequest.fromJson(core.Map _json) {
4255 if (_json.containsKey("filterId")) { 4279 if (_json.containsKey("filterId")) {
4256 filterId = _json["filterId"]; 4280 filterId = _json["filterId"];
4257 } 4281 }
4258 } 4282 }
4259 4283
4260 core.Map<core.String, core.Object> toJson() { 4284 core.Map<core.String, core.Object> toJson() {
4261 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4285 final core.Map<core.String, core.Object> _json =
4286 new core.Map<core.String, core.Object>();
4262 if (filterId != null) { 4287 if (filterId != null) {
4263 _json["filterId"] = filterId; 4288 _json["filterId"] = filterId;
4264 } 4289 }
4265 return _json; 4290 return _json;
4266 } 4291 }
4267 } 4292 }
4268 4293
4269 /** The result of a filter view being duplicated. */ 4294 /// The result of a filter view being duplicated.
4270 class DuplicateFilterViewResponse { 4295 class DuplicateFilterViewResponse {
4271 /** The newly created filter. */ 4296 /// The newly created filter.
4272 FilterView filter; 4297 FilterView filter;
4273 4298
4274 DuplicateFilterViewResponse(); 4299 DuplicateFilterViewResponse();
4275 4300
4276 DuplicateFilterViewResponse.fromJson(core.Map _json) { 4301 DuplicateFilterViewResponse.fromJson(core.Map _json) {
4277 if (_json.containsKey("filter")) { 4302 if (_json.containsKey("filter")) {
4278 filter = new FilterView.fromJson(_json["filter"]); 4303 filter = new FilterView.fromJson(_json["filter"]);
4279 } 4304 }
4280 } 4305 }
4281 4306
4282 core.Map<core.String, core.Object> toJson() { 4307 core.Map<core.String, core.Object> toJson() {
4283 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4308 final core.Map<core.String, core.Object> _json =
4309 new core.Map<core.String, core.Object>();
4284 if (filter != null) { 4310 if (filter != null) {
4285 _json["filter"] = (filter).toJson(); 4311 _json["filter"] = (filter).toJson();
4286 } 4312 }
4287 return _json; 4313 return _json;
4288 } 4314 }
4289 } 4315 }
4290 4316
4291 /** Duplicates the contents of a sheet. */ 4317 /// Duplicates the contents of a sheet.
4292 class DuplicateSheetRequest { 4318 class DuplicateSheetRequest {
4293 /** 4319 /// The zero-based index where the new sheet should be inserted.
4294 * The zero-based index where the new sheet should be inserted. 4320 /// The index of all sheets after this are incremented.
4295 * The index of all sheets after this are incremented.
4296 */
4297 core.int insertSheetIndex; 4321 core.int insertSheetIndex;
4298 /** 4322
4299 * If set, the ID of the new sheet. If not set, an ID is chosen. 4323 /// If set, the ID of the new sheet. If not set, an ID is chosen.
4300 * If set, the ID must not conflict with any existing sheet ID. 4324 /// If set, the ID must not conflict with any existing sheet ID.
4301 * If set, it must be non-negative. 4325 /// If set, it must be non-negative.
4302 */
4303 core.int newSheetId; 4326 core.int newSheetId;
4304 /** The name of the new sheet. If empty, a new name is chosen for you. */ 4327
4328 /// The name of the new sheet. If empty, a new name is chosen for you.
4305 core.String newSheetName; 4329 core.String newSheetName;
4306 /** The sheet to duplicate. */ 4330
4331 /// The sheet to duplicate.
4307 core.int sourceSheetId; 4332 core.int sourceSheetId;
4308 4333
4309 DuplicateSheetRequest(); 4334 DuplicateSheetRequest();
4310 4335
4311 DuplicateSheetRequest.fromJson(core.Map _json) { 4336 DuplicateSheetRequest.fromJson(core.Map _json) {
4312 if (_json.containsKey("insertSheetIndex")) { 4337 if (_json.containsKey("insertSheetIndex")) {
4313 insertSheetIndex = _json["insertSheetIndex"]; 4338 insertSheetIndex = _json["insertSheetIndex"];
4314 } 4339 }
4315 if (_json.containsKey("newSheetId")) { 4340 if (_json.containsKey("newSheetId")) {
4316 newSheetId = _json["newSheetId"]; 4341 newSheetId = _json["newSheetId"];
4317 } 4342 }
4318 if (_json.containsKey("newSheetName")) { 4343 if (_json.containsKey("newSheetName")) {
4319 newSheetName = _json["newSheetName"]; 4344 newSheetName = _json["newSheetName"];
4320 } 4345 }
4321 if (_json.containsKey("sourceSheetId")) { 4346 if (_json.containsKey("sourceSheetId")) {
4322 sourceSheetId = _json["sourceSheetId"]; 4347 sourceSheetId = _json["sourceSheetId"];
4323 } 4348 }
4324 } 4349 }
4325 4350
4326 core.Map<core.String, core.Object> toJson() { 4351 core.Map<core.String, core.Object> toJson() {
4327 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4352 final core.Map<core.String, core.Object> _json =
4353 new core.Map<core.String, core.Object>();
4328 if (insertSheetIndex != null) { 4354 if (insertSheetIndex != null) {
4329 _json["insertSheetIndex"] = insertSheetIndex; 4355 _json["insertSheetIndex"] = insertSheetIndex;
4330 } 4356 }
4331 if (newSheetId != null) { 4357 if (newSheetId != null) {
4332 _json["newSheetId"] = newSheetId; 4358 _json["newSheetId"] = newSheetId;
4333 } 4359 }
4334 if (newSheetName != null) { 4360 if (newSheetName != null) {
4335 _json["newSheetName"] = newSheetName; 4361 _json["newSheetName"] = newSheetName;
4336 } 4362 }
4337 if (sourceSheetId != null) { 4363 if (sourceSheetId != null) {
4338 _json["sourceSheetId"] = sourceSheetId; 4364 _json["sourceSheetId"] = sourceSheetId;
4339 } 4365 }
4340 return _json; 4366 return _json;
4341 } 4367 }
4342 } 4368 }
4343 4369
4344 /** The result of duplicating a sheet. */ 4370 /// The result of duplicating a sheet.
4345 class DuplicateSheetResponse { 4371 class DuplicateSheetResponse {
4346 /** The properties of the duplicate sheet. */ 4372 /// The properties of the duplicate sheet.
4347 SheetProperties properties; 4373 SheetProperties properties;
4348 4374
4349 DuplicateSheetResponse(); 4375 DuplicateSheetResponse();
4350 4376
4351 DuplicateSheetResponse.fromJson(core.Map _json) { 4377 DuplicateSheetResponse.fromJson(core.Map _json) {
4352 if (_json.containsKey("properties")) { 4378 if (_json.containsKey("properties")) {
4353 properties = new SheetProperties.fromJson(_json["properties"]); 4379 properties = new SheetProperties.fromJson(_json["properties"]);
4354 } 4380 }
4355 } 4381 }
4356 4382
4357 core.Map<core.String, core.Object> toJson() { 4383 core.Map<core.String, core.Object> toJson() {
4358 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4384 final core.Map<core.String, core.Object> _json =
4385 new core.Map<core.String, core.Object>();
4359 if (properties != null) { 4386 if (properties != null) {
4360 _json["properties"] = (properties).toJson(); 4387 _json["properties"] = (properties).toJson();
4361 } 4388 }
4362 return _json; 4389 return _json;
4363 } 4390 }
4364 } 4391 }
4365 4392
4366 /** The editors of a protected range. */ 4393 /// The editors of a protected range.
4367 class Editors { 4394 class Editors {
4368 /** 4395 /// True if anyone in the document's domain has edit access to the protected
4369 * True if anyone in the document's domain has edit access to the protected 4396 /// range. Domain protection is only supported on documents within a domain.
4370 * range. Domain protection is only supported on documents within a domain.
4371 */
4372 core.bool domainUsersCanEdit; 4397 core.bool domainUsersCanEdit;
4373 /** The email addresses of groups with edit access to the protected range. */ 4398
4399 /// The email addresses of groups with edit access to the protected range.
4374 core.List<core.String> groups; 4400 core.List<core.String> groups;
4375 /** The email addresses of users with edit access to the protected range. */ 4401
4402 /// The email addresses of users with edit access to the protected range.
4376 core.List<core.String> users; 4403 core.List<core.String> users;
4377 4404
4378 Editors(); 4405 Editors();
4379 4406
4380 Editors.fromJson(core.Map _json) { 4407 Editors.fromJson(core.Map _json) {
4381 if (_json.containsKey("domainUsersCanEdit")) { 4408 if (_json.containsKey("domainUsersCanEdit")) {
4382 domainUsersCanEdit = _json["domainUsersCanEdit"]; 4409 domainUsersCanEdit = _json["domainUsersCanEdit"];
4383 } 4410 }
4384 if (_json.containsKey("groups")) { 4411 if (_json.containsKey("groups")) {
4385 groups = _json["groups"]; 4412 groups = _json["groups"];
4386 } 4413 }
4387 if (_json.containsKey("users")) { 4414 if (_json.containsKey("users")) {
4388 users = _json["users"]; 4415 users = _json["users"];
4389 } 4416 }
4390 } 4417 }
4391 4418
4392 core.Map<core.String, core.Object> toJson() { 4419 core.Map<core.String, core.Object> toJson() {
4393 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4420 final core.Map<core.String, core.Object> _json =
4421 new core.Map<core.String, core.Object>();
4394 if (domainUsersCanEdit != null) { 4422 if (domainUsersCanEdit != null) {
4395 _json["domainUsersCanEdit"] = domainUsersCanEdit; 4423 _json["domainUsersCanEdit"] = domainUsersCanEdit;
4396 } 4424 }
4397 if (groups != null) { 4425 if (groups != null) {
4398 _json["groups"] = groups; 4426 _json["groups"] = groups;
4399 } 4427 }
4400 if (users != null) { 4428 if (users != null) {
4401 _json["users"] = users; 4429 _json["users"] = users;
4402 } 4430 }
4403 return _json; 4431 return _json;
4404 } 4432 }
4405 } 4433 }
4406 4434
4407 /** A chart embedded in a sheet. */ 4435 /// A chart embedded in a sheet.
4408 class EmbeddedChart { 4436 class EmbeddedChart {
4409 /** The ID of the chart. */ 4437 /// The ID of the chart.
4410 core.int chartId; 4438 core.int chartId;
4411 /** The position of the chart. */ 4439
4440 /// The position of the chart.
4412 EmbeddedObjectPosition position; 4441 EmbeddedObjectPosition position;
4413 /** The specification of the chart. */ 4442
4443 /// The specification of the chart.
4414 ChartSpec spec; 4444 ChartSpec spec;
4415 4445
4416 EmbeddedChart(); 4446 EmbeddedChart();
4417 4447
4418 EmbeddedChart.fromJson(core.Map _json) { 4448 EmbeddedChart.fromJson(core.Map _json) {
4419 if (_json.containsKey("chartId")) { 4449 if (_json.containsKey("chartId")) {
4420 chartId = _json["chartId"]; 4450 chartId = _json["chartId"];
4421 } 4451 }
4422 if (_json.containsKey("position")) { 4452 if (_json.containsKey("position")) {
4423 position = new EmbeddedObjectPosition.fromJson(_json["position"]); 4453 position = new EmbeddedObjectPosition.fromJson(_json["position"]);
4424 } 4454 }
4425 if (_json.containsKey("spec")) { 4455 if (_json.containsKey("spec")) {
4426 spec = new ChartSpec.fromJson(_json["spec"]); 4456 spec = new ChartSpec.fromJson(_json["spec"]);
4427 } 4457 }
4428 } 4458 }
4429 4459
4430 core.Map<core.String, core.Object> toJson() { 4460 core.Map<core.String, core.Object> toJson() {
4431 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4461 final core.Map<core.String, core.Object> _json =
4462 new core.Map<core.String, core.Object>();
4432 if (chartId != null) { 4463 if (chartId != null) {
4433 _json["chartId"] = chartId; 4464 _json["chartId"] = chartId;
4434 } 4465 }
4435 if (position != null) { 4466 if (position != null) {
4436 _json["position"] = (position).toJson(); 4467 _json["position"] = (position).toJson();
4437 } 4468 }
4438 if (spec != null) { 4469 if (spec != null) {
4439 _json["spec"] = (spec).toJson(); 4470 _json["spec"] = (spec).toJson();
4440 } 4471 }
4441 return _json; 4472 return _json;
4442 } 4473 }
4443 } 4474 }
4444 4475
4445 /** The position of an embedded object such as a chart. */ 4476 /// The position of an embedded object such as a chart.
4446 class EmbeddedObjectPosition { 4477 class EmbeddedObjectPosition {
4447 /** 4478 /// If true, the embedded object will be put on a new sheet whose ID
4448 * If true, the embedded object will be put on a new sheet whose ID 4479 /// is chosen for you. Used only when writing.
4449 * is chosen for you. Used only when writing.
4450 */
4451 core.bool newSheet; 4480 core.bool newSheet;
4452 /** The position at which the object is overlaid on top of a grid. */ 4481
4482 /// The position at which the object is overlaid on top of a grid.
4453 OverlayPosition overlayPosition; 4483 OverlayPosition overlayPosition;
4454 /** 4484
4455 * The sheet this is on. Set only if the embedded object 4485 /// The sheet this is on. Set only if the embedded object
4456 * is on its own sheet. Must be non-negative. 4486 /// is on its own sheet. Must be non-negative.
4457 */
4458 core.int sheetId; 4487 core.int sheetId;
4459 4488
4460 EmbeddedObjectPosition(); 4489 EmbeddedObjectPosition();
4461 4490
4462 EmbeddedObjectPosition.fromJson(core.Map _json) { 4491 EmbeddedObjectPosition.fromJson(core.Map _json) {
4463 if (_json.containsKey("newSheet")) { 4492 if (_json.containsKey("newSheet")) {
4464 newSheet = _json["newSheet"]; 4493 newSheet = _json["newSheet"];
4465 } 4494 }
4466 if (_json.containsKey("overlayPosition")) { 4495 if (_json.containsKey("overlayPosition")) {
4467 overlayPosition = new OverlayPosition.fromJson(_json["overlayPosition"]); 4496 overlayPosition = new OverlayPosition.fromJson(_json["overlayPosition"]);
4468 } 4497 }
4469 if (_json.containsKey("sheetId")) { 4498 if (_json.containsKey("sheetId")) {
4470 sheetId = _json["sheetId"]; 4499 sheetId = _json["sheetId"];
4471 } 4500 }
4472 } 4501 }
4473 4502
4474 core.Map<core.String, core.Object> toJson() { 4503 core.Map<core.String, core.Object> toJson() {
4475 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4504 final core.Map<core.String, core.Object> _json =
4505 new core.Map<core.String, core.Object>();
4476 if (newSheet != null) { 4506 if (newSheet != null) {
4477 _json["newSheet"] = newSheet; 4507 _json["newSheet"] = newSheet;
4478 } 4508 }
4479 if (overlayPosition != null) { 4509 if (overlayPosition != null) {
4480 _json["overlayPosition"] = (overlayPosition).toJson(); 4510 _json["overlayPosition"] = (overlayPosition).toJson();
4481 } 4511 }
4482 if (sheetId != null) { 4512 if (sheetId != null) {
4483 _json["sheetId"] = sheetId; 4513 _json["sheetId"] = sheetId;
4484 } 4514 }
4485 return _json; 4515 return _json;
4486 } 4516 }
4487 } 4517 }
4488 4518
4489 /** An error in a cell. */ 4519 /// An error in a cell.
4490 class ErrorValue { 4520 class ErrorValue {
4491 /** 4521 /// A message with more information about the error
4492 * A message with more information about the error 4522 /// (in the spreadsheet's locale).
4493 * (in the spreadsheet's locale).
4494 */
4495 core.String message; 4523 core.String message;
4496 /** 4524
4497 * The type of error. 4525 /// The type of error.
4498 * Possible string values are: 4526 /// Possible string values are:
4499 * - "ERROR_TYPE_UNSPECIFIED" : The default error type, do not use this. 4527 /// - "ERROR_TYPE_UNSPECIFIED" : The default error type, do not use this.
4500 * - "ERROR" : Corresponds to the `#ERROR!` error. 4528 /// - "ERROR" : Corresponds to the `#ERROR!` error.
4501 * - "NULL_VALUE" : Corresponds to the `#NULL!` error. 4529 /// - "NULL_VALUE" : Corresponds to the `#NULL!` error.
4502 * - "DIVIDE_BY_ZERO" : Corresponds to the `#DIV/0` error. 4530 /// - "DIVIDE_BY_ZERO" : Corresponds to the `#DIV/0` error.
4503 * - "VALUE" : Corresponds to the `#VALUE!` error. 4531 /// - "VALUE" : Corresponds to the `#VALUE!` error.
4504 * - "REF" : Corresponds to the `#REF!` error. 4532 /// - "REF" : Corresponds to the `#REF!` error.
4505 * - "NAME" : Corresponds to the `#NAME?` error. 4533 /// - "NAME" : Corresponds to the `#NAME?` error.
4506 * - "NUM" : Corresponds to the `#NUM`! error. 4534 /// - "NUM" : Corresponds to the `#NUM`! error.
4507 * - "N_A" : Corresponds to the `#N/A` error. 4535 /// - "N_A" : Corresponds to the `#N/A` error.
4508 * - "LOADING" : Corresponds to the `Loading...` state. 4536 /// - "LOADING" : Corresponds to the `Loading...` state.
4509 */
4510 core.String type; 4537 core.String type;
4511 4538
4512 ErrorValue(); 4539 ErrorValue();
4513 4540
4514 ErrorValue.fromJson(core.Map _json) { 4541 ErrorValue.fromJson(core.Map _json) {
4515 if (_json.containsKey("message")) { 4542 if (_json.containsKey("message")) {
4516 message = _json["message"]; 4543 message = _json["message"];
4517 } 4544 }
4518 if (_json.containsKey("type")) { 4545 if (_json.containsKey("type")) {
4519 type = _json["type"]; 4546 type = _json["type"];
4520 } 4547 }
4521 } 4548 }
4522 4549
4523 core.Map<core.String, core.Object> toJson() { 4550 core.Map<core.String, core.Object> toJson() {
4524 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4551 final core.Map<core.String, core.Object> _json =
4552 new core.Map<core.String, core.Object>();
4525 if (message != null) { 4553 if (message != null) {
4526 _json["message"] = message; 4554 _json["message"] = message;
4527 } 4555 }
4528 if (type != null) { 4556 if (type != null) {
4529 _json["type"] = type; 4557 _json["type"] = type;
4530 } 4558 }
4531 return _json; 4559 return _json;
4532 } 4560 }
4533 } 4561 }
4534 4562
4535 /** The kinds of value that a cell in a spreadsheet can have. */ 4563 /// The kinds of value that a cell in a spreadsheet can have.
4536 class ExtendedValue { 4564 class ExtendedValue {
4537 /** Represents a boolean value. */ 4565 /// Represents a boolean value.
4538 core.bool boolValue; 4566 core.bool boolValue;
4539 /** 4567
4540 * Represents an error. 4568 /// Represents an error.
4541 * This field is read-only. 4569 /// This field is read-only.
4542 */
4543 ErrorValue errorValue; 4570 ErrorValue errorValue;
4544 /** Represents a formula. */ 4571
4572 /// Represents a formula.
4545 core.String formulaValue; 4573 core.String formulaValue;
4546 /** 4574
4547 * Represents a double value. 4575 /// Represents a double value.
4548 * Note: Dates, Times and DateTimes are represented as doubles in 4576 /// Note: Dates, Times and DateTimes are represented as doubles in
4549 * "serial number" format. 4577 /// "serial number" format.
4550 */
4551 core.double numberValue; 4578 core.double numberValue;
4552 /** 4579
4553 * Represents a string value. 4580 /// Represents a string value.
4554 * Leading single quotes are not included. For example, if the user typed 4581 /// Leading single quotes are not included. For example, if the user typed
4555 * `'123` into the UI, this would be represented as a `stringValue` of 4582 /// `'123` into the UI, this would be represented as a `stringValue` of
4556 * `"123"`. 4583 /// `"123"`.
4557 */
4558 core.String stringValue; 4584 core.String stringValue;
4559 4585
4560 ExtendedValue(); 4586 ExtendedValue();
4561 4587
4562 ExtendedValue.fromJson(core.Map _json) { 4588 ExtendedValue.fromJson(core.Map _json) {
4563 if (_json.containsKey("boolValue")) { 4589 if (_json.containsKey("boolValue")) {
4564 boolValue = _json["boolValue"]; 4590 boolValue = _json["boolValue"];
4565 } 4591 }
4566 if (_json.containsKey("errorValue")) { 4592 if (_json.containsKey("errorValue")) {
4567 errorValue = new ErrorValue.fromJson(_json["errorValue"]); 4593 errorValue = new ErrorValue.fromJson(_json["errorValue"]);
4568 } 4594 }
4569 if (_json.containsKey("formulaValue")) { 4595 if (_json.containsKey("formulaValue")) {
4570 formulaValue = _json["formulaValue"]; 4596 formulaValue = _json["formulaValue"];
4571 } 4597 }
4572 if (_json.containsKey("numberValue")) { 4598 if (_json.containsKey("numberValue")) {
4573 numberValue = _json["numberValue"]; 4599 numberValue = _json["numberValue"];
4574 } 4600 }
4575 if (_json.containsKey("stringValue")) { 4601 if (_json.containsKey("stringValue")) {
4576 stringValue = _json["stringValue"]; 4602 stringValue = _json["stringValue"];
4577 } 4603 }
4578 } 4604 }
4579 4605
4580 core.Map<core.String, core.Object> toJson() { 4606 core.Map<core.String, core.Object> toJson() {
4581 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4607 final core.Map<core.String, core.Object> _json =
4608 new core.Map<core.String, core.Object>();
4582 if (boolValue != null) { 4609 if (boolValue != null) {
4583 _json["boolValue"] = boolValue; 4610 _json["boolValue"] = boolValue;
4584 } 4611 }
4585 if (errorValue != null) { 4612 if (errorValue != null) {
4586 _json["errorValue"] = (errorValue).toJson(); 4613 _json["errorValue"] = (errorValue).toJson();
4587 } 4614 }
4588 if (formulaValue != null) { 4615 if (formulaValue != null) {
4589 _json["formulaValue"] = formulaValue; 4616 _json["formulaValue"] = formulaValue;
4590 } 4617 }
4591 if (numberValue != null) { 4618 if (numberValue != null) {
4592 _json["numberValue"] = numberValue; 4619 _json["numberValue"] = numberValue;
4593 } 4620 }
4594 if (stringValue != null) { 4621 if (stringValue != null) {
4595 _json["stringValue"] = stringValue; 4622 _json["stringValue"] = stringValue;
4596 } 4623 }
4597 return _json; 4624 return _json;
4598 } 4625 }
4599 } 4626 }
4600 4627
4601 /** Criteria for showing/hiding rows in a filter or filter view. */ 4628 /// Criteria for showing/hiding rows in a filter or filter view.
4602 class FilterCriteria { 4629 class FilterCriteria {
4603 /** 4630 /// A condition that must be true for values to be shown.
4604 * A condition that must be true for values to be shown. 4631 /// (This does not override hiddenValues -- if a value is listed there,
4605 * (This does not override hiddenValues -- if a value is listed there, 4632 /// it will still be hidden.)
4606 * it will still be hidden.)
4607 */
4608 BooleanCondition condition; 4633 BooleanCondition condition;
4609 /** Values that should be hidden. */ 4634
4635 /// Values that should be hidden.
4610 core.List<core.String> hiddenValues; 4636 core.List<core.String> hiddenValues;
4611 4637
4612 FilterCriteria(); 4638 FilterCriteria();
4613 4639
4614 FilterCriteria.fromJson(core.Map _json) { 4640 FilterCriteria.fromJson(core.Map _json) {
4615 if (_json.containsKey("condition")) { 4641 if (_json.containsKey("condition")) {
4616 condition = new BooleanCondition.fromJson(_json["condition"]); 4642 condition = new BooleanCondition.fromJson(_json["condition"]);
4617 } 4643 }
4618 if (_json.containsKey("hiddenValues")) { 4644 if (_json.containsKey("hiddenValues")) {
4619 hiddenValues = _json["hiddenValues"]; 4645 hiddenValues = _json["hiddenValues"];
4620 } 4646 }
4621 } 4647 }
4622 4648
4623 core.Map<core.String, core.Object> toJson() { 4649 core.Map<core.String, core.Object> toJson() {
4624 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4650 final core.Map<core.String, core.Object> _json =
4651 new core.Map<core.String, core.Object>();
4625 if (condition != null) { 4652 if (condition != null) {
4626 _json["condition"] = (condition).toJson(); 4653 _json["condition"] = (condition).toJson();
4627 } 4654 }
4628 if (hiddenValues != null) { 4655 if (hiddenValues != null) {
4629 _json["hiddenValues"] = hiddenValues; 4656 _json["hiddenValues"] = hiddenValues;
4630 } 4657 }
4631 return _json; 4658 return _json;
4632 } 4659 }
4633 } 4660 }
4634 4661
4635 /** A filter view. */ 4662 /// A filter view.
4636 class FilterView { 4663 class FilterView {
4637 /** 4664 /// The criteria for showing/hiding values per column.
4638 * The criteria for showing/hiding values per column. 4665 /// The map's key is the column index, and the value is the criteria for
4639 * The map's key is the column index, and the value is the criteria for 4666 /// that column.
4640 * that column.
4641 */
4642 core.Map<core.String, FilterCriteria> criteria; 4667 core.Map<core.String, FilterCriteria> criteria;
4643 /** The ID of the filter view. */ 4668
4669 /// The ID of the filter view.
4644 core.int filterViewId; 4670 core.int filterViewId;
4645 /** 4671
4646 * The named range this filter view is backed by, if any. 4672 /// The named range this filter view is backed by, if any.
4647 * 4673 ///
4648 * When writing, only one of range or named_range_id 4674 /// When writing, only one of range or named_range_id
4649 * may be set. 4675 /// may be set.
4650 */
4651 core.String namedRangeId; 4676 core.String namedRangeId;
4652 /** 4677
4653 * The range this filter view covers. 4678 /// The range this filter view covers.
4654 * 4679 ///
4655 * When writing, only one of range or named_range_id 4680 /// When writing, only one of range or named_range_id
4656 * may be set. 4681 /// may be set.
4657 */
4658 GridRange range; 4682 GridRange range;
4659 /** 4683
4660 * The sort order per column. Later specifications are used when values 4684 /// The sort order per column. Later specifications are used when values
4661 * are equal in the earlier specifications. 4685 /// are equal in the earlier specifications.
4662 */
4663 core.List<SortSpec> sortSpecs; 4686 core.List<SortSpec> sortSpecs;
4664 /** The name of the filter view. */ 4687
4688 /// The name of the filter view.
4665 core.String title; 4689 core.String title;
4666 4690
4667 FilterView(); 4691 FilterView();
4668 4692
4669 FilterView.fromJson(core.Map _json) { 4693 FilterView.fromJson(core.Map _json) {
4670 if (_json.containsKey("criteria")) { 4694 if (_json.containsKey("criteria")) {
4671 criteria = commons.mapMap<core.Map<core.String, core.Object>, FilterCriter ia>(_json["criteria"], (core.Map<core.String, core.Object> item) => new FilterCr iteria.fromJson(item)); 4695 criteria =
4696 commons.mapMap<core.Map<core.String, core.Object>, FilterCriteria>(
4697 _json["criteria"],
4698 (core.Map<core.String, core.Object> item) =>
4699 new FilterCriteria.fromJson(item));
4672 } 4700 }
4673 if (_json.containsKey("filterViewId")) { 4701 if (_json.containsKey("filterViewId")) {
4674 filterViewId = _json["filterViewId"]; 4702 filterViewId = _json["filterViewId"];
4675 } 4703 }
4676 if (_json.containsKey("namedRangeId")) { 4704 if (_json.containsKey("namedRangeId")) {
4677 namedRangeId = _json["namedRangeId"]; 4705 namedRangeId = _json["namedRangeId"];
4678 } 4706 }
4679 if (_json.containsKey("range")) { 4707 if (_json.containsKey("range")) {
4680 range = new GridRange.fromJson(_json["range"]); 4708 range = new GridRange.fromJson(_json["range"]);
4681 } 4709 }
4682 if (_json.containsKey("sortSpecs")) { 4710 if (_json.containsKey("sortSpecs")) {
4683 sortSpecs = _json["sortSpecs"].map((value) => new SortSpec.fromJson(value) ).toList(); 4711 sortSpecs = _json["sortSpecs"]
4712 .map((value) => new SortSpec.fromJson(value))
4713 .toList();
4684 } 4714 }
4685 if (_json.containsKey("title")) { 4715 if (_json.containsKey("title")) {
4686 title = _json["title"]; 4716 title = _json["title"];
4687 } 4717 }
4688 } 4718 }
4689 4719
4690 core.Map<core.String, core.Object> toJson() { 4720 core.Map<core.String, core.Object> toJson() {
4691 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4721 final core.Map<core.String, core.Object> _json =
4722 new core.Map<core.String, core.Object>();
4692 if (criteria != null) { 4723 if (criteria != null) {
4693 _json["criteria"] = commons.mapMap<FilterCriteria, core.Map<core.String, c ore.Object>>(criteria, (FilterCriteria item) => (item).toJson()); 4724 _json["criteria"] =
4725 commons.mapMap<FilterCriteria, core.Map<core.String, core.Object>>(
4726 criteria, (FilterCriteria item) => (item).toJson());
4694 } 4727 }
4695 if (filterViewId != null) { 4728 if (filterViewId != null) {
4696 _json["filterViewId"] = filterViewId; 4729 _json["filterViewId"] = filterViewId;
4697 } 4730 }
4698 if (namedRangeId != null) { 4731 if (namedRangeId != null) {
4699 _json["namedRangeId"] = namedRangeId; 4732 _json["namedRangeId"] = namedRangeId;
4700 } 4733 }
4701 if (range != null) { 4734 if (range != null) {
4702 _json["range"] = (range).toJson(); 4735 _json["range"] = (range).toJson();
4703 } 4736 }
4704 if (sortSpecs != null) { 4737 if (sortSpecs != null) {
4705 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList(); 4738 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList();
4706 } 4739 }
4707 if (title != null) { 4740 if (title != null) {
4708 _json["title"] = title; 4741 _json["title"] = title;
4709 } 4742 }
4710 return _json; 4743 return _json;
4711 } 4744 }
4712 } 4745 }
4713 4746
4714 /** Finds and replaces data in cells over a range, sheet, or all sheets. */ 4747 /// Finds and replaces data in cells over a range, sheet, or all sheets.
4715 class FindReplaceRequest { 4748 class FindReplaceRequest {
4716 /** True to find/replace over all sheets. */ 4749 /// True to find/replace over all sheets.
4717 core.bool allSheets; 4750 core.bool allSheets;
4718 /** The value to search. */ 4751
4752 /// The value to search.
4719 core.String find; 4753 core.String find;
4720 /** 4754
4721 * True if the search should include cells with formulas. 4755 /// True if the search should include cells with formulas.
4722 * False to skip cells with formulas. 4756 /// False to skip cells with formulas.
4723 */
4724 core.bool includeFormulas; 4757 core.bool includeFormulas;
4725 /** True if the search is case sensitive. */ 4758
4759 /// True if the search is case sensitive.
4726 core.bool matchCase; 4760 core.bool matchCase;
4727 /** True if the find value should match the entire cell. */ 4761
4762 /// True if the find value should match the entire cell.
4728 core.bool matchEntireCell; 4763 core.bool matchEntireCell;
4729 /** The range to find/replace over. */ 4764
4765 /// The range to find/replace over.
4730 GridRange range; 4766 GridRange range;
4731 /** The value to use as the replacement. */ 4767
4768 /// The value to use as the replacement.
4732 core.String replacement; 4769 core.String replacement;
4733 /** 4770
4734 * True if the find value is a regex. 4771 /// True if the find value is a regex.
4735 * The regular expression and replacement should follow Java regex rules 4772 /// The regular expression and replacement should follow Java regex rules
4736 * at https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html. 4773 /// at
4737 * The replacement string is allowed to refer to capturing groups. 4774 /// https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html.
4738 * For example, if one cell has the contents `"Google Sheets"` and another 4775 /// The replacement string is allowed to refer to capturing groups.
4739 * has `"Google Docs"`, then searching for `"o.* (.*)"` with a replacement of 4776 /// For example, if one cell has the contents `"Google Sheets"` and another
4740 * `"$1 Rocks"` would change the contents of the cells to 4777 /// has `"Google Docs"`, then searching for `"o.* (.*)"` with a replacement
4741 * `"GSheets Rocks"` and `"GDocs Rocks"` respectively. 4778 /// of
4742 */ 4779 /// `"$1 Rocks"` would change the contents of the cells to
4780 /// `"GSheets Rocks"` and `"GDocs Rocks"` respectively.
4743 core.bool searchByRegex; 4781 core.bool searchByRegex;
4744 /** The sheet to find/replace over. */ 4782
4783 /// The sheet to find/replace over.
4745 core.int sheetId; 4784 core.int sheetId;
4746 4785
4747 FindReplaceRequest(); 4786 FindReplaceRequest();
4748 4787
4749 FindReplaceRequest.fromJson(core.Map _json) { 4788 FindReplaceRequest.fromJson(core.Map _json) {
4750 if (_json.containsKey("allSheets")) { 4789 if (_json.containsKey("allSheets")) {
4751 allSheets = _json["allSheets"]; 4790 allSheets = _json["allSheets"];
4752 } 4791 }
4753 if (_json.containsKey("find")) { 4792 if (_json.containsKey("find")) {
4754 find = _json["find"]; 4793 find = _json["find"];
(...skipping 15 matching lines...) Expand all
4770 } 4809 }
4771 if (_json.containsKey("searchByRegex")) { 4810 if (_json.containsKey("searchByRegex")) {
4772 searchByRegex = _json["searchByRegex"]; 4811 searchByRegex = _json["searchByRegex"];
4773 } 4812 }
4774 if (_json.containsKey("sheetId")) { 4813 if (_json.containsKey("sheetId")) {
4775 sheetId = _json["sheetId"]; 4814 sheetId = _json["sheetId"];
4776 } 4815 }
4777 } 4816 }
4778 4817
4779 core.Map<core.String, core.Object> toJson() { 4818 core.Map<core.String, core.Object> toJson() {
4780 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4819 final core.Map<core.String, core.Object> _json =
4820 new core.Map<core.String, core.Object>();
4781 if (allSheets != null) { 4821 if (allSheets != null) {
4782 _json["allSheets"] = allSheets; 4822 _json["allSheets"] = allSheets;
4783 } 4823 }
4784 if (find != null) { 4824 if (find != null) {
4785 _json["find"] = find; 4825 _json["find"] = find;
4786 } 4826 }
4787 if (includeFormulas != null) { 4827 if (includeFormulas != null) {
4788 _json["includeFormulas"] = includeFormulas; 4828 _json["includeFormulas"] = includeFormulas;
4789 } 4829 }
4790 if (matchCase != null) { 4830 if (matchCase != null) {
(...skipping 11 matching lines...) Expand all
4802 if (searchByRegex != null) { 4842 if (searchByRegex != null) {
4803 _json["searchByRegex"] = searchByRegex; 4843 _json["searchByRegex"] = searchByRegex;
4804 } 4844 }
4805 if (sheetId != null) { 4845 if (sheetId != null) {
4806 _json["sheetId"] = sheetId; 4846 _json["sheetId"] = sheetId;
4807 } 4847 }
4808 return _json; 4848 return _json;
4809 } 4849 }
4810 } 4850 }
4811 4851
4812 /** The result of the find/replace. */ 4852 /// The result of the find/replace.
4813 class FindReplaceResponse { 4853 class FindReplaceResponse {
4814 /** The number of formula cells changed. */ 4854 /// The number of formula cells changed.
4815 core.int formulasChanged; 4855 core.int formulasChanged;
4816 /** 4856
4817 * The number of occurrences (possibly multiple within a cell) changed. 4857 /// The number of occurrences (possibly multiple within a cell) changed.
4818 * For example, if replacing `"e"` with `"o"` in `"Google Sheets"`, this would 4858 /// For example, if replacing `"e"` with `"o"` in `"Google Sheets"`, this
4819 * be `"3"` because `"Google Sheets"` -> `"Googlo Shoots"`. 4859 /// would
4820 */ 4860 /// be `"3"` because `"Google Sheets"` -> `"Googlo Shoots"`.
4821 core.int occurrencesChanged; 4861 core.int occurrencesChanged;
4822 /** The number of rows changed. */ 4862
4863 /// The number of rows changed.
4823 core.int rowsChanged; 4864 core.int rowsChanged;
4824 /** The number of sheets changed. */ 4865
4866 /// The number of sheets changed.
4825 core.int sheetsChanged; 4867 core.int sheetsChanged;
4826 /** The number of non-formula cells changed. */ 4868
4869 /// The number of non-formula cells changed.
4827 core.int valuesChanged; 4870 core.int valuesChanged;
4828 4871
4829 FindReplaceResponse(); 4872 FindReplaceResponse();
4830 4873
4831 FindReplaceResponse.fromJson(core.Map _json) { 4874 FindReplaceResponse.fromJson(core.Map _json) {
4832 if (_json.containsKey("formulasChanged")) { 4875 if (_json.containsKey("formulasChanged")) {
4833 formulasChanged = _json["formulasChanged"]; 4876 formulasChanged = _json["formulasChanged"];
4834 } 4877 }
4835 if (_json.containsKey("occurrencesChanged")) { 4878 if (_json.containsKey("occurrencesChanged")) {
4836 occurrencesChanged = _json["occurrencesChanged"]; 4879 occurrencesChanged = _json["occurrencesChanged"];
4837 } 4880 }
4838 if (_json.containsKey("rowsChanged")) { 4881 if (_json.containsKey("rowsChanged")) {
4839 rowsChanged = _json["rowsChanged"]; 4882 rowsChanged = _json["rowsChanged"];
4840 } 4883 }
4841 if (_json.containsKey("sheetsChanged")) { 4884 if (_json.containsKey("sheetsChanged")) {
4842 sheetsChanged = _json["sheetsChanged"]; 4885 sheetsChanged = _json["sheetsChanged"];
4843 } 4886 }
4844 if (_json.containsKey("valuesChanged")) { 4887 if (_json.containsKey("valuesChanged")) {
4845 valuesChanged = _json["valuesChanged"]; 4888 valuesChanged = _json["valuesChanged"];
4846 } 4889 }
4847 } 4890 }
4848 4891
4849 core.Map<core.String, core.Object> toJson() { 4892 core.Map<core.String, core.Object> toJson() {
4850 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4893 final core.Map<core.String, core.Object> _json =
4894 new core.Map<core.String, core.Object>();
4851 if (formulasChanged != null) { 4895 if (formulasChanged != null) {
4852 _json["formulasChanged"] = formulasChanged; 4896 _json["formulasChanged"] = formulasChanged;
4853 } 4897 }
4854 if (occurrencesChanged != null) { 4898 if (occurrencesChanged != null) {
4855 _json["occurrencesChanged"] = occurrencesChanged; 4899 _json["occurrencesChanged"] = occurrencesChanged;
4856 } 4900 }
4857 if (rowsChanged != null) { 4901 if (rowsChanged != null) {
4858 _json["rowsChanged"] = rowsChanged; 4902 _json["rowsChanged"] = rowsChanged;
4859 } 4903 }
4860 if (sheetsChanged != null) { 4904 if (sheetsChanged != null) {
4861 _json["sheetsChanged"] = sheetsChanged; 4905 _json["sheetsChanged"] = sheetsChanged;
4862 } 4906 }
4863 if (valuesChanged != null) { 4907 if (valuesChanged != null) {
4864 _json["valuesChanged"] = valuesChanged; 4908 _json["valuesChanged"] = valuesChanged;
4865 } 4909 }
4866 return _json; 4910 return _json;
4867 } 4911 }
4868 } 4912 }
4869 4913
4870 /** 4914 /// A rule that applies a gradient color scale format, based on
4871 * A rule that applies a gradient color scale format, based on 4915 /// the interpolation points listed. The format of a cell will vary
4872 * the interpolation points listed. The format of a cell will vary 4916 /// based on its contents as compared to the values of the interpolation
4873 * based on its contents as compared to the values of the interpolation 4917 /// points.
4874 * points.
4875 */
4876 class GradientRule { 4918 class GradientRule {
4877 /** The final interpolation point. */ 4919 /// The final interpolation point.
4878 InterpolationPoint maxpoint; 4920 InterpolationPoint maxpoint;
4879 /** An optional midway interpolation point. */ 4921
4922 /// An optional midway interpolation point.
4880 InterpolationPoint midpoint; 4923 InterpolationPoint midpoint;
4881 /** The starting interpolation point. */ 4924
4925 /// The starting interpolation point.
4882 InterpolationPoint minpoint; 4926 InterpolationPoint minpoint;
4883 4927
4884 GradientRule(); 4928 GradientRule();
4885 4929
4886 GradientRule.fromJson(core.Map _json) { 4930 GradientRule.fromJson(core.Map _json) {
4887 if (_json.containsKey("maxpoint")) { 4931 if (_json.containsKey("maxpoint")) {
4888 maxpoint = new InterpolationPoint.fromJson(_json["maxpoint"]); 4932 maxpoint = new InterpolationPoint.fromJson(_json["maxpoint"]);
4889 } 4933 }
4890 if (_json.containsKey("midpoint")) { 4934 if (_json.containsKey("midpoint")) {
4891 midpoint = new InterpolationPoint.fromJson(_json["midpoint"]); 4935 midpoint = new InterpolationPoint.fromJson(_json["midpoint"]);
4892 } 4936 }
4893 if (_json.containsKey("minpoint")) { 4937 if (_json.containsKey("minpoint")) {
4894 minpoint = new InterpolationPoint.fromJson(_json["minpoint"]); 4938 minpoint = new InterpolationPoint.fromJson(_json["minpoint"]);
4895 } 4939 }
4896 } 4940 }
4897 4941
4898 core.Map<core.String, core.Object> toJson() { 4942 core.Map<core.String, core.Object> toJson() {
4899 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4943 final core.Map<core.String, core.Object> _json =
4944 new core.Map<core.String, core.Object>();
4900 if (maxpoint != null) { 4945 if (maxpoint != null) {
4901 _json["maxpoint"] = (maxpoint).toJson(); 4946 _json["maxpoint"] = (maxpoint).toJson();
4902 } 4947 }
4903 if (midpoint != null) { 4948 if (midpoint != null) {
4904 _json["midpoint"] = (midpoint).toJson(); 4949 _json["midpoint"] = (midpoint).toJson();
4905 } 4950 }
4906 if (minpoint != null) { 4951 if (minpoint != null) {
4907 _json["minpoint"] = (minpoint).toJson(); 4952 _json["minpoint"] = (minpoint).toJson();
4908 } 4953 }
4909 return _json; 4954 return _json;
4910 } 4955 }
4911 } 4956 }
4912 4957
4913 /** 4958 /// A coordinate in a sheet.
4914 * A coordinate in a sheet. 4959 /// All indexes are zero-based.
4915 * All indexes are zero-based.
4916 */
4917 class GridCoordinate { 4960 class GridCoordinate {
4918 /** The column index of the coordinate. */ 4961 /// The column index of the coordinate.
4919 core.int columnIndex; 4962 core.int columnIndex;
4920 /** The row index of the coordinate. */ 4963
4964 /// The row index of the coordinate.
4921 core.int rowIndex; 4965 core.int rowIndex;
4922 /** The sheet this coordinate is on. */ 4966
4967 /// The sheet this coordinate is on.
4923 core.int sheetId; 4968 core.int sheetId;
4924 4969
4925 GridCoordinate(); 4970 GridCoordinate();
4926 4971
4927 GridCoordinate.fromJson(core.Map _json) { 4972 GridCoordinate.fromJson(core.Map _json) {
4928 if (_json.containsKey("columnIndex")) { 4973 if (_json.containsKey("columnIndex")) {
4929 columnIndex = _json["columnIndex"]; 4974 columnIndex = _json["columnIndex"];
4930 } 4975 }
4931 if (_json.containsKey("rowIndex")) { 4976 if (_json.containsKey("rowIndex")) {
4932 rowIndex = _json["rowIndex"]; 4977 rowIndex = _json["rowIndex"];
4933 } 4978 }
4934 if (_json.containsKey("sheetId")) { 4979 if (_json.containsKey("sheetId")) {
4935 sheetId = _json["sheetId"]; 4980 sheetId = _json["sheetId"];
4936 } 4981 }
4937 } 4982 }
4938 4983
4939 core.Map<core.String, core.Object> toJson() { 4984 core.Map<core.String, core.Object> toJson() {
4940 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4985 final core.Map<core.String, core.Object> _json =
4986 new core.Map<core.String, core.Object>();
4941 if (columnIndex != null) { 4987 if (columnIndex != null) {
4942 _json["columnIndex"] = columnIndex; 4988 _json["columnIndex"] = columnIndex;
4943 } 4989 }
4944 if (rowIndex != null) { 4990 if (rowIndex != null) {
4945 _json["rowIndex"] = rowIndex; 4991 _json["rowIndex"] = rowIndex;
4946 } 4992 }
4947 if (sheetId != null) { 4993 if (sheetId != null) {
4948 _json["sheetId"] = sheetId; 4994 _json["sheetId"] = sheetId;
4949 } 4995 }
4950 return _json; 4996 return _json;
4951 } 4997 }
4952 } 4998 }
4953 4999
4954 /** Data in the grid, as well as metadata about the dimensions. */ 5000 /// Data in the grid, as well as metadata about the dimensions.
4955 class GridData { 5001 class GridData {
4956 /** 5002 /// Metadata about the requested columns in the grid, starting with the
4957 * Metadata about the requested columns in the grid, starting with the column 5003 /// column
4958 * in start_column. 5004 /// in start_column.
4959 */
4960 core.List<DimensionProperties> columnMetadata; 5005 core.List<DimensionProperties> columnMetadata;
4961 /** 5006
4962 * The data in the grid, one entry per row, 5007 /// The data in the grid, one entry per row,
4963 * starting with the row in startRow. 5008 /// starting with the row in startRow.
4964 * The values in RowData will correspond to columns starting 5009 /// The values in RowData will correspond to columns starting
4965 * at start_column. 5010 /// at start_column.
4966 */
4967 core.List<RowData> rowData; 5011 core.List<RowData> rowData;
4968 /** 5012
4969 * Metadata about the requested rows in the grid, starting with the row 5013 /// Metadata about the requested rows in the grid, starting with the row
4970 * in start_row. 5014 /// in start_row.
4971 */
4972 core.List<DimensionProperties> rowMetadata; 5015 core.List<DimensionProperties> rowMetadata;
4973 /** The first column this GridData refers to, zero-based. */ 5016
5017 /// The first column this GridData refers to, zero-based.
4974 core.int startColumn; 5018 core.int startColumn;
4975 /** The first row this GridData refers to, zero-based. */ 5019
5020 /// The first row this GridData refers to, zero-based.
4976 core.int startRow; 5021 core.int startRow;
4977 5022
4978 GridData(); 5023 GridData();
4979 5024
4980 GridData.fromJson(core.Map _json) { 5025 GridData.fromJson(core.Map _json) {
4981 if (_json.containsKey("columnMetadata")) { 5026 if (_json.containsKey("columnMetadata")) {
4982 columnMetadata = _json["columnMetadata"].map((value) => new DimensionPrope rties.fromJson(value)).toList(); 5027 columnMetadata = _json["columnMetadata"]
5028 .map((value) => new DimensionProperties.fromJson(value))
5029 .toList();
4983 } 5030 }
4984 if (_json.containsKey("rowData")) { 5031 if (_json.containsKey("rowData")) {
4985 rowData = _json["rowData"].map((value) => new RowData.fromJson(value)).toL ist(); 5032 rowData =
5033 _json["rowData"].map((value) => new RowData.fromJson(value)).toList();
4986 } 5034 }
4987 if (_json.containsKey("rowMetadata")) { 5035 if (_json.containsKey("rowMetadata")) {
4988 rowMetadata = _json["rowMetadata"].map((value) => new DimensionProperties. fromJson(value)).toList(); 5036 rowMetadata = _json["rowMetadata"]
5037 .map((value) => new DimensionProperties.fromJson(value))
5038 .toList();
4989 } 5039 }
4990 if (_json.containsKey("startColumn")) { 5040 if (_json.containsKey("startColumn")) {
4991 startColumn = _json["startColumn"]; 5041 startColumn = _json["startColumn"];
4992 } 5042 }
4993 if (_json.containsKey("startRow")) { 5043 if (_json.containsKey("startRow")) {
4994 startRow = _json["startRow"]; 5044 startRow = _json["startRow"];
4995 } 5045 }
4996 } 5046 }
4997 5047
4998 core.Map<core.String, core.Object> toJson() { 5048 core.Map<core.String, core.Object> toJson() {
4999 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5049 final core.Map<core.String, core.Object> _json =
5050 new core.Map<core.String, core.Object>();
5000 if (columnMetadata != null) { 5051 if (columnMetadata != null) {
5001 _json["columnMetadata"] = columnMetadata.map((value) => (value).toJson()). toList(); 5052 _json["columnMetadata"] =
5053 columnMetadata.map((value) => (value).toJson()).toList();
5002 } 5054 }
5003 if (rowData != null) { 5055 if (rowData != null) {
5004 _json["rowData"] = rowData.map((value) => (value).toJson()).toList(); 5056 _json["rowData"] = rowData.map((value) => (value).toJson()).toList();
5005 } 5057 }
5006 if (rowMetadata != null) { 5058 if (rowMetadata != null) {
5007 _json["rowMetadata"] = rowMetadata.map((value) => (value).toJson()).toList (); 5059 _json["rowMetadata"] =
5060 rowMetadata.map((value) => (value).toJson()).toList();
5008 } 5061 }
5009 if (startColumn != null) { 5062 if (startColumn != null) {
5010 _json["startColumn"] = startColumn; 5063 _json["startColumn"] = startColumn;
5011 } 5064 }
5012 if (startRow != null) { 5065 if (startRow != null) {
5013 _json["startRow"] = startRow; 5066 _json["startRow"] = startRow;
5014 } 5067 }
5015 return _json; 5068 return _json;
5016 } 5069 }
5017 } 5070 }
5018 5071
5019 /** Properties of a grid. */ 5072 /// Properties of a grid.
5020 class GridProperties { 5073 class GridProperties {
5021 /** The number of columns in the grid. */ 5074 /// The number of columns in the grid.
5022 core.int columnCount; 5075 core.int columnCount;
5023 /** The number of columns that are frozen in the grid. */ 5076
5077 /// The number of columns that are frozen in the grid.
5024 core.int frozenColumnCount; 5078 core.int frozenColumnCount;
5025 /** The number of rows that are frozen in the grid. */ 5079
5080 /// The number of rows that are frozen in the grid.
5026 core.int frozenRowCount; 5081 core.int frozenRowCount;
5027 /** True if the grid isn't showing gridlines in the UI. */ 5082
5083 /// True if the grid isn't showing gridlines in the UI.
5028 core.bool hideGridlines; 5084 core.bool hideGridlines;
5029 /** The number of rows in the grid. */ 5085
5086 /// The number of rows in the grid.
5030 core.int rowCount; 5087 core.int rowCount;
5031 5088
5032 GridProperties(); 5089 GridProperties();
5033 5090
5034 GridProperties.fromJson(core.Map _json) { 5091 GridProperties.fromJson(core.Map _json) {
5035 if (_json.containsKey("columnCount")) { 5092 if (_json.containsKey("columnCount")) {
5036 columnCount = _json["columnCount"]; 5093 columnCount = _json["columnCount"];
5037 } 5094 }
5038 if (_json.containsKey("frozenColumnCount")) { 5095 if (_json.containsKey("frozenColumnCount")) {
5039 frozenColumnCount = _json["frozenColumnCount"]; 5096 frozenColumnCount = _json["frozenColumnCount"];
5040 } 5097 }
5041 if (_json.containsKey("frozenRowCount")) { 5098 if (_json.containsKey("frozenRowCount")) {
5042 frozenRowCount = _json["frozenRowCount"]; 5099 frozenRowCount = _json["frozenRowCount"];
5043 } 5100 }
5044 if (_json.containsKey("hideGridlines")) { 5101 if (_json.containsKey("hideGridlines")) {
5045 hideGridlines = _json["hideGridlines"]; 5102 hideGridlines = _json["hideGridlines"];
5046 } 5103 }
5047 if (_json.containsKey("rowCount")) { 5104 if (_json.containsKey("rowCount")) {
5048 rowCount = _json["rowCount"]; 5105 rowCount = _json["rowCount"];
5049 } 5106 }
5050 } 5107 }
5051 5108
5052 core.Map<core.String, core.Object> toJson() { 5109 core.Map<core.String, core.Object> toJson() {
5053 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5110 final core.Map<core.String, core.Object> _json =
5111 new core.Map<core.String, core.Object>();
5054 if (columnCount != null) { 5112 if (columnCount != null) {
5055 _json["columnCount"] = columnCount; 5113 _json["columnCount"] = columnCount;
5056 } 5114 }
5057 if (frozenColumnCount != null) { 5115 if (frozenColumnCount != null) {
5058 _json["frozenColumnCount"] = frozenColumnCount; 5116 _json["frozenColumnCount"] = frozenColumnCount;
5059 } 5117 }
5060 if (frozenRowCount != null) { 5118 if (frozenRowCount != null) {
5061 _json["frozenRowCount"] = frozenRowCount; 5119 _json["frozenRowCount"] = frozenRowCount;
5062 } 5120 }
5063 if (hideGridlines != null) { 5121 if (hideGridlines != null) {
5064 _json["hideGridlines"] = hideGridlines; 5122 _json["hideGridlines"] = hideGridlines;
5065 } 5123 }
5066 if (rowCount != null) { 5124 if (rowCount != null) {
5067 _json["rowCount"] = rowCount; 5125 _json["rowCount"] = rowCount;
5068 } 5126 }
5069 return _json; 5127 return _json;
5070 } 5128 }
5071 } 5129 }
5072 5130
5073 /** 5131 /// A range on a sheet.
5074 * A range on a sheet. 5132 /// All indexes are zero-based.
5075 * All indexes are zero-based. 5133 /// Indexes are half open, e.g the start index is inclusive
5076 * Indexes are half open, e.g the start index is inclusive 5134 /// and the end index is exclusive -- [start_index, end_index).
5077 * and the end index is exclusive -- [start_index, end_index). 5135 /// Missing indexes indicate the range is unbounded on that side.
5078 * Missing indexes indicate the range is unbounded on that side. 5136 ///
5079 * 5137 /// For example, if `"Sheet1"` is sheet ID 0, then:
5080 * For example, if `"Sheet1"` is sheet ID 0, then: 5138 ///
5081 * 5139 /// `Sheet1!A1:A1 == sheet_id: 0,
5082 * `Sheet1!A1:A1 == sheet_id: 0, 5140 /// start_row_index: 0, end_row_index: 1,
5083 * start_row_index: 0, end_row_index: 1, 5141 /// start_column_index: 0, end_column_index: 1`
5084 * start_column_index: 0, end_column_index: 1` 5142 ///
5085 * 5143 /// `Sheet1!A3:B4 == sheet_id: 0,
5086 * `Sheet1!A3:B4 == sheet_id: 0, 5144 /// start_row_index: 2, end_row_index: 4,
5087 * start_row_index: 2, end_row_index: 4, 5145 /// start_column_index: 0, end_column_index: 2`
5088 * start_column_index: 0, end_column_index: 2` 5146 ///
5089 * 5147 /// `Sheet1!A:B == sheet_id: 0,
5090 * `Sheet1!A:B == sheet_id: 0, 5148 /// start_column_index: 0, end_column_index: 2`
5091 * start_column_index: 0, end_column_index: 2` 5149 ///
5092 * 5150 /// `Sheet1!A5:B == sheet_id: 0,
5093 * `Sheet1!A5:B == sheet_id: 0, 5151 /// start_row_index: 4,
5094 * start_row_index: 4, 5152 /// start_column_index: 0, end_column_index: 2`
5095 * start_column_index: 0, end_column_index: 2` 5153 ///
5096 * 5154 /// `Sheet1 == sheet_id:0`
5097 * `Sheet1 == sheet_id:0` 5155 ///
5098 * 5156 /// The start index must always be less than or equal to the end index.
5099 * The start index must always be less than or equal to the end index. 5157 /// If the start index equals the end index, then the range is empty.
5100 * If the start index equals the end index, then the range is empty. 5158 /// Empty ranges are typically not meaningful and are usually rendered in the
5101 * Empty ranges are typically not meaningful and are usually rendered in the 5159 /// UI as `#REF!`.
5102 * UI as `#REF!`.
5103 */
5104 class GridRange { 5160 class GridRange {
5105 /** The end column (exclusive) of the range, or not set if unbounded. */ 5161 /// The end column (exclusive) of the range, or not set if unbounded.
5106 core.int endColumnIndex; 5162 core.int endColumnIndex;
5107 /** The end row (exclusive) of the range, or not set if unbounded. */ 5163
5164 /// The end row (exclusive) of the range, or not set if unbounded.
5108 core.int endRowIndex; 5165 core.int endRowIndex;
5109 /** The sheet this range is on. */ 5166
5167 /// The sheet this range is on.
5110 core.int sheetId; 5168 core.int sheetId;
5111 /** The start column (inclusive) of the range, or not set if unbounded. */ 5169
5170 /// The start column (inclusive) of the range, or not set if unbounded.
5112 core.int startColumnIndex; 5171 core.int startColumnIndex;
5113 /** The start row (inclusive) of the range, or not set if unbounded. */ 5172
5173 /// The start row (inclusive) of the range, or not set if unbounded.
5114 core.int startRowIndex; 5174 core.int startRowIndex;
5115 5175
5116 GridRange(); 5176 GridRange();
5117 5177
5118 GridRange.fromJson(core.Map _json) { 5178 GridRange.fromJson(core.Map _json) {
5119 if (_json.containsKey("endColumnIndex")) { 5179 if (_json.containsKey("endColumnIndex")) {
5120 endColumnIndex = _json["endColumnIndex"]; 5180 endColumnIndex = _json["endColumnIndex"];
5121 } 5181 }
5122 if (_json.containsKey("endRowIndex")) { 5182 if (_json.containsKey("endRowIndex")) {
5123 endRowIndex = _json["endRowIndex"]; 5183 endRowIndex = _json["endRowIndex"];
5124 } 5184 }
5125 if (_json.containsKey("sheetId")) { 5185 if (_json.containsKey("sheetId")) {
5126 sheetId = _json["sheetId"]; 5186 sheetId = _json["sheetId"];
5127 } 5187 }
5128 if (_json.containsKey("startColumnIndex")) { 5188 if (_json.containsKey("startColumnIndex")) {
5129 startColumnIndex = _json["startColumnIndex"]; 5189 startColumnIndex = _json["startColumnIndex"];
5130 } 5190 }
5131 if (_json.containsKey("startRowIndex")) { 5191 if (_json.containsKey("startRowIndex")) {
5132 startRowIndex = _json["startRowIndex"]; 5192 startRowIndex = _json["startRowIndex"];
5133 } 5193 }
5134 } 5194 }
5135 5195
5136 core.Map<core.String, core.Object> toJson() { 5196 core.Map<core.String, core.Object> toJson() {
5137 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5197 final core.Map<core.String, core.Object> _json =
5198 new core.Map<core.String, core.Object>();
5138 if (endColumnIndex != null) { 5199 if (endColumnIndex != null) {
5139 _json["endColumnIndex"] = endColumnIndex; 5200 _json["endColumnIndex"] = endColumnIndex;
5140 } 5201 }
5141 if (endRowIndex != null) { 5202 if (endRowIndex != null) {
5142 _json["endRowIndex"] = endRowIndex; 5203 _json["endRowIndex"] = endRowIndex;
5143 } 5204 }
5144 if (sheetId != null) { 5205 if (sheetId != null) {
5145 _json["sheetId"] = sheetId; 5206 _json["sheetId"] = sheetId;
5146 } 5207 }
5147 if (startColumnIndex != null) { 5208 if (startColumnIndex != null) {
5148 _json["startColumnIndex"] = startColumnIndex; 5209 _json["startColumnIndex"] = startColumnIndex;
5149 } 5210 }
5150 if (startRowIndex != null) { 5211 if (startRowIndex != null) {
5151 _json["startRowIndex"] = startRowIndex; 5212 _json["startRowIndex"] = startRowIndex;
5152 } 5213 }
5153 return _json; 5214 return _json;
5154 } 5215 }
5155 } 5216 }
5156 5217
5157 /** 5218 /// A <a href="/chart/interactive/docs/gallery/histogram">histogram chart</a>.
5158 * A <a href="/chart/interactive/docs/gallery/histogram">histogram chart</a>. 5219 /// A histogram chart groups data items into bins, displaying each bin as a
5159 * A histogram chart groups data items into bins, displaying each bin as a 5220 /// column of stacked items. Histograms are used to display the distribution
5160 * column of stacked items. Histograms are used to display the distribution 5221 /// of a dataset. Each column of items represents a range into which those
5161 * of a dataset. Each column of items represents a range into which those 5222 /// items fall. The number of bins can be chosen automatically or specified
5162 * items fall. The number of bins can be chosen automatically or specified 5223 /// explicitly.
5163 * explicitly.
5164 */
5165 class HistogramChartSpec { 5224 class HistogramChartSpec {
5166 /** 5225 /// By default the bucket size (the range of values stacked in a single
5167 * By default the bucket size (the range of values stacked in a single 5226 /// column) is chosen automatically, but it may be overridden here.
5168 * column) is chosen automatically, but it may be overridden here. 5227 /// E.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0,
5169 * E.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc. 5228 /// etc.
5170 * Cannot be negative. 5229 /// Cannot be negative.
5171 * This field is optional. 5230 /// This field is optional.
5172 */
5173 core.double bucketSize; 5231 core.double bucketSize;
5174 /** 5232
5175 * The position of the chart legend. 5233 /// The position of the chart legend.
5176 * Possible string values are: 5234 /// Possible string values are:
5177 * - "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not 5235 /// - "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not
5178 * use. 5236 /// use.
5179 * - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart. 5237 /// - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart.
5180 * - "LEFT_LEGEND" : The legend is rendered on the left of the chart. 5238 /// - "LEFT_LEGEND" : The legend is rendered on the left of the chart.
5181 * - "RIGHT_LEGEND" : The legend is rendered on the right of the chart. 5239 /// - "RIGHT_LEGEND" : The legend is rendered on the right of the chart.
5182 * - "TOP_LEGEND" : The legend is rendered on the top of the chart. 5240 /// - "TOP_LEGEND" : The legend is rendered on the top of the chart.
5183 * - "NO_LEGEND" : No legend is rendered. 5241 /// - "NO_LEGEND" : No legend is rendered.
5184 * - "INSIDE_LEGEND" : The legend is rendered inside the chart area. 5242 /// - "INSIDE_LEGEND" : The legend is rendered inside the chart area.
5185 */
5186 core.String legendPosition; 5243 core.String legendPosition;
5187 /** 5244
5188 * The outlier percentile is used to ensure that outliers do not adversely 5245 /// The outlier percentile is used to ensure that outliers do not adversely
5189 * affect the calculation of bucket sizes. For example, setting an outlier 5246 /// affect the calculation of bucket sizes. For example, setting an outlier
5190 * percentile of 0.05 indicates that the top and bottom 5% of values when 5247 /// percentile of 0.05 indicates that the top and bottom 5% of values when
5191 * calculating buckets. The values are still included in the chart, they will 5248 /// calculating buckets. The values are still included in the chart, they
5192 * be added to the first or last buckets instead of their own buckets. 5249 /// will
5193 * Must be between 0.0 and 0.5. 5250 /// be added to the first or last buckets instead of their own buckets.
5194 */ 5251 /// Must be between 0.0 and 0.5.
5195 core.double outlierPercentile; 5252 core.double outlierPercentile;
5196 /** 5253
5197 * The series for a histogram may be either a single series of values to be 5254 /// The series for a histogram may be either a single series of values to be
5198 * bucketed or multiple series, each of the same length, containing the name 5255 /// bucketed or multiple series, each of the same length, containing the name
5199 * of the series followed by the values to be bucketed for that series. 5256 /// of the series followed by the values to be bucketed for that series.
5200 */
5201 core.List<HistogramSeries> series; 5257 core.List<HistogramSeries> series;
5202 /** 5258
5203 * Whether horizontal divider lines should be displayed between items in each 5259 /// Whether horizontal divider lines should be displayed between items in
5204 * column. 5260 /// each
5205 */ 5261 /// column.
5206 core.bool showItemDividers; 5262 core.bool showItemDividers;
5207 5263
5208 HistogramChartSpec(); 5264 HistogramChartSpec();
5209 5265
5210 HistogramChartSpec.fromJson(core.Map _json) { 5266 HistogramChartSpec.fromJson(core.Map _json) {
5211 if (_json.containsKey("bucketSize")) { 5267 if (_json.containsKey("bucketSize")) {
5212 bucketSize = _json["bucketSize"]; 5268 bucketSize = _json["bucketSize"];
5213 } 5269 }
5214 if (_json.containsKey("legendPosition")) { 5270 if (_json.containsKey("legendPosition")) {
5215 legendPosition = _json["legendPosition"]; 5271 legendPosition = _json["legendPosition"];
5216 } 5272 }
5217 if (_json.containsKey("outlierPercentile")) { 5273 if (_json.containsKey("outlierPercentile")) {
5218 outlierPercentile = _json["outlierPercentile"]; 5274 outlierPercentile = _json["outlierPercentile"];
5219 } 5275 }
5220 if (_json.containsKey("series")) { 5276 if (_json.containsKey("series")) {
5221 series = _json["series"].map((value) => new HistogramSeries.fromJson(value )).toList(); 5277 series = _json["series"]
5278 .map((value) => new HistogramSeries.fromJson(value))
5279 .toList();
5222 } 5280 }
5223 if (_json.containsKey("showItemDividers")) { 5281 if (_json.containsKey("showItemDividers")) {
5224 showItemDividers = _json["showItemDividers"]; 5282 showItemDividers = _json["showItemDividers"];
5225 } 5283 }
5226 } 5284 }
5227 5285
5228 core.Map<core.String, core.Object> toJson() { 5286 core.Map<core.String, core.Object> toJson() {
5229 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5287 final core.Map<core.String, core.Object> _json =
5288 new core.Map<core.String, core.Object>();
5230 if (bucketSize != null) { 5289 if (bucketSize != null) {
5231 _json["bucketSize"] = bucketSize; 5290 _json["bucketSize"] = bucketSize;
5232 } 5291 }
5233 if (legendPosition != null) { 5292 if (legendPosition != null) {
5234 _json["legendPosition"] = legendPosition; 5293 _json["legendPosition"] = legendPosition;
5235 } 5294 }
5236 if (outlierPercentile != null) { 5295 if (outlierPercentile != null) {
5237 _json["outlierPercentile"] = outlierPercentile; 5296 _json["outlierPercentile"] = outlierPercentile;
5238 } 5297 }
5239 if (series != null) { 5298 if (series != null) {
5240 _json["series"] = series.map((value) => (value).toJson()).toList(); 5299 _json["series"] = series.map((value) => (value).toJson()).toList();
5241 } 5300 }
5242 if (showItemDividers != null) { 5301 if (showItemDividers != null) {
5243 _json["showItemDividers"] = showItemDividers; 5302 _json["showItemDividers"] = showItemDividers;
5244 } 5303 }
5245 return _json; 5304 return _json;
5246 } 5305 }
5247 } 5306 }
5248 5307
5249 /** A histogram series containing the series color and data. */ 5308 /// A histogram series containing the series color and data.
5250 class HistogramSeries { 5309 class HistogramSeries {
5251 /** 5310 /// The color of the column representing this series in each bucket.
5252 * The color of the column representing this series in each bucket. 5311 /// This field is optional.
5253 * This field is optional.
5254 */
5255 Color barColor; 5312 Color barColor;
5256 /** The data for this histogram series. */ 5313
5314 /// The data for this histogram series.
5257 ChartData data; 5315 ChartData data;
5258 5316
5259 HistogramSeries(); 5317 HistogramSeries();
5260 5318
5261 HistogramSeries.fromJson(core.Map _json) { 5319 HistogramSeries.fromJson(core.Map _json) {
5262 if (_json.containsKey("barColor")) { 5320 if (_json.containsKey("barColor")) {
5263 barColor = new Color.fromJson(_json["barColor"]); 5321 barColor = new Color.fromJson(_json["barColor"]);
5264 } 5322 }
5265 if (_json.containsKey("data")) { 5323 if (_json.containsKey("data")) {
5266 data = new ChartData.fromJson(_json["data"]); 5324 data = new ChartData.fromJson(_json["data"]);
5267 } 5325 }
5268 } 5326 }
5269 5327
5270 core.Map<core.String, core.Object> toJson() { 5328 core.Map<core.String, core.Object> toJson() {
5271 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5329 final core.Map<core.String, core.Object> _json =
5330 new core.Map<core.String, core.Object>();
5272 if (barColor != null) { 5331 if (barColor != null) {
5273 _json["barColor"] = (barColor).toJson(); 5332 _json["barColor"] = (barColor).toJson();
5274 } 5333 }
5275 if (data != null) { 5334 if (data != null) {
5276 _json["data"] = (data).toJson(); 5335 _json["data"] = (data).toJson();
5277 } 5336 }
5278 return _json; 5337 return _json;
5279 } 5338 }
5280 } 5339 }
5281 5340
5282 /** Inserts rows or columns in a sheet at a particular index. */ 5341 /// Inserts rows or columns in a sheet at a particular index.
5283 class InsertDimensionRequest { 5342 class InsertDimensionRequest {
5284 /** 5343 /// Whether dimension properties should be extended from the dimensions
5285 * Whether dimension properties should be extended from the dimensions 5344 /// before or after the newly inserted dimensions.
5286 * before or after the newly inserted dimensions. 5345 /// True to inherit from the dimensions before (in which case the start
5287 * True to inherit from the dimensions before (in which case the start 5346 /// index must be greater than 0), and false to inherit from the dimensions
5288 * index must be greater than 0), and false to inherit from the dimensions 5347 /// after.
5289 * after. 5348 ///
5290 * 5349 /// For example, if row index 0 has red background and row index 1
5291 * For example, if row index 0 has red background and row index 1 5350 /// has a green background, then inserting 2 rows at index 1 can inherit
5292 * has a green background, then inserting 2 rows at index 1 can inherit 5351 /// either the green or red background. If `inheritFromBefore` is true,
5293 * either the green or red background. If `inheritFromBefore` is true, 5352 /// the two new rows will be red (because the row before the insertion point
5294 * the two new rows will be red (because the row before the insertion point 5353 /// was red), whereas if `inheritFromBefore` is false, the two new rows will
5295 * was red), whereas if `inheritFromBefore` is false, the two new rows will 5354 /// be green (because the row after the insertion point was green).
5296 * be green (because the row after the insertion point was green).
5297 */
5298 core.bool inheritFromBefore; 5355 core.bool inheritFromBefore;
5299 /** 5356
5300 * The dimensions to insert. Both the start and end indexes must be bounded. 5357 /// The dimensions to insert. Both the start and end indexes must be
5301 */ 5358 /// bounded.
5302 DimensionRange range; 5359 DimensionRange range;
5303 5360
5304 InsertDimensionRequest(); 5361 InsertDimensionRequest();
5305 5362
5306 InsertDimensionRequest.fromJson(core.Map _json) { 5363 InsertDimensionRequest.fromJson(core.Map _json) {
5307 if (_json.containsKey("inheritFromBefore")) { 5364 if (_json.containsKey("inheritFromBefore")) {
5308 inheritFromBefore = _json["inheritFromBefore"]; 5365 inheritFromBefore = _json["inheritFromBefore"];
5309 } 5366 }
5310 if (_json.containsKey("range")) { 5367 if (_json.containsKey("range")) {
5311 range = new DimensionRange.fromJson(_json["range"]); 5368 range = new DimensionRange.fromJson(_json["range"]);
5312 } 5369 }
5313 } 5370 }
5314 5371
5315 core.Map<core.String, core.Object> toJson() { 5372 core.Map<core.String, core.Object> toJson() {
5316 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5373 final core.Map<core.String, core.Object> _json =
5374 new core.Map<core.String, core.Object>();
5317 if (inheritFromBefore != null) { 5375 if (inheritFromBefore != null) {
5318 _json["inheritFromBefore"] = inheritFromBefore; 5376 _json["inheritFromBefore"] = inheritFromBefore;
5319 } 5377 }
5320 if (range != null) { 5378 if (range != null) {
5321 _json["range"] = (range).toJson(); 5379 _json["range"] = (range).toJson();
5322 } 5380 }
5323 return _json; 5381 return _json;
5324 } 5382 }
5325 } 5383 }
5326 5384
5327 /** Inserts cells into a range, shifting the existing cells over or down. */ 5385 /// Inserts cells into a range, shifting the existing cells over or down.
5328 class InsertRangeRequest { 5386 class InsertRangeRequest {
5329 /** The range to insert new cells into. */ 5387 /// The range to insert new cells into.
5330 GridRange range; 5388 GridRange range;
5331 /** 5389
5332 * The dimension which will be shifted when inserting cells. 5390 /// The dimension which will be shifted when inserting cells.
5333 * If ROWS, existing cells will be shifted down. 5391 /// If ROWS, existing cells will be shifted down.
5334 * If COLUMNS, existing cells will be shifted right. 5392 /// If COLUMNS, existing cells will be shifted right.
5335 * Possible string values are: 5393 /// Possible string values are:
5336 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 5394 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
5337 * - "ROWS" : Operates on the rows of a sheet. 5395 /// - "ROWS" : Operates on the rows of a sheet.
5338 * - "COLUMNS" : Operates on the columns of a sheet. 5396 /// - "COLUMNS" : Operates on the columns of a sheet.
5339 */
5340 core.String shiftDimension; 5397 core.String shiftDimension;
5341 5398
5342 InsertRangeRequest(); 5399 InsertRangeRequest();
5343 5400
5344 InsertRangeRequest.fromJson(core.Map _json) { 5401 InsertRangeRequest.fromJson(core.Map _json) {
5345 if (_json.containsKey("range")) { 5402 if (_json.containsKey("range")) {
5346 range = new GridRange.fromJson(_json["range"]); 5403 range = new GridRange.fromJson(_json["range"]);
5347 } 5404 }
5348 if (_json.containsKey("shiftDimension")) { 5405 if (_json.containsKey("shiftDimension")) {
5349 shiftDimension = _json["shiftDimension"]; 5406 shiftDimension = _json["shiftDimension"];
5350 } 5407 }
5351 } 5408 }
5352 5409
5353 core.Map<core.String, core.Object> toJson() { 5410 core.Map<core.String, core.Object> toJson() {
5354 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5411 final core.Map<core.String, core.Object> _json =
5412 new core.Map<core.String, core.Object>();
5355 if (range != null) { 5413 if (range != null) {
5356 _json["range"] = (range).toJson(); 5414 _json["range"] = (range).toJson();
5357 } 5415 }
5358 if (shiftDimension != null) { 5416 if (shiftDimension != null) {
5359 _json["shiftDimension"] = shiftDimension; 5417 _json["shiftDimension"] = shiftDimension;
5360 } 5418 }
5361 return _json; 5419 return _json;
5362 } 5420 }
5363 } 5421 }
5364 5422
5365 /** 5423 /// A single interpolation point on a gradient conditional format.
5366 * A single interpolation point on a gradient conditional format. 5424 /// These pin the gradient color scale according to the color,
5367 * These pin the gradient color scale according to the color, 5425 /// type and value chosen.
5368 * type and value chosen.
5369 */
5370 class InterpolationPoint { 5426 class InterpolationPoint {
5371 /** The color this interpolation point should use. */ 5427 /// The color this interpolation point should use.
5372 Color color; 5428 Color color;
5373 /** 5429
5374 * How the value should be interpreted. 5430 /// How the value should be interpreted.
5375 * Possible string values are: 5431 /// Possible string values are:
5376 * - "INTERPOLATION_POINT_TYPE_UNSPECIFIED" : The default value, do not use. 5432 /// - "INTERPOLATION_POINT_TYPE_UNSPECIFIED" : The default value, do not use.
5377 * - "MIN" : The interpolation point will use the minimum value in the 5433 /// - "MIN" : The interpolation point will use the minimum value in the
5378 * cells over the range of the conditional format. 5434 /// cells over the range of the conditional format.
5379 * - "MAX" : The interpolation point will use the maximum value in the 5435 /// - "MAX" : The interpolation point will use the maximum value in the
5380 * cells over the range of the conditional format. 5436 /// cells over the range of the conditional format.
5381 * - "NUMBER" : The interpolation point will use exactly the value in 5437 /// - "NUMBER" : The interpolation point will use exactly the value in
5382 * InterpolationPoint.value. 5438 /// InterpolationPoint.value.
5383 * - "PERCENT" : The interpolation point will be the given percentage over 5439 /// - "PERCENT" : The interpolation point will be the given percentage over
5384 * all the cells in the range of the conditional format. 5440 /// all the cells in the range of the conditional format.
5385 * This is equivalent to NUMBER if the value was: 5441 /// This is equivalent to NUMBER if the value was:
5386 * `=(MAX(FLATTEN(range)) * (value / 100)) 5442 /// `=(MAX(FLATTEN(range)) * (value / 100))
5387 * + (MIN(FLATTEN(range)) * (1 - (value / 100)))` 5443 /// + (MIN(FLATTEN(range)) * (1 - (value / 100)))`
5388 * (where errors in the range are ignored when flattening). 5444 /// (where errors in the range are ignored when flattening).
5389 * - "PERCENTILE" : The interpolation point will be the given percentile 5445 /// - "PERCENTILE" : The interpolation point will be the given percentile
5390 * over all the cells in the range of the conditional format. 5446 /// over all the cells in the range of the conditional format.
5391 * This is equivalent to NUMBER if the value was: 5447 /// This is equivalent to NUMBER if the value was:
5392 * `=PERCENTILE(FLATTEN(range), value / 100)` 5448 /// `=PERCENTILE(FLATTEN(range), value / 100)`
5393 * (where errors in the range are ignored when flattening). 5449 /// (where errors in the range are ignored when flattening).
5394 */
5395 core.String type; 5450 core.String type;
5396 /** 5451
5397 * The value this interpolation point uses. May be a formula. 5452 /// The value this interpolation point uses. May be a formula.
5398 * Unused if type is MIN or 5453 /// Unused if type is MIN or
5399 * MAX. 5454 /// MAX.
5400 */
5401 core.String value; 5455 core.String value;
5402 5456
5403 InterpolationPoint(); 5457 InterpolationPoint();
5404 5458
5405 InterpolationPoint.fromJson(core.Map _json) { 5459 InterpolationPoint.fromJson(core.Map _json) {
5406 if (_json.containsKey("color")) { 5460 if (_json.containsKey("color")) {
5407 color = new Color.fromJson(_json["color"]); 5461 color = new Color.fromJson(_json["color"]);
5408 } 5462 }
5409 if (_json.containsKey("type")) { 5463 if (_json.containsKey("type")) {
5410 type = _json["type"]; 5464 type = _json["type"];
5411 } 5465 }
5412 if (_json.containsKey("value")) { 5466 if (_json.containsKey("value")) {
5413 value = _json["value"]; 5467 value = _json["value"];
5414 } 5468 }
5415 } 5469 }
5416 5470
5417 core.Map<core.String, core.Object> toJson() { 5471 core.Map<core.String, core.Object> toJson() {
5418 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5472 final core.Map<core.String, core.Object> _json =
5473 new core.Map<core.String, core.Object>();
5419 if (color != null) { 5474 if (color != null) {
5420 _json["color"] = (color).toJson(); 5475 _json["color"] = (color).toJson();
5421 } 5476 }
5422 if (type != null) { 5477 if (type != null) {
5423 _json["type"] = type; 5478 _json["type"] = type;
5424 } 5479 }
5425 if (value != null) { 5480 if (value != null) {
5426 _json["value"] = value; 5481 _json["value"] = value;
5427 } 5482 }
5428 return _json; 5483 return _json;
5429 } 5484 }
5430 } 5485 }
5431 5486
5432 /** 5487 /// Settings to control how circular dependencies are resolved with iterative
5433 * Settings to control how circular dependencies are resolved with iterative 5488 /// calculation.
5434 * calculation.
5435 */
5436 class IterativeCalculationSettings { 5489 class IterativeCalculationSettings {
5437 /** 5490 /// When iterative calculation is enabled and successive results differ by
5438 * When iterative calculation is enabled and successive results differ by 5491 /// less than this threshold value, the calculation rounds stop.
5439 * less than this threshold value, the calculation rounds stop.
5440 */
5441 core.double convergenceThreshold; 5492 core.double convergenceThreshold;
5442 /** 5493
5443 * When iterative calculation is enabled, the maximum number of calculation 5494 /// When iterative calculation is enabled, the maximum number of calculation
5444 * rounds to perform. 5495 /// rounds to perform.
5445 */
5446 core.int maxIterations; 5496 core.int maxIterations;
5447 5497
5448 IterativeCalculationSettings(); 5498 IterativeCalculationSettings();
5449 5499
5450 IterativeCalculationSettings.fromJson(core.Map _json) { 5500 IterativeCalculationSettings.fromJson(core.Map _json) {
5451 if (_json.containsKey("convergenceThreshold")) { 5501 if (_json.containsKey("convergenceThreshold")) {
5452 convergenceThreshold = _json["convergenceThreshold"]; 5502 convergenceThreshold = _json["convergenceThreshold"];
5453 } 5503 }
5454 if (_json.containsKey("maxIterations")) { 5504 if (_json.containsKey("maxIterations")) {
5455 maxIterations = _json["maxIterations"]; 5505 maxIterations = _json["maxIterations"];
5456 } 5506 }
5457 } 5507 }
5458 5508
5459 core.Map<core.String, core.Object> toJson() { 5509 core.Map<core.String, core.Object> toJson() {
5460 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5510 final core.Map<core.String, core.Object> _json =
5511 new core.Map<core.String, core.Object>();
5461 if (convergenceThreshold != null) { 5512 if (convergenceThreshold != null) {
5462 _json["convergenceThreshold"] = convergenceThreshold; 5513 _json["convergenceThreshold"] = convergenceThreshold;
5463 } 5514 }
5464 if (maxIterations != null) { 5515 if (maxIterations != null) {
5465 _json["maxIterations"] = maxIterations; 5516 _json["maxIterations"] = maxIterations;
5466 } 5517 }
5467 return _json; 5518 return _json;
5468 } 5519 }
5469 } 5520 }
5470 5521
5471 /** Merges all cells in the range. */ 5522 /// Merges all cells in the range.
5472 class MergeCellsRequest { 5523 class MergeCellsRequest {
5473 /** 5524 /// How the cells should be merged.
5474 * How the cells should be merged. 5525 /// Possible string values are:
5475 * Possible string values are: 5526 /// - "MERGE_ALL" : Create a single merge from the range
5476 * - "MERGE_ALL" : Create a single merge from the range 5527 /// - "MERGE_COLUMNS" : Create a merge for each column in the range
5477 * - "MERGE_COLUMNS" : Create a merge for each column in the range 5528 /// - "MERGE_ROWS" : Create a merge for each row in the range
5478 * - "MERGE_ROWS" : Create a merge for each row in the range
5479 */
5480 core.String mergeType; 5529 core.String mergeType;
5481 /** The range of cells to merge. */ 5530
5531 /// The range of cells to merge.
5482 GridRange range; 5532 GridRange range;
5483 5533
5484 MergeCellsRequest(); 5534 MergeCellsRequest();
5485 5535
5486 MergeCellsRequest.fromJson(core.Map _json) { 5536 MergeCellsRequest.fromJson(core.Map _json) {
5487 if (_json.containsKey("mergeType")) { 5537 if (_json.containsKey("mergeType")) {
5488 mergeType = _json["mergeType"]; 5538 mergeType = _json["mergeType"];
5489 } 5539 }
5490 if (_json.containsKey("range")) { 5540 if (_json.containsKey("range")) {
5491 range = new GridRange.fromJson(_json["range"]); 5541 range = new GridRange.fromJson(_json["range"]);
5492 } 5542 }
5493 } 5543 }
5494 5544
5495 core.Map<core.String, core.Object> toJson() { 5545 core.Map<core.String, core.Object> toJson() {
5496 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5546 final core.Map<core.String, core.Object> _json =
5547 new core.Map<core.String, core.Object>();
5497 if (mergeType != null) { 5548 if (mergeType != null) {
5498 _json["mergeType"] = mergeType; 5549 _json["mergeType"] = mergeType;
5499 } 5550 }
5500 if (range != null) { 5551 if (range != null) {
5501 _json["range"] = (range).toJson(); 5552 _json["range"] = (range).toJson();
5502 } 5553 }
5503 return _json; 5554 return _json;
5504 } 5555 }
5505 } 5556 }
5506 5557
5507 /** Moves one or more rows or columns. */ 5558 /// Moves one or more rows or columns.
5508 class MoveDimensionRequest { 5559 class MoveDimensionRequest {
5509 /** 5560 /// The zero-based start index of where to move the source data to,
5510 * The zero-based start index of where to move the source data to, 5561 /// based on the coordinates *before* the source data is removed
5511 * based on the coordinates *before* the source data is removed 5562 /// from the grid. Existing data will be shifted down or right
5512 * from the grid. Existing data will be shifted down or right 5563 /// (depending on the dimension) to make room for the moved dimensions.
5513 * (depending on the dimension) to make room for the moved dimensions. 5564 /// The source dimensions are removed from the grid, so the
5514 * The source dimensions are removed from the grid, so the 5565 /// the data may end up in a different index than specified.
5515 * the data may end up in a different index than specified. 5566 ///
5516 * 5567 /// For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move
5517 * For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move 5568 /// `"1"` and `"2"` to between `"3"` and `"4"`, the source would be
5518 * `"1"` and `"2"` to between `"3"` and `"4"`, the source would be 5569 /// `ROWS [1..3)`,and the destination index would be `"4"`
5519 * `ROWS [1..3)`,and the destination index would be `"4"` 5570 /// (the zero-based index of row 5).
5520 * (the zero-based index of row 5). 5571 /// The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
5521 * The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
5522 */
5523 core.int destinationIndex; 5572 core.int destinationIndex;
5524 /** The source dimensions to move. */ 5573
5574 /// The source dimensions to move.
5525 DimensionRange source; 5575 DimensionRange source;
5526 5576
5527 MoveDimensionRequest(); 5577 MoveDimensionRequest();
5528 5578
5529 MoveDimensionRequest.fromJson(core.Map _json) { 5579 MoveDimensionRequest.fromJson(core.Map _json) {
5530 if (_json.containsKey("destinationIndex")) { 5580 if (_json.containsKey("destinationIndex")) {
5531 destinationIndex = _json["destinationIndex"]; 5581 destinationIndex = _json["destinationIndex"];
5532 } 5582 }
5533 if (_json.containsKey("source")) { 5583 if (_json.containsKey("source")) {
5534 source = new DimensionRange.fromJson(_json["source"]); 5584 source = new DimensionRange.fromJson(_json["source"]);
5535 } 5585 }
5536 } 5586 }
5537 5587
5538 core.Map<core.String, core.Object> toJson() { 5588 core.Map<core.String, core.Object> toJson() {
5539 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5589 final core.Map<core.String, core.Object> _json =
5590 new core.Map<core.String, core.Object>();
5540 if (destinationIndex != null) { 5591 if (destinationIndex != null) {
5541 _json["destinationIndex"] = destinationIndex; 5592 _json["destinationIndex"] = destinationIndex;
5542 } 5593 }
5543 if (source != null) { 5594 if (source != null) {
5544 _json["source"] = (source).toJson(); 5595 _json["source"] = (source).toJson();
5545 } 5596 }
5546 return _json; 5597 return _json;
5547 } 5598 }
5548 } 5599 }
5549 5600
5550 /** A named range. */ 5601 /// A named range.
5551 class NamedRange { 5602 class NamedRange {
5552 /** The name of the named range. */ 5603 /// The name of the named range.
5553 core.String name; 5604 core.String name;
5554 /** The ID of the named range. */ 5605
5606 /// The ID of the named range.
5555 core.String namedRangeId; 5607 core.String namedRangeId;
5556 /** The range this represents. */ 5608
5609 /// The range this represents.
5557 GridRange range; 5610 GridRange range;
5558 5611
5559 NamedRange(); 5612 NamedRange();
5560 5613
5561 NamedRange.fromJson(core.Map _json) { 5614 NamedRange.fromJson(core.Map _json) {
5562 if (_json.containsKey("name")) { 5615 if (_json.containsKey("name")) {
5563 name = _json["name"]; 5616 name = _json["name"];
5564 } 5617 }
5565 if (_json.containsKey("namedRangeId")) { 5618 if (_json.containsKey("namedRangeId")) {
5566 namedRangeId = _json["namedRangeId"]; 5619 namedRangeId = _json["namedRangeId"];
5567 } 5620 }
5568 if (_json.containsKey("range")) { 5621 if (_json.containsKey("range")) {
5569 range = new GridRange.fromJson(_json["range"]); 5622 range = new GridRange.fromJson(_json["range"]);
5570 } 5623 }
5571 } 5624 }
5572 5625
5573 core.Map<core.String, core.Object> toJson() { 5626 core.Map<core.String, core.Object> toJson() {
5574 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5627 final core.Map<core.String, core.Object> _json =
5628 new core.Map<core.String, core.Object>();
5575 if (name != null) { 5629 if (name != null) {
5576 _json["name"] = name; 5630 _json["name"] = name;
5577 } 5631 }
5578 if (namedRangeId != null) { 5632 if (namedRangeId != null) {
5579 _json["namedRangeId"] = namedRangeId; 5633 _json["namedRangeId"] = namedRangeId;
5580 } 5634 }
5581 if (range != null) { 5635 if (range != null) {
5582 _json["range"] = (range).toJson(); 5636 _json["range"] = (range).toJson();
5583 } 5637 }
5584 return _json; 5638 return _json;
5585 } 5639 }
5586 } 5640 }
5587 5641
5588 /** The number format of a cell. */ 5642 /// The number format of a cell.
5589 class NumberFormat { 5643 class NumberFormat {
5590 /** 5644 /// Pattern string used for formatting. If not set, a default pattern based
5591 * Pattern string used for formatting. If not set, a default pattern based on 5645 /// on
5592 * the user's locale will be used if necessary for the given type. 5646 /// the user's locale will be used if necessary for the given type.
5593 * See the [Date and Number Formats guide](/sheets/api/guides/formats) for 5647 /// See the [Date and Number Formats guide](/sheets/api/guides/formats) for
5594 * more 5648 /// more
5595 * information about the supported patterns. 5649 /// information about the supported patterns.
5596 */
5597 core.String pattern; 5650 core.String pattern;
5598 /** 5651
5599 * The type of the number format. 5652 /// The type of the number format.
5600 * When writing, this field must be set. 5653 /// When writing, this field must be set.
5601 * Possible string values are: 5654 /// Possible string values are:
5602 * - "NUMBER_FORMAT_TYPE_UNSPECIFIED" : The number format is not specified 5655 /// - "NUMBER_FORMAT_TYPE_UNSPECIFIED" : The number format is not specified
5603 * and is based on the contents of the cell. 5656 /// and is based on the contents of the cell.
5604 * Do not explicitly use this. 5657 /// Do not explicitly use this.
5605 * - "TEXT" : Text formatting, e.g `1000.12` 5658 /// - "TEXT" : Text formatting, e.g `1000.12`
5606 * - "NUMBER" : Number formatting, e.g, `1,000.12` 5659 /// - "NUMBER" : Number formatting, e.g, `1,000.12`
5607 * - "PERCENT" : Percent formatting, e.g `10.12%` 5660 /// - "PERCENT" : Percent formatting, e.g `10.12%`
5608 * - "CURRENCY" : Currency formatting, e.g `$1,000.12` 5661 /// - "CURRENCY" : Currency formatting, e.g `$1,000.12`
5609 * - "DATE" : Date formatting, e.g `9/26/2008` 5662 /// - "DATE" : Date formatting, e.g `9/26/2008`
5610 * - "TIME" : Time formatting, e.g `3:59:00 PM` 5663 /// - "TIME" : Time formatting, e.g `3:59:00 PM`
5611 * - "DATE_TIME" : Date+Time formatting, e.g `9/26/08 15:59:00` 5664 /// - "DATE_TIME" : Date+Time formatting, e.g `9/26/08 15:59:00`
5612 * - "SCIENTIFIC" : Scientific number formatting, e.g `1.01E+03` 5665 /// - "SCIENTIFIC" : Scientific number formatting, e.g `1.01E+03`
5613 */
5614 core.String type; 5666 core.String type;
5615 5667
5616 NumberFormat(); 5668 NumberFormat();
5617 5669
5618 NumberFormat.fromJson(core.Map _json) { 5670 NumberFormat.fromJson(core.Map _json) {
5619 if (_json.containsKey("pattern")) { 5671 if (_json.containsKey("pattern")) {
5620 pattern = _json["pattern"]; 5672 pattern = _json["pattern"];
5621 } 5673 }
5622 if (_json.containsKey("type")) { 5674 if (_json.containsKey("type")) {
5623 type = _json["type"]; 5675 type = _json["type"];
5624 } 5676 }
5625 } 5677 }
5626 5678
5627 core.Map<core.String, core.Object> toJson() { 5679 core.Map<core.String, core.Object> toJson() {
5628 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5680 final core.Map<core.String, core.Object> _json =
5681 new core.Map<core.String, core.Object>();
5629 if (pattern != null) { 5682 if (pattern != null) {
5630 _json["pattern"] = pattern; 5683 _json["pattern"] = pattern;
5631 } 5684 }
5632 if (type != null) { 5685 if (type != null) {
5633 _json["type"] = type; 5686 _json["type"] = type;
5634 } 5687 }
5635 return _json; 5688 return _json;
5636 } 5689 }
5637 } 5690 }
5638 5691
5639 /** 5692 /// An <a href="/chart/interactive/docs/gallery/orgchart">org chart</a>.
5640 * An <a href="/chart/interactive/docs/gallery/orgchart">org chart</a>. 5693 /// Org charts require a unique set of labels in labels and may
5641 * Org charts require a unique set of labels in labels and may 5694 /// optionally include parent_labels and tooltips.
5642 * optionally include parent_labels and tooltips. 5695 /// parent_labels contain, for each node, the label identifying the parent
5643 * parent_labels contain, for each node, the label identifying the parent 5696 /// node. tooltips contain, for each node, an optional tooltip.
5644 * node. tooltips contain, for each node, an optional tooltip. 5697 ///
5645 * 5698 /// For example, to describe an OrgChart with Alice as the CEO, Bob as the
5646 * For example, to describe an OrgChart with Alice as the CEO, Bob as the 5699 /// President (reporting to Alice) and Cathy as VP of Sales (also reporting to
5647 * President (reporting to Alice) and Cathy as VP of Sales (also reporting to 5700 /// Alice), have labels contain "Alice", "Bob", "Cathy",
5648 * Alice), have labels contain "Alice", "Bob", "Cathy", 5701 /// parent_labels contain "", "Alice", "Alice" and tooltips contain
5649 * parent_labels contain "", "Alice", "Alice" and tooltips contain 5702 /// "CEO", "President", "VP Sales".
5650 * "CEO", "President", "VP Sales".
5651 */
5652 class OrgChartSpec { 5703 class OrgChartSpec {
5653 /** 5704 /// The data containing the labels for all the nodes in the chart. Labels
5654 * The data containing the labels for all the nodes in the chart. Labels 5705 /// must be unique.
5655 * must be unique.
5656 */
5657 ChartData labels; 5706 ChartData labels;
5658 /** The color of the org chart nodes. */ 5707
5708 /// The color of the org chart nodes.
5659 Color nodeColor; 5709 Color nodeColor;
5660 /** 5710
5661 * The size of the org chart nodes. 5711 /// The size of the org chart nodes.
5662 * Possible string values are: 5712 /// Possible string values are:
5663 * - "ORG_CHART_LABEL_SIZE_UNSPECIFIED" : Default value, do not use. 5713 /// - "ORG_CHART_LABEL_SIZE_UNSPECIFIED" : Default value, do not use.
5664 * - "SMALL" : The small org chart node size. 5714 /// - "SMALL" : The small org chart node size.
5665 * - "MEDIUM" : The medium org chart node size. 5715 /// - "MEDIUM" : The medium org chart node size.
5666 * - "LARGE" : The large org chart node size. 5716 /// - "LARGE" : The large org chart node size.
5667 */
5668 core.String nodeSize; 5717 core.String nodeSize;
5669 /** 5718
5670 * The data containing the label of the parent for the corresponding node. 5719 /// The data containing the label of the parent for the corresponding node.
5671 * A blank value indicates that the node has no parent and is a top-level 5720 /// A blank value indicates that the node has no parent and is a top-level
5672 * node. 5721 /// node.
5673 * This field is optional. 5722 /// This field is optional.
5674 */
5675 ChartData parentLabels; 5723 ChartData parentLabels;
5676 /** The color of the selected org chart nodes. */ 5724
5725 /// The color of the selected org chart nodes.
5677 Color selectedNodeColor; 5726 Color selectedNodeColor;
5678 /** 5727
5679 * The data containing the tooltip for the corresponding node. A blank value 5728 /// The data containing the tooltip for the corresponding node. A blank
5680 * results in no tooltip being displayed for the node. 5729 /// value
5681 * This field is optional. 5730 /// results in no tooltip being displayed for the node.
5682 */ 5731 /// This field is optional.
5683 ChartData tooltips; 5732 ChartData tooltips;
5684 5733
5685 OrgChartSpec(); 5734 OrgChartSpec();
5686 5735
5687 OrgChartSpec.fromJson(core.Map _json) { 5736 OrgChartSpec.fromJson(core.Map _json) {
5688 if (_json.containsKey("labels")) { 5737 if (_json.containsKey("labels")) {
5689 labels = new ChartData.fromJson(_json["labels"]); 5738 labels = new ChartData.fromJson(_json["labels"]);
5690 } 5739 }
5691 if (_json.containsKey("nodeColor")) { 5740 if (_json.containsKey("nodeColor")) {
5692 nodeColor = new Color.fromJson(_json["nodeColor"]); 5741 nodeColor = new Color.fromJson(_json["nodeColor"]);
5693 } 5742 }
5694 if (_json.containsKey("nodeSize")) { 5743 if (_json.containsKey("nodeSize")) {
5695 nodeSize = _json["nodeSize"]; 5744 nodeSize = _json["nodeSize"];
5696 } 5745 }
5697 if (_json.containsKey("parentLabels")) { 5746 if (_json.containsKey("parentLabels")) {
5698 parentLabels = new ChartData.fromJson(_json["parentLabels"]); 5747 parentLabels = new ChartData.fromJson(_json["parentLabels"]);
5699 } 5748 }
5700 if (_json.containsKey("selectedNodeColor")) { 5749 if (_json.containsKey("selectedNodeColor")) {
5701 selectedNodeColor = new Color.fromJson(_json["selectedNodeColor"]); 5750 selectedNodeColor = new Color.fromJson(_json["selectedNodeColor"]);
5702 } 5751 }
5703 if (_json.containsKey("tooltips")) { 5752 if (_json.containsKey("tooltips")) {
5704 tooltips = new ChartData.fromJson(_json["tooltips"]); 5753 tooltips = new ChartData.fromJson(_json["tooltips"]);
5705 } 5754 }
5706 } 5755 }
5707 5756
5708 core.Map<core.String, core.Object> toJson() { 5757 core.Map<core.String, core.Object> toJson() {
5709 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5758 final core.Map<core.String, core.Object> _json =
5759 new core.Map<core.String, core.Object>();
5710 if (labels != null) { 5760 if (labels != null) {
5711 _json["labels"] = (labels).toJson(); 5761 _json["labels"] = (labels).toJson();
5712 } 5762 }
5713 if (nodeColor != null) { 5763 if (nodeColor != null) {
5714 _json["nodeColor"] = (nodeColor).toJson(); 5764 _json["nodeColor"] = (nodeColor).toJson();
5715 } 5765 }
5716 if (nodeSize != null) { 5766 if (nodeSize != null) {
5717 _json["nodeSize"] = nodeSize; 5767 _json["nodeSize"] = nodeSize;
5718 } 5768 }
5719 if (parentLabels != null) { 5769 if (parentLabels != null) {
5720 _json["parentLabels"] = (parentLabels).toJson(); 5770 _json["parentLabels"] = (parentLabels).toJson();
5721 } 5771 }
5722 if (selectedNodeColor != null) { 5772 if (selectedNodeColor != null) {
5723 _json["selectedNodeColor"] = (selectedNodeColor).toJson(); 5773 _json["selectedNodeColor"] = (selectedNodeColor).toJson();
5724 } 5774 }
5725 if (tooltips != null) { 5775 if (tooltips != null) {
5726 _json["tooltips"] = (tooltips).toJson(); 5776 _json["tooltips"] = (tooltips).toJson();
5727 } 5777 }
5728 return _json; 5778 return _json;
5729 } 5779 }
5730 } 5780 }
5731 5781
5732 /** The location an object is overlaid on top of a grid. */ 5782 /// The location an object is overlaid on top of a grid.
5733 class OverlayPosition { 5783 class OverlayPosition {
5734 /** The cell the object is anchored to. */ 5784 /// The cell the object is anchored to.
5735 GridCoordinate anchorCell; 5785 GridCoordinate anchorCell;
5736 /** The height of the object, in pixels. Defaults to 371. */ 5786
5787 /// The height of the object, in pixels. Defaults to 371.
5737 core.int heightPixels; 5788 core.int heightPixels;
5738 /** 5789
5739 * The horizontal offset, in pixels, that the object is offset 5790 /// The horizontal offset, in pixels, that the object is offset
5740 * from the anchor cell. 5791 /// from the anchor cell.
5741 */
5742 core.int offsetXPixels; 5792 core.int offsetXPixels;
5743 /** 5793
5744 * The vertical offset, in pixels, that the object is offset 5794 /// The vertical offset, in pixels, that the object is offset
5745 * from the anchor cell. 5795 /// from the anchor cell.
5746 */
5747 core.int offsetYPixels; 5796 core.int offsetYPixels;
5748 /** The width of the object, in pixels. Defaults to 600. */ 5797
5798 /// The width of the object, in pixels. Defaults to 600.
5749 core.int widthPixels; 5799 core.int widthPixels;
5750 5800
5751 OverlayPosition(); 5801 OverlayPosition();
5752 5802
5753 OverlayPosition.fromJson(core.Map _json) { 5803 OverlayPosition.fromJson(core.Map _json) {
5754 if (_json.containsKey("anchorCell")) { 5804 if (_json.containsKey("anchorCell")) {
5755 anchorCell = new GridCoordinate.fromJson(_json["anchorCell"]); 5805 anchorCell = new GridCoordinate.fromJson(_json["anchorCell"]);
5756 } 5806 }
5757 if (_json.containsKey("heightPixels")) { 5807 if (_json.containsKey("heightPixels")) {
5758 heightPixels = _json["heightPixels"]; 5808 heightPixels = _json["heightPixels"];
5759 } 5809 }
5760 if (_json.containsKey("offsetXPixels")) { 5810 if (_json.containsKey("offsetXPixels")) {
5761 offsetXPixels = _json["offsetXPixels"]; 5811 offsetXPixels = _json["offsetXPixels"];
5762 } 5812 }
5763 if (_json.containsKey("offsetYPixels")) { 5813 if (_json.containsKey("offsetYPixels")) {
5764 offsetYPixels = _json["offsetYPixels"]; 5814 offsetYPixels = _json["offsetYPixels"];
5765 } 5815 }
5766 if (_json.containsKey("widthPixels")) { 5816 if (_json.containsKey("widthPixels")) {
5767 widthPixels = _json["widthPixels"]; 5817 widthPixels = _json["widthPixels"];
5768 } 5818 }
5769 } 5819 }
5770 5820
5771 core.Map<core.String, core.Object> toJson() { 5821 core.Map<core.String, core.Object> toJson() {
5772 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5822 final core.Map<core.String, core.Object> _json =
5823 new core.Map<core.String, core.Object>();
5773 if (anchorCell != null) { 5824 if (anchorCell != null) {
5774 _json["anchorCell"] = (anchorCell).toJson(); 5825 _json["anchorCell"] = (anchorCell).toJson();
5775 } 5826 }
5776 if (heightPixels != null) { 5827 if (heightPixels != null) {
5777 _json["heightPixels"] = heightPixels; 5828 _json["heightPixels"] = heightPixels;
5778 } 5829 }
5779 if (offsetXPixels != null) { 5830 if (offsetXPixels != null) {
5780 _json["offsetXPixels"] = offsetXPixels; 5831 _json["offsetXPixels"] = offsetXPixels;
5781 } 5832 }
5782 if (offsetYPixels != null) { 5833 if (offsetYPixels != null) {
5783 _json["offsetYPixels"] = offsetYPixels; 5834 _json["offsetYPixels"] = offsetYPixels;
5784 } 5835 }
5785 if (widthPixels != null) { 5836 if (widthPixels != null) {
5786 _json["widthPixels"] = widthPixels; 5837 _json["widthPixels"] = widthPixels;
5787 } 5838 }
5788 return _json; 5839 return _json;
5789 } 5840 }
5790 } 5841 }
5791 5842
5792 /** 5843 /// The amount of padding around the cell, in pixels.
5793 * The amount of padding around the cell, in pixels. 5844 /// When updating padding, every field must be specified.
5794 * When updating padding, every field must be specified.
5795 */
5796 class Padding { 5845 class Padding {
5797 /** The bottom padding of the cell. */ 5846 /// The bottom padding of the cell.
5798 core.int bottom; 5847 core.int bottom;
5799 /** The left padding of the cell. */ 5848
5849 /// The left padding of the cell.
5800 core.int left; 5850 core.int left;
5801 /** The right padding of the cell. */ 5851
5852 /// The right padding of the cell.
5802 core.int right; 5853 core.int right;
5803 /** The top padding of the cell. */ 5854
5855 /// The top padding of the cell.
5804 core.int top; 5856 core.int top;
5805 5857
5806 Padding(); 5858 Padding();
5807 5859
5808 Padding.fromJson(core.Map _json) { 5860 Padding.fromJson(core.Map _json) {
5809 if (_json.containsKey("bottom")) { 5861 if (_json.containsKey("bottom")) {
5810 bottom = _json["bottom"]; 5862 bottom = _json["bottom"];
5811 } 5863 }
5812 if (_json.containsKey("left")) { 5864 if (_json.containsKey("left")) {
5813 left = _json["left"]; 5865 left = _json["left"];
5814 } 5866 }
5815 if (_json.containsKey("right")) { 5867 if (_json.containsKey("right")) {
5816 right = _json["right"]; 5868 right = _json["right"];
5817 } 5869 }
5818 if (_json.containsKey("top")) { 5870 if (_json.containsKey("top")) {
5819 top = _json["top"]; 5871 top = _json["top"];
5820 } 5872 }
5821 } 5873 }
5822 5874
5823 core.Map<core.String, core.Object> toJson() { 5875 core.Map<core.String, core.Object> toJson() {
5824 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5876 final core.Map<core.String, core.Object> _json =
5877 new core.Map<core.String, core.Object>();
5825 if (bottom != null) { 5878 if (bottom != null) {
5826 _json["bottom"] = bottom; 5879 _json["bottom"] = bottom;
5827 } 5880 }
5828 if (left != null) { 5881 if (left != null) {
5829 _json["left"] = left; 5882 _json["left"] = left;
5830 } 5883 }
5831 if (right != null) { 5884 if (right != null) {
5832 _json["right"] = right; 5885 _json["right"] = right;
5833 } 5886 }
5834 if (top != null) { 5887 if (top != null) {
5835 _json["top"] = top; 5888 _json["top"] = top;
5836 } 5889 }
5837 return _json; 5890 return _json;
5838 } 5891 }
5839 } 5892 }
5840 5893
5841 /** Inserts data into the spreadsheet starting at the specified coordinate. */ 5894 /// Inserts data into the spreadsheet starting at the specified coordinate.
5842 class PasteDataRequest { 5895 class PasteDataRequest {
5843 /** The coordinate at which the data should start being inserted. */ 5896 /// The coordinate at which the data should start being inserted.
5844 GridCoordinate coordinate; 5897 GridCoordinate coordinate;
5845 /** The data to insert. */ 5898
5899 /// The data to insert.
5846 core.String data; 5900 core.String data;
5847 /** The delimiter in the data. */ 5901
5902 /// The delimiter in the data.
5848 core.String delimiter; 5903 core.String delimiter;
5849 /** True if the data is HTML. */ 5904
5905 /// True if the data is HTML.
5850 core.bool html; 5906 core.bool html;
5851 /** 5907
5852 * How the data should be pasted. 5908 /// How the data should be pasted.
5853 * Possible string values are: 5909 /// Possible string values are:
5854 * - "PASTE_NORMAL" : Paste values, formulas, formats, and merges. 5910 /// - "PASTE_NORMAL" : Paste values, formulas, formats, and merges.
5855 * - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or 5911 /// - "PASTE_VALUES" : Paste the values ONLY without formats, formulas, or
5856 * merges. 5912 /// merges.
5857 * - "PASTE_FORMAT" : Paste the format and data validation only. 5913 /// - "PASTE_FORMAT" : Paste the format and data validation only.
5858 * - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders. 5914 /// - "PASTE_NO_BORDERS" : Like PASTE_NORMAL but without borders.
5859 * - "PASTE_FORMULA" : Paste the formulas only. 5915 /// - "PASTE_FORMULA" : Paste the formulas only.
5860 * - "PASTE_DATA_VALIDATION" : Paste the data validation only. 5916 /// - "PASTE_DATA_VALIDATION" : Paste the data validation only.
5861 * - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules 5917 /// - "PASTE_CONDITIONAL_FORMATTING" : Paste the conditional formatting rules
5862 * only. 5918 /// only.
5863 */
5864 core.String type; 5919 core.String type;
5865 5920
5866 PasteDataRequest(); 5921 PasteDataRequest();
5867 5922
5868 PasteDataRequest.fromJson(core.Map _json) { 5923 PasteDataRequest.fromJson(core.Map _json) {
5869 if (_json.containsKey("coordinate")) { 5924 if (_json.containsKey("coordinate")) {
5870 coordinate = new GridCoordinate.fromJson(_json["coordinate"]); 5925 coordinate = new GridCoordinate.fromJson(_json["coordinate"]);
5871 } 5926 }
5872 if (_json.containsKey("data")) { 5927 if (_json.containsKey("data")) {
5873 data = _json["data"]; 5928 data = _json["data"];
5874 } 5929 }
5875 if (_json.containsKey("delimiter")) { 5930 if (_json.containsKey("delimiter")) {
5876 delimiter = _json["delimiter"]; 5931 delimiter = _json["delimiter"];
5877 } 5932 }
5878 if (_json.containsKey("html")) { 5933 if (_json.containsKey("html")) {
5879 html = _json["html"]; 5934 html = _json["html"];
5880 } 5935 }
5881 if (_json.containsKey("type")) { 5936 if (_json.containsKey("type")) {
5882 type = _json["type"]; 5937 type = _json["type"];
5883 } 5938 }
5884 } 5939 }
5885 5940
5886 core.Map<core.String, core.Object> toJson() { 5941 core.Map<core.String, core.Object> toJson() {
5887 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5942 final core.Map<core.String, core.Object> _json =
5943 new core.Map<core.String, core.Object>();
5888 if (coordinate != null) { 5944 if (coordinate != null) {
5889 _json["coordinate"] = (coordinate).toJson(); 5945 _json["coordinate"] = (coordinate).toJson();
5890 } 5946 }
5891 if (data != null) { 5947 if (data != null) {
5892 _json["data"] = data; 5948 _json["data"] = data;
5893 } 5949 }
5894 if (delimiter != null) { 5950 if (delimiter != null) {
5895 _json["delimiter"] = delimiter; 5951 _json["delimiter"] = delimiter;
5896 } 5952 }
5897 if (html != null) { 5953 if (html != null) {
5898 _json["html"] = html; 5954 _json["html"] = html;
5899 } 5955 }
5900 if (type != null) { 5956 if (type != null) {
5901 _json["type"] = type; 5957 _json["type"] = type;
5902 } 5958 }
5903 return _json; 5959 return _json;
5904 } 5960 }
5905 } 5961 }
5906 5962
5907 /** A <a href="/chart/interactive/docs/gallery/piechart">pie chart</a>. */ 5963 /// A <a href="/chart/interactive/docs/gallery/piechart">pie chart</a>.
5908 class PieChartSpec { 5964 class PieChartSpec {
5909 /** The data that covers the domain of the pie chart. */ 5965 /// The data that covers the domain of the pie chart.
5910 ChartData domain; 5966 ChartData domain;
5911 /** 5967
5912 * Where the legend of the pie chart should be drawn. 5968 /// Where the legend of the pie chart should be drawn.
5913 * Possible string values are: 5969 /// Possible string values are:
5914 * - "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use. 5970 /// - "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" : Default value, do not use.
5915 * - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart. 5971 /// - "BOTTOM_LEGEND" : The legend is rendered on the bottom of the chart.
5916 * - "LEFT_LEGEND" : The legend is rendered on the left of the chart. 5972 /// - "LEFT_LEGEND" : The legend is rendered on the left of the chart.
5917 * - "RIGHT_LEGEND" : The legend is rendered on the right of the chart. 5973 /// - "RIGHT_LEGEND" : The legend is rendered on the right of the chart.
5918 * - "TOP_LEGEND" : The legend is rendered on the top of the chart. 5974 /// - "TOP_LEGEND" : The legend is rendered on the top of the chart.
5919 * - "NO_LEGEND" : No legend is rendered. 5975 /// - "NO_LEGEND" : No legend is rendered.
5920 * - "LABELED_LEGEND" : Each pie slice has a label attached to it. 5976 /// - "LABELED_LEGEND" : Each pie slice has a label attached to it.
5921 */
5922 core.String legendPosition; 5977 core.String legendPosition;
5923 /** The size of the hole in the pie chart. */ 5978
5979 /// The size of the hole in the pie chart.
5924 core.double pieHole; 5980 core.double pieHole;
5925 /** The data that covers the one and only series of the pie chart. */ 5981
5982 /// The data that covers the one and only series of the pie chart.
5926 ChartData series; 5983 ChartData series;
5927 /** True if the pie is three dimensional. */ 5984
5985 /// True if the pie is three dimensional.
5928 core.bool threeDimensional; 5986 core.bool threeDimensional;
5929 5987
5930 PieChartSpec(); 5988 PieChartSpec();
5931 5989
5932 PieChartSpec.fromJson(core.Map _json) { 5990 PieChartSpec.fromJson(core.Map _json) {
5933 if (_json.containsKey("domain")) { 5991 if (_json.containsKey("domain")) {
5934 domain = new ChartData.fromJson(_json["domain"]); 5992 domain = new ChartData.fromJson(_json["domain"]);
5935 } 5993 }
5936 if (_json.containsKey("legendPosition")) { 5994 if (_json.containsKey("legendPosition")) {
5937 legendPosition = _json["legendPosition"]; 5995 legendPosition = _json["legendPosition"];
5938 } 5996 }
5939 if (_json.containsKey("pieHole")) { 5997 if (_json.containsKey("pieHole")) {
5940 pieHole = _json["pieHole"]; 5998 pieHole = _json["pieHole"];
5941 } 5999 }
5942 if (_json.containsKey("series")) { 6000 if (_json.containsKey("series")) {
5943 series = new ChartData.fromJson(_json["series"]); 6001 series = new ChartData.fromJson(_json["series"]);
5944 } 6002 }
5945 if (_json.containsKey("threeDimensional")) { 6003 if (_json.containsKey("threeDimensional")) {
5946 threeDimensional = _json["threeDimensional"]; 6004 threeDimensional = _json["threeDimensional"];
5947 } 6005 }
5948 } 6006 }
5949 6007
5950 core.Map<core.String, core.Object> toJson() { 6008 core.Map<core.String, core.Object> toJson() {
5951 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6009 final core.Map<core.String, core.Object> _json =
6010 new core.Map<core.String, core.Object>();
5952 if (domain != null) { 6011 if (domain != null) {
5953 _json["domain"] = (domain).toJson(); 6012 _json["domain"] = (domain).toJson();
5954 } 6013 }
5955 if (legendPosition != null) { 6014 if (legendPosition != null) {
5956 _json["legendPosition"] = legendPosition; 6015 _json["legendPosition"] = legendPosition;
5957 } 6016 }
5958 if (pieHole != null) { 6017 if (pieHole != null) {
5959 _json["pieHole"] = pieHole; 6018 _json["pieHole"] = pieHole;
5960 } 6019 }
5961 if (series != null) { 6020 if (series != null) {
5962 _json["series"] = (series).toJson(); 6021 _json["series"] = (series).toJson();
5963 } 6022 }
5964 if (threeDimensional != null) { 6023 if (threeDimensional != null) {
5965 _json["threeDimensional"] = threeDimensional; 6024 _json["threeDimensional"] = threeDimensional;
5966 } 6025 }
5967 return _json; 6026 return _json;
5968 } 6027 }
5969 } 6028 }
5970 6029
5971 /** Criteria for showing/hiding rows in a pivot table. */ 6030 /// Criteria for showing/hiding rows in a pivot table.
5972 class PivotFilterCriteria { 6031 class PivotFilterCriteria {
5973 /** Values that should be included. Values not listed here are excluded. */ 6032 /// Values that should be included. Values not listed here are excluded.
5974 core.List<core.String> visibleValues; 6033 core.List<core.String> visibleValues;
5975 6034
5976 PivotFilterCriteria(); 6035 PivotFilterCriteria();
5977 6036
5978 PivotFilterCriteria.fromJson(core.Map _json) { 6037 PivotFilterCriteria.fromJson(core.Map _json) {
5979 if (_json.containsKey("visibleValues")) { 6038 if (_json.containsKey("visibleValues")) {
5980 visibleValues = _json["visibleValues"]; 6039 visibleValues = _json["visibleValues"];
5981 } 6040 }
5982 } 6041 }
5983 6042
5984 core.Map<core.String, core.Object> toJson() { 6043 core.Map<core.String, core.Object> toJson() {
5985 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6044 final core.Map<core.String, core.Object> _json =
6045 new core.Map<core.String, core.Object>();
5986 if (visibleValues != null) { 6046 if (visibleValues != null) {
5987 _json["visibleValues"] = visibleValues; 6047 _json["visibleValues"] = visibleValues;
5988 } 6048 }
5989 return _json; 6049 return _json;
5990 } 6050 }
5991 } 6051 }
5992 6052
5993 /** A single grouping (either row or column) in a pivot table. */ 6053 /// A single grouping (either row or column) in a pivot table.
5994 class PivotGroup { 6054 class PivotGroup {
5995 /** True if the pivot table should include the totals for this grouping. */ 6055 /// True if the pivot table should include the totals for this grouping.
5996 core.bool showTotals; 6056 core.bool showTotals;
5997 /** 6057
5998 * The order the values in this group should be sorted. 6058 /// The order the values in this group should be sorted.
5999 * Possible string values are: 6059 /// Possible string values are:
6000 * - "SORT_ORDER_UNSPECIFIED" : Default value, do not use this. 6060 /// - "SORT_ORDER_UNSPECIFIED" : Default value, do not use this.
6001 * - "ASCENDING" : Sort ascending. 6061 /// - "ASCENDING" : Sort ascending.
6002 * - "DESCENDING" : Sort descending. 6062 /// - "DESCENDING" : Sort descending.
6003 */
6004 core.String sortOrder; 6063 core.String sortOrder;
6005 /** 6064
6006 * The column offset of the source range that this grouping is based on. 6065 /// The column offset of the source range that this grouping is based on.
6007 * 6066 ///
6008 * For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` 6067 /// For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
6009 * means this group refers to column `C`, whereas the offset `1` would refer 6068 /// means this group refers to column `C`, whereas the offset `1` would refer
6010 * to column `D`. 6069 /// to column `D`.
6011 */
6012 core.int sourceColumnOffset; 6070 core.int sourceColumnOffset;
6013 /** 6071
6014 * The bucket of the opposite pivot group to sort by. 6072 /// The bucket of the opposite pivot group to sort by.
6015 * If not specified, sorting is alphabetical by this group's values. 6073 /// If not specified, sorting is alphabetical by this group's values.
6016 */
6017 PivotGroupSortValueBucket valueBucket; 6074 PivotGroupSortValueBucket valueBucket;
6018 /** Metadata about values in the grouping. */ 6075
6076 /// Metadata about values in the grouping.
6019 core.List<PivotGroupValueMetadata> valueMetadata; 6077 core.List<PivotGroupValueMetadata> valueMetadata;
6020 6078
6021 PivotGroup(); 6079 PivotGroup();
6022 6080
6023 PivotGroup.fromJson(core.Map _json) { 6081 PivotGroup.fromJson(core.Map _json) {
6024 if (_json.containsKey("showTotals")) { 6082 if (_json.containsKey("showTotals")) {
6025 showTotals = _json["showTotals"]; 6083 showTotals = _json["showTotals"];
6026 } 6084 }
6027 if (_json.containsKey("sortOrder")) { 6085 if (_json.containsKey("sortOrder")) {
6028 sortOrder = _json["sortOrder"]; 6086 sortOrder = _json["sortOrder"];
6029 } 6087 }
6030 if (_json.containsKey("sourceColumnOffset")) { 6088 if (_json.containsKey("sourceColumnOffset")) {
6031 sourceColumnOffset = _json["sourceColumnOffset"]; 6089 sourceColumnOffset = _json["sourceColumnOffset"];
6032 } 6090 }
6033 if (_json.containsKey("valueBucket")) { 6091 if (_json.containsKey("valueBucket")) {
6034 valueBucket = new PivotGroupSortValueBucket.fromJson(_json["valueBucket"]) ; 6092 valueBucket =
6093 new PivotGroupSortValueBucket.fromJson(_json["valueBucket"]);
6035 } 6094 }
6036 if (_json.containsKey("valueMetadata")) { 6095 if (_json.containsKey("valueMetadata")) {
6037 valueMetadata = _json["valueMetadata"].map((value) => new PivotGroupValueM etadata.fromJson(value)).toList(); 6096 valueMetadata = _json["valueMetadata"]
6097 .map((value) => new PivotGroupValueMetadata.fromJson(value))
6098 .toList();
6038 } 6099 }
6039 } 6100 }
6040 6101
6041 core.Map<core.String, core.Object> toJson() { 6102 core.Map<core.String, core.Object> toJson() {
6042 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6103 final core.Map<core.String, core.Object> _json =
6104 new core.Map<core.String, core.Object>();
6043 if (showTotals != null) { 6105 if (showTotals != null) {
6044 _json["showTotals"] = showTotals; 6106 _json["showTotals"] = showTotals;
6045 } 6107 }
6046 if (sortOrder != null) { 6108 if (sortOrder != null) {
6047 _json["sortOrder"] = sortOrder; 6109 _json["sortOrder"] = sortOrder;
6048 } 6110 }
6049 if (sourceColumnOffset != null) { 6111 if (sourceColumnOffset != null) {
6050 _json["sourceColumnOffset"] = sourceColumnOffset; 6112 _json["sourceColumnOffset"] = sourceColumnOffset;
6051 } 6113 }
6052 if (valueBucket != null) { 6114 if (valueBucket != null) {
6053 _json["valueBucket"] = (valueBucket).toJson(); 6115 _json["valueBucket"] = (valueBucket).toJson();
6054 } 6116 }
6055 if (valueMetadata != null) { 6117 if (valueMetadata != null) {
6056 _json["valueMetadata"] = valueMetadata.map((value) => (value).toJson()).to List(); 6118 _json["valueMetadata"] =
6119 valueMetadata.map((value) => (value).toJson()).toList();
6057 } 6120 }
6058 return _json; 6121 return _json;
6059 } 6122 }
6060 } 6123 }
6061 6124
6062 /** 6125 /// Information about which values in a pivot group should be used for sorting.
6063 * Information about which values in a pivot group should be used for sorting.
6064 */
6065 class PivotGroupSortValueBucket { 6126 class PivotGroupSortValueBucket {
6066 /** 6127 /// Determines the bucket from which values are chosen to sort.
6067 * Determines the bucket from which values are chosen to sort. 6128 ///
6068 * 6129 /// For example, in a pivot table with one row group & two column groups,
6069 * For example, in a pivot table with one row group & two column groups, 6130 /// the row group can list up to two values. The first value corresponds
6070 * the row group can list up to two values. The first value corresponds 6131 /// to a value within the first column group, and the second value
6071 * to a value within the first column group, and the second value 6132 /// corresponds to a value in the second column group. If no values
6072 * corresponds to a value in the second column group. If no values 6133 /// are listed, this would indicate that the row should be sorted according
6073 * are listed, this would indicate that the row should be sorted according 6134 /// to the "Grand Total" over the column groups. If a single value is listed,
6074 * to the "Grand Total" over the column groups. If a single value is listed, 6135 /// this would correspond to using the "Total" of that bucket.
6075 * this would correspond to using the "Total" of that bucket.
6076 */
6077 core.List<ExtendedValue> buckets; 6136 core.List<ExtendedValue> buckets;
6078 /** 6137
6079 * The offset in the PivotTable.values list which the values in this 6138 /// The offset in the PivotTable.values list which the values in this
6080 * grouping should be sorted by. 6139 /// grouping should be sorted by.
6081 */
6082 core.int valuesIndex; 6140 core.int valuesIndex;
6083 6141
6084 PivotGroupSortValueBucket(); 6142 PivotGroupSortValueBucket();
6085 6143
6086 PivotGroupSortValueBucket.fromJson(core.Map _json) { 6144 PivotGroupSortValueBucket.fromJson(core.Map _json) {
6087 if (_json.containsKey("buckets")) { 6145 if (_json.containsKey("buckets")) {
6088 buckets = _json["buckets"].map((value) => new ExtendedValue.fromJson(value )).toList(); 6146 buckets = _json["buckets"]
6147 .map((value) => new ExtendedValue.fromJson(value))
6148 .toList();
6089 } 6149 }
6090 if (_json.containsKey("valuesIndex")) { 6150 if (_json.containsKey("valuesIndex")) {
6091 valuesIndex = _json["valuesIndex"]; 6151 valuesIndex = _json["valuesIndex"];
6092 } 6152 }
6093 } 6153 }
6094 6154
6095 core.Map<core.String, core.Object> toJson() { 6155 core.Map<core.String, core.Object> toJson() {
6096 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6156 final core.Map<core.String, core.Object> _json =
6157 new core.Map<core.String, core.Object>();
6097 if (buckets != null) { 6158 if (buckets != null) {
6098 _json["buckets"] = buckets.map((value) => (value).toJson()).toList(); 6159 _json["buckets"] = buckets.map((value) => (value).toJson()).toList();
6099 } 6160 }
6100 if (valuesIndex != null) { 6161 if (valuesIndex != null) {
6101 _json["valuesIndex"] = valuesIndex; 6162 _json["valuesIndex"] = valuesIndex;
6102 } 6163 }
6103 return _json; 6164 return _json;
6104 } 6165 }
6105 } 6166 }
6106 6167
6107 /** Metadata about a value in a pivot grouping. */ 6168 /// Metadata about a value in a pivot grouping.
6108 class PivotGroupValueMetadata { 6169 class PivotGroupValueMetadata {
6109 /** True if the data corresponding to the value is collapsed. */ 6170 /// True if the data corresponding to the value is collapsed.
6110 core.bool collapsed; 6171 core.bool collapsed;
6111 /** 6172
6112 * The calculated value the metadata corresponds to. 6173 /// The calculated value the metadata corresponds to.
6113 * (Note that formulaValue is not valid, 6174 /// (Note that formulaValue is not valid,
6114 * because the values will be calculated.) 6175 /// because the values will be calculated.)
6115 */
6116 ExtendedValue value; 6176 ExtendedValue value;
6117 6177
6118 PivotGroupValueMetadata(); 6178 PivotGroupValueMetadata();
6119 6179
6120 PivotGroupValueMetadata.fromJson(core.Map _json) { 6180 PivotGroupValueMetadata.fromJson(core.Map _json) {
6121 if (_json.containsKey("collapsed")) { 6181 if (_json.containsKey("collapsed")) {
6122 collapsed = _json["collapsed"]; 6182 collapsed = _json["collapsed"];
6123 } 6183 }
6124 if (_json.containsKey("value")) { 6184 if (_json.containsKey("value")) {
6125 value = new ExtendedValue.fromJson(_json["value"]); 6185 value = new ExtendedValue.fromJson(_json["value"]);
6126 } 6186 }
6127 } 6187 }
6128 6188
6129 core.Map<core.String, core.Object> toJson() { 6189 core.Map<core.String, core.Object> toJson() {
6130 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6190 final core.Map<core.String, core.Object> _json =
6191 new core.Map<core.String, core.Object>();
6131 if (collapsed != null) { 6192 if (collapsed != null) {
6132 _json["collapsed"] = collapsed; 6193 _json["collapsed"] = collapsed;
6133 } 6194 }
6134 if (value != null) { 6195 if (value != null) {
6135 _json["value"] = (value).toJson(); 6196 _json["value"] = (value).toJson();
6136 } 6197 }
6137 return _json; 6198 return _json;
6138 } 6199 }
6139 } 6200 }
6140 6201
6141 /** A pivot table. */ 6202 /// A pivot table.
6142 class PivotTable { 6203 class PivotTable {
6143 /** Each column grouping in the pivot table. */ 6204 /// Each column grouping in the pivot table.
6144 core.List<PivotGroup> columns; 6205 core.List<PivotGroup> columns;
6145 /** 6206
6146 * An optional mapping of filters per source column offset. 6207 /// An optional mapping of filters per source column offset.
6147 * 6208 ///
6148 * The filters will be applied before aggregating data into the pivot table. 6209 /// The filters will be applied before aggregating data into the pivot table.
6149 * The map's key is the column offset of the source range that you want to 6210 /// The map's key is the column offset of the source range that you want to
6150 * filter, and the value is the criteria for that column. 6211 /// filter, and the value is the criteria for that column.
6151 * 6212 ///
6152 * For example, if the source was `C10:E15`, a key of `0` will have the filter 6213 /// For example, if the source was `C10:E15`, a key of `0` will have the
6153 * for column `C`, whereas the key `1` is for column `D`. 6214 /// filter
6154 */ 6215 /// for column `C`, whereas the key `1` is for column `D`.
6155 core.Map<core.String, PivotFilterCriteria> criteria; 6216 core.Map<core.String, PivotFilterCriteria> criteria;
6156 /** Each row grouping in the pivot table. */ 6217
6218 /// Each row grouping in the pivot table.
6157 core.List<PivotGroup> rows; 6219 core.List<PivotGroup> rows;
6158 /** The range the pivot table is reading data from. */ 6220
6221 /// The range the pivot table is reading data from.
6159 GridRange source; 6222 GridRange source;
6160 /** 6223
6161 * Whether values should be listed horizontally (as columns) 6224 /// Whether values should be listed horizontally (as columns)
6162 * or vertically (as rows). 6225 /// or vertically (as rows).
6163 * Possible string values are: 6226 /// Possible string values are:
6164 * - "HORIZONTAL" : Values are laid out horizontally (as columns). 6227 /// - "HORIZONTAL" : Values are laid out horizontally (as columns).
6165 * - "VERTICAL" : Values are laid out vertically (as rows). 6228 /// - "VERTICAL" : Values are laid out vertically (as rows).
6166 */
6167 core.String valueLayout; 6229 core.String valueLayout;
6168 /** A list of values to include in the pivot table. */ 6230
6231 /// A list of values to include in the pivot table.
6169 core.List<PivotValue> values; 6232 core.List<PivotValue> values;
6170 6233
6171 PivotTable(); 6234 PivotTable();
6172 6235
6173 PivotTable.fromJson(core.Map _json) { 6236 PivotTable.fromJson(core.Map _json) {
6174 if (_json.containsKey("columns")) { 6237 if (_json.containsKey("columns")) {
6175 columns = _json["columns"].map((value) => new PivotGroup.fromJson(value)). toList(); 6238 columns = _json["columns"]
6239 .map((value) => new PivotGroup.fromJson(value))
6240 .toList();
6176 } 6241 }
6177 if (_json.containsKey("criteria")) { 6242 if (_json.containsKey("criteria")) {
6178 criteria = commons.mapMap<core.Map<core.String, core.Object>, PivotFilterC riteria>(_json["criteria"], (core.Map<core.String, core.Object> item) => new Piv otFilterCriteria.fromJson(item)); 6243 criteria = commons
6244 .mapMap<core.Map<core.String, core.Object>, PivotFilterCriteria>(
6245 _json["criteria"],
6246 (core.Map<core.String, core.Object> item) =>
6247 new PivotFilterCriteria.fromJson(item));
6179 } 6248 }
6180 if (_json.containsKey("rows")) { 6249 if (_json.containsKey("rows")) {
6181 rows = _json["rows"].map((value) => new PivotGroup.fromJson(value)).toList (); 6250 rows =
6251 _json["rows"].map((value) => new PivotGroup.fromJson(value)).toList();
6182 } 6252 }
6183 if (_json.containsKey("source")) { 6253 if (_json.containsKey("source")) {
6184 source = new GridRange.fromJson(_json["source"]); 6254 source = new GridRange.fromJson(_json["source"]);
6185 } 6255 }
6186 if (_json.containsKey("valueLayout")) { 6256 if (_json.containsKey("valueLayout")) {
6187 valueLayout = _json["valueLayout"]; 6257 valueLayout = _json["valueLayout"];
6188 } 6258 }
6189 if (_json.containsKey("values")) { 6259 if (_json.containsKey("values")) {
6190 values = _json["values"].map((value) => new PivotValue.fromJson(value)).to List(); 6260 values = _json["values"]
6261 .map((value) => new PivotValue.fromJson(value))
6262 .toList();
6191 } 6263 }
6192 } 6264 }
6193 6265
6194 core.Map<core.String, core.Object> toJson() { 6266 core.Map<core.String, core.Object> toJson() {
6195 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6267 final core.Map<core.String, core.Object> _json =
6268 new core.Map<core.String, core.Object>();
6196 if (columns != null) { 6269 if (columns != null) {
6197 _json["columns"] = columns.map((value) => (value).toJson()).toList(); 6270 _json["columns"] = columns.map((value) => (value).toJson()).toList();
6198 } 6271 }
6199 if (criteria != null) { 6272 if (criteria != null) {
6200 _json["criteria"] = commons.mapMap<PivotFilterCriteria, core.Map<core.Stri ng, core.Object>>(criteria, (PivotFilterCriteria item) => (item).toJson()); 6273 _json["criteria"] = commons
6274 .mapMap<PivotFilterCriteria, core.Map<core.String, core.Object>>(
6275 criteria, (PivotFilterCriteria item) => (item).toJson());
6201 } 6276 }
6202 if (rows != null) { 6277 if (rows != null) {
6203 _json["rows"] = rows.map((value) => (value).toJson()).toList(); 6278 _json["rows"] = rows.map((value) => (value).toJson()).toList();
6204 } 6279 }
6205 if (source != null) { 6280 if (source != null) {
6206 _json["source"] = (source).toJson(); 6281 _json["source"] = (source).toJson();
6207 } 6282 }
6208 if (valueLayout != null) { 6283 if (valueLayout != null) {
6209 _json["valueLayout"] = valueLayout; 6284 _json["valueLayout"] = valueLayout;
6210 } 6285 }
6211 if (values != null) { 6286 if (values != null) {
6212 _json["values"] = values.map((value) => (value).toJson()).toList(); 6287 _json["values"] = values.map((value) => (value).toJson()).toList();
6213 } 6288 }
6214 return _json; 6289 return _json;
6215 } 6290 }
6216 } 6291 }
6217 6292
6218 /** The definition of how a value in a pivot table should be calculated. */ 6293 /// The definition of how a value in a pivot table should be calculated.
6219 class PivotValue { 6294 class PivotValue {
6220 /** 6295 /// A custom formula to calculate the value. The formula must start
6221 * A custom formula to calculate the value. The formula must start 6296 /// with an `=` character.
6222 * with an `=` character.
6223 */
6224 core.String formula; 6297 core.String formula;
6225 /** 6298
6226 * A name to use for the value. This is only used if formula was set. 6299 /// A name to use for the value. This is only used if formula was set.
6227 * Otherwise, the column name is used. 6300 /// Otherwise, the column name is used.
6228 */
6229 core.String name; 6301 core.String name;
6230 /** 6302
6231 * The column offset of the source range that this value reads from. 6303 /// The column offset of the source range that this value reads from.
6232 * 6304 ///
6233 * For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` 6305 /// For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
6234 * means this value refers to column `C`, whereas the offset `1` would 6306 /// means this value refers to column `C`, whereas the offset `1` would
6235 * refer to column `D`. 6307 /// refer to column `D`.
6236 */
6237 core.int sourceColumnOffset; 6308 core.int sourceColumnOffset;
6238 /** 6309
6239 * A function to summarize the value. 6310 /// A function to summarize the value.
6240 * If formula is set, the only supported values are 6311 /// If formula is set, the only supported values are
6241 * SUM and 6312 /// SUM and
6242 * CUSTOM. 6313 /// CUSTOM.
6243 * If sourceColumnOffset is set, then `CUSTOM` 6314 /// If sourceColumnOffset is set, then `CUSTOM`
6244 * is not supported. 6315 /// is not supported.
6245 * Possible string values are: 6316 /// Possible string values are:
6246 * - "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" : The default, do not use. 6317 /// - "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" : The default, do not use.
6247 * - "SUM" : Corresponds to the `SUM` function. 6318 /// - "SUM" : Corresponds to the `SUM` function.
6248 * - "COUNTA" : Corresponds to the `COUNTA` function. 6319 /// - "COUNTA" : Corresponds to the `COUNTA` function.
6249 * - "COUNT" : Corresponds to the `COUNT` function. 6320 /// - "COUNT" : Corresponds to the `COUNT` function.
6250 * - "COUNTUNIQUE" : Corresponds to the `COUNTUNIQUE` function. 6321 /// - "COUNTUNIQUE" : Corresponds to the `COUNTUNIQUE` function.
6251 * - "AVERAGE" : Corresponds to the `AVERAGE` function. 6322 /// - "AVERAGE" : Corresponds to the `AVERAGE` function.
6252 * - "MAX" : Corresponds to the `MAX` function. 6323 /// - "MAX" : Corresponds to the `MAX` function.
6253 * - "MIN" : Corresponds to the `MIN` function. 6324 /// - "MIN" : Corresponds to the `MIN` function.
6254 * - "MEDIAN" : Corresponds to the `MEDIAN` function. 6325 /// - "MEDIAN" : Corresponds to the `MEDIAN` function.
6255 * - "PRODUCT" : Corresponds to the `PRODUCT` function. 6326 /// - "PRODUCT" : Corresponds to the `PRODUCT` function.
6256 * - "STDEV" : Corresponds to the `STDEV` function. 6327 /// - "STDEV" : Corresponds to the `STDEV` function.
6257 * - "STDEVP" : Corresponds to the `STDEVP` function. 6328 /// - "STDEVP" : Corresponds to the `STDEVP` function.
6258 * - "VAR" : Corresponds to the `VAR` function. 6329 /// - "VAR" : Corresponds to the `VAR` function.
6259 * - "VARP" : Corresponds to the `VARP` function. 6330 /// - "VARP" : Corresponds to the `VARP` function.
6260 * - "CUSTOM" : Indicates the formula should be used as-is. 6331 /// - "CUSTOM" : Indicates the formula should be used as-is.
6261 * Only valid if PivotValue.formula was set. 6332 /// Only valid if PivotValue.formula was set.
6262 */
6263 core.String summarizeFunction; 6333 core.String summarizeFunction;
6264 6334
6265 PivotValue(); 6335 PivotValue();
6266 6336
6267 PivotValue.fromJson(core.Map _json) { 6337 PivotValue.fromJson(core.Map _json) {
6268 if (_json.containsKey("formula")) { 6338 if (_json.containsKey("formula")) {
6269 formula = _json["formula"]; 6339 formula = _json["formula"];
6270 } 6340 }
6271 if (_json.containsKey("name")) { 6341 if (_json.containsKey("name")) {
6272 name = _json["name"]; 6342 name = _json["name"];
6273 } 6343 }
6274 if (_json.containsKey("sourceColumnOffset")) { 6344 if (_json.containsKey("sourceColumnOffset")) {
6275 sourceColumnOffset = _json["sourceColumnOffset"]; 6345 sourceColumnOffset = _json["sourceColumnOffset"];
6276 } 6346 }
6277 if (_json.containsKey("summarizeFunction")) { 6347 if (_json.containsKey("summarizeFunction")) {
6278 summarizeFunction = _json["summarizeFunction"]; 6348 summarizeFunction = _json["summarizeFunction"];
6279 } 6349 }
6280 } 6350 }
6281 6351
6282 core.Map<core.String, core.Object> toJson() { 6352 core.Map<core.String, core.Object> toJson() {
6283 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6353 final core.Map<core.String, core.Object> _json =
6354 new core.Map<core.String, core.Object>();
6284 if (formula != null) { 6355 if (formula != null) {
6285 _json["formula"] = formula; 6356 _json["formula"] = formula;
6286 } 6357 }
6287 if (name != null) { 6358 if (name != null) {
6288 _json["name"] = name; 6359 _json["name"] = name;
6289 } 6360 }
6290 if (sourceColumnOffset != null) { 6361 if (sourceColumnOffset != null) {
6291 _json["sourceColumnOffset"] = sourceColumnOffset; 6362 _json["sourceColumnOffset"] = sourceColumnOffset;
6292 } 6363 }
6293 if (summarizeFunction != null) { 6364 if (summarizeFunction != null) {
6294 _json["summarizeFunction"] = summarizeFunction; 6365 _json["summarizeFunction"] = summarizeFunction;
6295 } 6366 }
6296 return _json; 6367 return _json;
6297 } 6368 }
6298 } 6369 }
6299 6370
6300 /** A protected range. */ 6371 /// A protected range.
6301 class ProtectedRange { 6372 class ProtectedRange {
6302 /** The description of this protected range. */ 6373 /// The description of this protected range.
6303 core.String description; 6374 core.String description;
6304 /** 6375
6305 * The users and groups with edit access to the protected range. 6376 /// The users and groups with edit access to the protected range.
6306 * This field is only visible to users with edit access to the protected 6377 /// This field is only visible to users with edit access to the protected
6307 * range and the document. 6378 /// range and the document.
6308 * Editors are not supported with warning_only protection. 6379 /// Editors are not supported with warning_only protection.
6309 */
6310 Editors editors; 6380 Editors editors;
6311 /** 6381
6312 * The named range this protected range is backed by, if any. 6382 /// The named range this protected range is backed by, if any.
6313 * 6383 ///
6314 * When writing, only one of range or named_range_id 6384 /// When writing, only one of range or named_range_id
6315 * may be set. 6385 /// may be set.
6316 */
6317 core.String namedRangeId; 6386 core.String namedRangeId;
6318 /** 6387
6319 * The ID of the protected range. 6388 /// The ID of the protected range.
6320 * This field is read-only. 6389 /// This field is read-only.
6321 */
6322 core.int protectedRangeId; 6390 core.int protectedRangeId;
6323 /** 6391
6324 * The range that is being protected. 6392 /// The range that is being protected.
6325 * The range may be fully unbounded, in which case this is considered 6393 /// The range may be fully unbounded, in which case this is considered
6326 * a protected sheet. 6394 /// a protected sheet.
6327 * 6395 ///
6328 * When writing, only one of range or named_range_id 6396 /// When writing, only one of range or named_range_id
6329 * may be set. 6397 /// may be set.
6330 */
6331 GridRange range; 6398 GridRange range;
6332 /** 6399
6333 * True if the user who requested this protected range can edit the 6400 /// True if the user who requested this protected range can edit the
6334 * protected area. 6401 /// protected area.
6335 * This field is read-only. 6402 /// This field is read-only.
6336 */
6337 core.bool requestingUserCanEdit; 6403 core.bool requestingUserCanEdit;
6338 /** 6404
6339 * The list of unprotected ranges within a protected sheet. 6405 /// The list of unprotected ranges within a protected sheet.
6340 * Unprotected ranges are only supported on protected sheets. 6406 /// Unprotected ranges are only supported on protected sheets.
6341 */
6342 core.List<GridRange> unprotectedRanges; 6407 core.List<GridRange> unprotectedRanges;
6343 /** 6408
6344 * True if this protected range will show a warning when editing. 6409 /// True if this protected range will show a warning when editing.
6345 * Warning-based protection means that every user can edit data in the 6410 /// Warning-based protection means that every user can edit data in the
6346 * protected range, except editing will prompt a warning asking the user 6411 /// protected range, except editing will prompt a warning asking the user
6347 * to confirm the edit. 6412 /// to confirm the edit.
6348 * 6413 ///
6349 * When writing: if this field is true, then editors is ignored. 6414 /// When writing: if this field is true, then editors is ignored.
6350 * Additionally, if this field is changed from true to false and the 6415 /// Additionally, if this field is changed from true to false and the
6351 * `editors` field is not set (nor included in the field mask), then 6416 /// `editors` field is not set (nor included in the field mask), then
6352 * the editors will be set to all the editors in the document. 6417 /// the editors will be set to all the editors in the document.
6353 */
6354 core.bool warningOnly; 6418 core.bool warningOnly;
6355 6419
6356 ProtectedRange(); 6420 ProtectedRange();
6357 6421
6358 ProtectedRange.fromJson(core.Map _json) { 6422 ProtectedRange.fromJson(core.Map _json) {
6359 if (_json.containsKey("description")) { 6423 if (_json.containsKey("description")) {
6360 description = _json["description"]; 6424 description = _json["description"];
6361 } 6425 }
6362 if (_json.containsKey("editors")) { 6426 if (_json.containsKey("editors")) {
6363 editors = new Editors.fromJson(_json["editors"]); 6427 editors = new Editors.fromJson(_json["editors"]);
6364 } 6428 }
6365 if (_json.containsKey("namedRangeId")) { 6429 if (_json.containsKey("namedRangeId")) {
6366 namedRangeId = _json["namedRangeId"]; 6430 namedRangeId = _json["namedRangeId"];
6367 } 6431 }
6368 if (_json.containsKey("protectedRangeId")) { 6432 if (_json.containsKey("protectedRangeId")) {
6369 protectedRangeId = _json["protectedRangeId"]; 6433 protectedRangeId = _json["protectedRangeId"];
6370 } 6434 }
6371 if (_json.containsKey("range")) { 6435 if (_json.containsKey("range")) {
6372 range = new GridRange.fromJson(_json["range"]); 6436 range = new GridRange.fromJson(_json["range"]);
6373 } 6437 }
6374 if (_json.containsKey("requestingUserCanEdit")) { 6438 if (_json.containsKey("requestingUserCanEdit")) {
6375 requestingUserCanEdit = _json["requestingUserCanEdit"]; 6439 requestingUserCanEdit = _json["requestingUserCanEdit"];
6376 } 6440 }
6377 if (_json.containsKey("unprotectedRanges")) { 6441 if (_json.containsKey("unprotectedRanges")) {
6378 unprotectedRanges = _json["unprotectedRanges"].map((value) => new GridRang e.fromJson(value)).toList(); 6442 unprotectedRanges = _json["unprotectedRanges"]
6443 .map((value) => new GridRange.fromJson(value))
6444 .toList();
6379 } 6445 }
6380 if (_json.containsKey("warningOnly")) { 6446 if (_json.containsKey("warningOnly")) {
6381 warningOnly = _json["warningOnly"]; 6447 warningOnly = _json["warningOnly"];
6382 } 6448 }
6383 } 6449 }
6384 6450
6385 core.Map<core.String, core.Object> toJson() { 6451 core.Map<core.String, core.Object> toJson() {
6386 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6452 final core.Map<core.String, core.Object> _json =
6453 new core.Map<core.String, core.Object>();
6387 if (description != null) { 6454 if (description != null) {
6388 _json["description"] = description; 6455 _json["description"] = description;
6389 } 6456 }
6390 if (editors != null) { 6457 if (editors != null) {
6391 _json["editors"] = (editors).toJson(); 6458 _json["editors"] = (editors).toJson();
6392 } 6459 }
6393 if (namedRangeId != null) { 6460 if (namedRangeId != null) {
6394 _json["namedRangeId"] = namedRangeId; 6461 _json["namedRangeId"] = namedRangeId;
6395 } 6462 }
6396 if (protectedRangeId != null) { 6463 if (protectedRangeId != null) {
6397 _json["protectedRangeId"] = protectedRangeId; 6464 _json["protectedRangeId"] = protectedRangeId;
6398 } 6465 }
6399 if (range != null) { 6466 if (range != null) {
6400 _json["range"] = (range).toJson(); 6467 _json["range"] = (range).toJson();
6401 } 6468 }
6402 if (requestingUserCanEdit != null) { 6469 if (requestingUserCanEdit != null) {
6403 _json["requestingUserCanEdit"] = requestingUserCanEdit; 6470 _json["requestingUserCanEdit"] = requestingUserCanEdit;
6404 } 6471 }
6405 if (unprotectedRanges != null) { 6472 if (unprotectedRanges != null) {
6406 _json["unprotectedRanges"] = unprotectedRanges.map((value) => (value).toJs on()).toList(); 6473 _json["unprotectedRanges"] =
6474 unprotectedRanges.map((value) => (value).toJson()).toList();
6407 } 6475 }
6408 if (warningOnly != null) { 6476 if (warningOnly != null) {
6409 _json["warningOnly"] = warningOnly; 6477 _json["warningOnly"] = warningOnly;
6410 } 6478 }
6411 return _json; 6479 return _json;
6412 } 6480 }
6413 } 6481 }
6414 6482
6415 /** Randomizes the order of the rows in a range. */ 6483 /// Randomizes the order of the rows in a range.
6416 class RandomizeRangeRequest { 6484 class RandomizeRangeRequest {
6417 /** The range to randomize. */ 6485 /// The range to randomize.
6418 GridRange range; 6486 GridRange range;
6419 6487
6420 RandomizeRangeRequest(); 6488 RandomizeRangeRequest();
6421 6489
6422 RandomizeRangeRequest.fromJson(core.Map _json) { 6490 RandomizeRangeRequest.fromJson(core.Map _json) {
6423 if (_json.containsKey("range")) { 6491 if (_json.containsKey("range")) {
6424 range = new GridRange.fromJson(_json["range"]); 6492 range = new GridRange.fromJson(_json["range"]);
6425 } 6493 }
6426 } 6494 }
6427 6495
6428 core.Map<core.String, core.Object> toJson() { 6496 core.Map<core.String, core.Object> toJson() {
6429 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6497 final core.Map<core.String, core.Object> _json =
6498 new core.Map<core.String, core.Object>();
6430 if (range != null) { 6499 if (range != null) {
6431 _json["range"] = (range).toJson(); 6500 _json["range"] = (range).toJson();
6432 } 6501 }
6433 return _json; 6502 return _json;
6434 } 6503 }
6435 } 6504 }
6436 6505
6437 /** 6506 /// Updates all cells in the range to the values in the given Cell object.
6438 * Updates all cells in the range to the values in the given Cell object. 6507 /// Only the fields listed in the fields field are updated; others are
6439 * Only the fields listed in the fields field are updated; others are 6508 /// unchanged.
6440 * unchanged. 6509 ///
6441 * 6510 /// If writing a cell with a formula, the formula's ranges will automatically
6442 * If writing a cell with a formula, the formula's ranges will automatically 6511 /// increment for each field in the range.
6443 * increment for each field in the range. 6512 /// For example, if writing a cell with formula `=A1` into range B2:C4,
6444 * For example, if writing a cell with formula `=A1` into range B2:C4, 6513 /// B2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`,
6445 * B2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`, 6514 /// C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`.
6446 * C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`. 6515 ///
6447 * 6516 /// To keep the formula's ranges static, use the `$` indicator.
6448 * To keep the formula's ranges static, use the `$` indicator. 6517 /// For example, use the formula `=$A$1` to prevent both the row and the
6449 * For example, use the formula `=$A$1` to prevent both the row and the 6518 /// column from incrementing.
6450 * column from incrementing.
6451 */
6452 class RepeatCellRequest { 6519 class RepeatCellRequest {
6453 /** The data to write. */ 6520 /// The data to write.
6454 CellData cell; 6521 CellData cell;
6455 /** 6522
6456 * The fields that should be updated. At least one field must be specified. 6523 /// The fields that should be updated. At least one field must be specified.
6457 * The root `cell` is implied and should not be specified. 6524 /// The root `cell` is implied and should not be specified.
6458 * A single `"*"` can be used as short-hand for listing every field. 6525 /// A single `"*"` can be used as short-hand for listing every field.
6459 */
6460 core.String fields; 6526 core.String fields;
6461 /** The range to repeat the cell in. */ 6527
6528 /// The range to repeat the cell in.
6462 GridRange range; 6529 GridRange range;
6463 6530
6464 RepeatCellRequest(); 6531 RepeatCellRequest();
6465 6532
6466 RepeatCellRequest.fromJson(core.Map _json) { 6533 RepeatCellRequest.fromJson(core.Map _json) {
6467 if (_json.containsKey("cell")) { 6534 if (_json.containsKey("cell")) {
6468 cell = new CellData.fromJson(_json["cell"]); 6535 cell = new CellData.fromJson(_json["cell"]);
6469 } 6536 }
6470 if (_json.containsKey("fields")) { 6537 if (_json.containsKey("fields")) {
6471 fields = _json["fields"]; 6538 fields = _json["fields"];
6472 } 6539 }
6473 if (_json.containsKey("range")) { 6540 if (_json.containsKey("range")) {
6474 range = new GridRange.fromJson(_json["range"]); 6541 range = new GridRange.fromJson(_json["range"]);
6475 } 6542 }
6476 } 6543 }
6477 6544
6478 core.Map<core.String, core.Object> toJson() { 6545 core.Map<core.String, core.Object> toJson() {
6479 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6546 final core.Map<core.String, core.Object> _json =
6547 new core.Map<core.String, core.Object>();
6480 if (cell != null) { 6548 if (cell != null) {
6481 _json["cell"] = (cell).toJson(); 6549 _json["cell"] = (cell).toJson();
6482 } 6550 }
6483 if (fields != null) { 6551 if (fields != null) {
6484 _json["fields"] = fields; 6552 _json["fields"] = fields;
6485 } 6553 }
6486 if (range != null) { 6554 if (range != null) {
6487 _json["range"] = (range).toJson(); 6555 _json["range"] = (range).toJson();
6488 } 6556 }
6489 return _json; 6557 return _json;
6490 } 6558 }
6491 } 6559 }
6492 6560
6493 /** A single kind of update to apply to a spreadsheet. */ 6561 /// A single kind of update to apply to a spreadsheet.
6494 class Request { 6562 class Request {
6495 /** Adds a new banded range */ 6563 /// Adds a new banded range
6496 AddBandingRequest addBanding; 6564 AddBandingRequest addBanding;
6497 /** Adds a chart. */ 6565
6566 /// Adds a chart.
6498 AddChartRequest addChart; 6567 AddChartRequest addChart;
6499 /** Adds a new conditional format rule. */ 6568
6569 /// Adds a new conditional format rule.
6500 AddConditionalFormatRuleRequest addConditionalFormatRule; 6570 AddConditionalFormatRuleRequest addConditionalFormatRule;
6501 /** Adds a filter view. */ 6571
6572 /// Adds a filter view.
6502 AddFilterViewRequest addFilterView; 6573 AddFilterViewRequest addFilterView;
6503 /** Adds a named range. */ 6574
6575 /// Adds a named range.
6504 AddNamedRangeRequest addNamedRange; 6576 AddNamedRangeRequest addNamedRange;
6505 /** Adds a protected range. */ 6577
6578 /// Adds a protected range.
6506 AddProtectedRangeRequest addProtectedRange; 6579 AddProtectedRangeRequest addProtectedRange;
6507 /** Adds a sheet. */ 6580
6581 /// Adds a sheet.
6508 AddSheetRequest addSheet; 6582 AddSheetRequest addSheet;
6509 /** Appends cells after the last row with data in a sheet. */ 6583
6584 /// Appends cells after the last row with data in a sheet.
6510 AppendCellsRequest appendCells; 6585 AppendCellsRequest appendCells;
6511 /** Appends dimensions to the end of a sheet. */ 6586
6587 /// Appends dimensions to the end of a sheet.
6512 AppendDimensionRequest appendDimension; 6588 AppendDimensionRequest appendDimension;
6513 /** Automatically fills in more data based on existing data. */ 6589
6590 /// Automatically fills in more data based on existing data.
6514 AutoFillRequest autoFill; 6591 AutoFillRequest autoFill;
6515 /** 6592
6516 * Automatically resizes one or more dimensions based on the contents 6593 /// Automatically resizes one or more dimensions based on the contents
6517 * of the cells in that dimension. 6594 /// of the cells in that dimension.
6518 */
6519 AutoResizeDimensionsRequest autoResizeDimensions; 6595 AutoResizeDimensionsRequest autoResizeDimensions;
6520 /** Clears the basic filter on a sheet. */ 6596
6597 /// Clears the basic filter on a sheet.
6521 ClearBasicFilterRequest clearBasicFilter; 6598 ClearBasicFilterRequest clearBasicFilter;
6522 /** Copies data from one area and pastes it to another. */ 6599
6600 /// Copies data from one area and pastes it to another.
6523 CopyPasteRequest copyPaste; 6601 CopyPasteRequest copyPaste;
6524 /** Cuts data from one area and pastes it to another. */ 6602
6603 /// Cuts data from one area and pastes it to another.
6525 CutPasteRequest cutPaste; 6604 CutPasteRequest cutPaste;
6526 /** Removes a banded range */ 6605
6606 /// Removes a banded range
6527 DeleteBandingRequest deleteBanding; 6607 DeleteBandingRequest deleteBanding;
6528 /** Deletes an existing conditional format rule. */ 6608
6609 /// Deletes an existing conditional format rule.
6529 DeleteConditionalFormatRuleRequest deleteConditionalFormatRule; 6610 DeleteConditionalFormatRuleRequest deleteConditionalFormatRule;
6530 /** Deletes rows or columns in a sheet. */ 6611
6612 /// Deletes rows or columns in a sheet.
6531 DeleteDimensionRequest deleteDimension; 6613 DeleteDimensionRequest deleteDimension;
6532 /** Deletes an embedded object (e.g, chart, image) in a sheet. */ 6614
6615 /// Deletes an embedded object (e.g, chart, image) in a sheet.
6533 DeleteEmbeddedObjectRequest deleteEmbeddedObject; 6616 DeleteEmbeddedObjectRequest deleteEmbeddedObject;
6534 /** Deletes a filter view from a sheet. */ 6617
6618 /// Deletes a filter view from a sheet.
6535 DeleteFilterViewRequest deleteFilterView; 6619 DeleteFilterViewRequest deleteFilterView;
6536 /** Deletes a named range. */ 6620
6621 /// Deletes a named range.
6537 DeleteNamedRangeRequest deleteNamedRange; 6622 DeleteNamedRangeRequest deleteNamedRange;
6538 /** Deletes a protected range. */ 6623
6624 /// Deletes a protected range.
6539 DeleteProtectedRangeRequest deleteProtectedRange; 6625 DeleteProtectedRangeRequest deleteProtectedRange;
6540 /** Deletes a range of cells from a sheet, shifting the remaining cells. */ 6626
6627 /// Deletes a range of cells from a sheet, shifting the remaining cells.
6541 DeleteRangeRequest deleteRange; 6628 DeleteRangeRequest deleteRange;
6542 /** Deletes a sheet. */ 6629
6630 /// Deletes a sheet.
6543 DeleteSheetRequest deleteSheet; 6631 DeleteSheetRequest deleteSheet;
6544 /** Duplicates a filter view. */ 6632
6633 /// Duplicates a filter view.
6545 DuplicateFilterViewRequest duplicateFilterView; 6634 DuplicateFilterViewRequest duplicateFilterView;
6546 /** Duplicates a sheet. */ 6635
6636 /// Duplicates a sheet.
6547 DuplicateSheetRequest duplicateSheet; 6637 DuplicateSheetRequest duplicateSheet;
6548 /** Finds and replaces occurrences of some text with other text. */ 6638
6639 /// Finds and replaces occurrences of some text with other text.
6549 FindReplaceRequest findReplace; 6640 FindReplaceRequest findReplace;
6550 /** Inserts new rows or columns in a sheet. */ 6641
6642 /// Inserts new rows or columns in a sheet.
6551 InsertDimensionRequest insertDimension; 6643 InsertDimensionRequest insertDimension;
6552 /** Inserts new cells in a sheet, shifting the existing cells. */ 6644
6645 /// Inserts new cells in a sheet, shifting the existing cells.
6553 InsertRangeRequest insertRange; 6646 InsertRangeRequest insertRange;
6554 /** Merges cells together. */ 6647
6648 /// Merges cells together.
6555 MergeCellsRequest mergeCells; 6649 MergeCellsRequest mergeCells;
6556 /** Moves rows or columns to another location in a sheet. */ 6650
6651 /// Moves rows or columns to another location in a sheet.
6557 MoveDimensionRequest moveDimension; 6652 MoveDimensionRequest moveDimension;
6558 /** Pastes data (HTML or delimited) into a sheet. */ 6653
6654 /// Pastes data (HTML or delimited) into a sheet.
6559 PasteDataRequest pasteData; 6655 PasteDataRequest pasteData;
6560 /** Randomizes the order of the rows in a range. */ 6656
6657 /// Randomizes the order of the rows in a range.
6561 RandomizeRangeRequest randomizeRange; 6658 RandomizeRangeRequest randomizeRange;
6562 /** Repeats a single cell across a range. */ 6659
6660 /// Repeats a single cell across a range.
6563 RepeatCellRequest repeatCell; 6661 RepeatCellRequest repeatCell;
6564 /** Sets the basic filter on a sheet. */ 6662
6663 /// Sets the basic filter on a sheet.
6565 SetBasicFilterRequest setBasicFilter; 6664 SetBasicFilterRequest setBasicFilter;
6566 /** Sets data validation for one or more cells. */ 6665
6666 /// Sets data validation for one or more cells.
6567 SetDataValidationRequest setDataValidation; 6667 SetDataValidationRequest setDataValidation;
6568 /** Sorts data in a range. */ 6668
6669 /// Sorts data in a range.
6569 SortRangeRequest sortRange; 6670 SortRangeRequest sortRange;
6570 /** Converts a column of text into many columns of text. */ 6671
6672 /// Converts a column of text into many columns of text.
6571 TextToColumnsRequest textToColumns; 6673 TextToColumnsRequest textToColumns;
6572 /** Unmerges merged cells. */ 6674
6675 /// Unmerges merged cells.
6573 UnmergeCellsRequest unmergeCells; 6676 UnmergeCellsRequest unmergeCells;
6574 /** Updates a banded range */ 6677
6678 /// Updates a banded range
6575 UpdateBandingRequest updateBanding; 6679 UpdateBandingRequest updateBanding;
6576 /** Updates the borders in a range of cells. */ 6680
6681 /// Updates the borders in a range of cells.
6577 UpdateBordersRequest updateBorders; 6682 UpdateBordersRequest updateBorders;
6578 /** Updates many cells at once. */ 6683
6684 /// Updates many cells at once.
6579 UpdateCellsRequest updateCells; 6685 UpdateCellsRequest updateCells;
6580 /** Updates a chart's specifications. */ 6686
6687 /// Updates a chart's specifications.
6581 UpdateChartSpecRequest updateChartSpec; 6688 UpdateChartSpecRequest updateChartSpec;
6582 /** Updates an existing conditional format rule. */ 6689
6690 /// Updates an existing conditional format rule.
6583 UpdateConditionalFormatRuleRequest updateConditionalFormatRule; 6691 UpdateConditionalFormatRuleRequest updateConditionalFormatRule;
6584 /** Updates dimensions' properties. */ 6692
6693 /// Updates dimensions' properties.
6585 UpdateDimensionPropertiesRequest updateDimensionProperties; 6694 UpdateDimensionPropertiesRequest updateDimensionProperties;
6586 /** Updates an embedded object's (e.g. chart, image) position. */ 6695
6696 /// Updates an embedded object's (e.g. chart, image) position.
6587 UpdateEmbeddedObjectPositionRequest updateEmbeddedObjectPosition; 6697 UpdateEmbeddedObjectPositionRequest updateEmbeddedObjectPosition;
6588 /** Updates the properties of a filter view. */ 6698
6699 /// Updates the properties of a filter view.
6589 UpdateFilterViewRequest updateFilterView; 6700 UpdateFilterViewRequest updateFilterView;
6590 /** Updates a named range. */ 6701
6702 /// Updates a named range.
6591 UpdateNamedRangeRequest updateNamedRange; 6703 UpdateNamedRangeRequest updateNamedRange;
6592 /** Updates a protected range. */ 6704
6705 /// Updates a protected range.
6593 UpdateProtectedRangeRequest updateProtectedRange; 6706 UpdateProtectedRangeRequest updateProtectedRange;
6594 /** Updates a sheet's properties. */ 6707
6708 /// Updates a sheet's properties.
6595 UpdateSheetPropertiesRequest updateSheetProperties; 6709 UpdateSheetPropertiesRequest updateSheetProperties;
6596 /** Updates the spreadsheet's properties. */ 6710
6711 /// Updates the spreadsheet's properties.
6597 UpdateSpreadsheetPropertiesRequest updateSpreadsheetProperties; 6712 UpdateSpreadsheetPropertiesRequest updateSpreadsheetProperties;
6598 6713
6599 Request(); 6714 Request();
6600 6715
6601 Request.fromJson(core.Map _json) { 6716 Request.fromJson(core.Map _json) {
6602 if (_json.containsKey("addBanding")) { 6717 if (_json.containsKey("addBanding")) {
6603 addBanding = new AddBandingRequest.fromJson(_json["addBanding"]); 6718 addBanding = new AddBandingRequest.fromJson(_json["addBanding"]);
6604 } 6719 }
6605 if (_json.containsKey("addChart")) { 6720 if (_json.containsKey("addChart")) {
6606 addChart = new AddChartRequest.fromJson(_json["addChart"]); 6721 addChart = new AddChartRequest.fromJson(_json["addChart"]);
6607 } 6722 }
6608 if (_json.containsKey("addConditionalFormatRule")) { 6723 if (_json.containsKey("addConditionalFormatRule")) {
6609 addConditionalFormatRule = new AddConditionalFormatRuleRequest.fromJson(_j son["addConditionalFormatRule"]); 6724 addConditionalFormatRule = new AddConditionalFormatRuleRequest.fromJson(
6725 _json["addConditionalFormatRule"]);
6610 } 6726 }
6611 if (_json.containsKey("addFilterView")) { 6727 if (_json.containsKey("addFilterView")) {
6612 addFilterView = new AddFilterViewRequest.fromJson(_json["addFilterView"]); 6728 addFilterView = new AddFilterViewRequest.fromJson(_json["addFilterView"]);
6613 } 6729 }
6614 if (_json.containsKey("addNamedRange")) { 6730 if (_json.containsKey("addNamedRange")) {
6615 addNamedRange = new AddNamedRangeRequest.fromJson(_json["addNamedRange"]); 6731 addNamedRange = new AddNamedRangeRequest.fromJson(_json["addNamedRange"]);
6616 } 6732 }
6617 if (_json.containsKey("addProtectedRange")) { 6733 if (_json.containsKey("addProtectedRange")) {
6618 addProtectedRange = new AddProtectedRangeRequest.fromJson(_json["addProtec tedRange"]); 6734 addProtectedRange =
6735 new AddProtectedRangeRequest.fromJson(_json["addProtectedRange"]);
6619 } 6736 }
6620 if (_json.containsKey("addSheet")) { 6737 if (_json.containsKey("addSheet")) {
6621 addSheet = new AddSheetRequest.fromJson(_json["addSheet"]); 6738 addSheet = new AddSheetRequest.fromJson(_json["addSheet"]);
6622 } 6739 }
6623 if (_json.containsKey("appendCells")) { 6740 if (_json.containsKey("appendCells")) {
6624 appendCells = new AppendCellsRequest.fromJson(_json["appendCells"]); 6741 appendCells = new AppendCellsRequest.fromJson(_json["appendCells"]);
6625 } 6742 }
6626 if (_json.containsKey("appendDimension")) { 6743 if (_json.containsKey("appendDimension")) {
6627 appendDimension = new AppendDimensionRequest.fromJson(_json["appendDimensi on"]); 6744 appendDimension =
6745 new AppendDimensionRequest.fromJson(_json["appendDimension"]);
6628 } 6746 }
6629 if (_json.containsKey("autoFill")) { 6747 if (_json.containsKey("autoFill")) {
6630 autoFill = new AutoFillRequest.fromJson(_json["autoFill"]); 6748 autoFill = new AutoFillRequest.fromJson(_json["autoFill"]);
6631 } 6749 }
6632 if (_json.containsKey("autoResizeDimensions")) { 6750 if (_json.containsKey("autoResizeDimensions")) {
6633 autoResizeDimensions = new AutoResizeDimensionsRequest.fromJson(_json["aut oResizeDimensions"]); 6751 autoResizeDimensions = new AutoResizeDimensionsRequest.fromJson(
6752 _json["autoResizeDimensions"]);
6634 } 6753 }
6635 if (_json.containsKey("clearBasicFilter")) { 6754 if (_json.containsKey("clearBasicFilter")) {
6636 clearBasicFilter = new ClearBasicFilterRequest.fromJson(_json["clearBasicF ilter"]); 6755 clearBasicFilter =
6756 new ClearBasicFilterRequest.fromJson(_json["clearBasicFilter"]);
6637 } 6757 }
6638 if (_json.containsKey("copyPaste")) { 6758 if (_json.containsKey("copyPaste")) {
6639 copyPaste = new CopyPasteRequest.fromJson(_json["copyPaste"]); 6759 copyPaste = new CopyPasteRequest.fromJson(_json["copyPaste"]);
6640 } 6760 }
6641 if (_json.containsKey("cutPaste")) { 6761 if (_json.containsKey("cutPaste")) {
6642 cutPaste = new CutPasteRequest.fromJson(_json["cutPaste"]); 6762 cutPaste = new CutPasteRequest.fromJson(_json["cutPaste"]);
6643 } 6763 }
6644 if (_json.containsKey("deleteBanding")) { 6764 if (_json.containsKey("deleteBanding")) {
6645 deleteBanding = new DeleteBandingRequest.fromJson(_json["deleteBanding"]); 6765 deleteBanding = new DeleteBandingRequest.fromJson(_json["deleteBanding"]);
6646 } 6766 }
6647 if (_json.containsKey("deleteConditionalFormatRule")) { 6767 if (_json.containsKey("deleteConditionalFormatRule")) {
6648 deleteConditionalFormatRule = new DeleteConditionalFormatRuleRequest.fromJ son(_json["deleteConditionalFormatRule"]); 6768 deleteConditionalFormatRule =
6769 new DeleteConditionalFormatRuleRequest.fromJson(
6770 _json["deleteConditionalFormatRule"]);
6649 } 6771 }
6650 if (_json.containsKey("deleteDimension")) { 6772 if (_json.containsKey("deleteDimension")) {
6651 deleteDimension = new DeleteDimensionRequest.fromJson(_json["deleteDimensi on"]); 6773 deleteDimension =
6774 new DeleteDimensionRequest.fromJson(_json["deleteDimension"]);
6652 } 6775 }
6653 if (_json.containsKey("deleteEmbeddedObject")) { 6776 if (_json.containsKey("deleteEmbeddedObject")) {
6654 deleteEmbeddedObject = new DeleteEmbeddedObjectRequest.fromJson(_json["del eteEmbeddedObject"]); 6777 deleteEmbeddedObject = new DeleteEmbeddedObjectRequest.fromJson(
6778 _json["deleteEmbeddedObject"]);
6655 } 6779 }
6656 if (_json.containsKey("deleteFilterView")) { 6780 if (_json.containsKey("deleteFilterView")) {
6657 deleteFilterView = new DeleteFilterViewRequest.fromJson(_json["deleteFilte rView"]); 6781 deleteFilterView =
6782 new DeleteFilterViewRequest.fromJson(_json["deleteFilterView"]);
6658 } 6783 }
6659 if (_json.containsKey("deleteNamedRange")) { 6784 if (_json.containsKey("deleteNamedRange")) {
6660 deleteNamedRange = new DeleteNamedRangeRequest.fromJson(_json["deleteNamed Range"]); 6785 deleteNamedRange =
6786 new DeleteNamedRangeRequest.fromJson(_json["deleteNamedRange"]);
6661 } 6787 }
6662 if (_json.containsKey("deleteProtectedRange")) { 6788 if (_json.containsKey("deleteProtectedRange")) {
6663 deleteProtectedRange = new DeleteProtectedRangeRequest.fromJson(_json["del eteProtectedRange"]); 6789 deleteProtectedRange = new DeleteProtectedRangeRequest.fromJson(
6790 _json["deleteProtectedRange"]);
6664 } 6791 }
6665 if (_json.containsKey("deleteRange")) { 6792 if (_json.containsKey("deleteRange")) {
6666 deleteRange = new DeleteRangeRequest.fromJson(_json["deleteRange"]); 6793 deleteRange = new DeleteRangeRequest.fromJson(_json["deleteRange"]);
6667 } 6794 }
6668 if (_json.containsKey("deleteSheet")) { 6795 if (_json.containsKey("deleteSheet")) {
6669 deleteSheet = new DeleteSheetRequest.fromJson(_json["deleteSheet"]); 6796 deleteSheet = new DeleteSheetRequest.fromJson(_json["deleteSheet"]);
6670 } 6797 }
6671 if (_json.containsKey("duplicateFilterView")) { 6798 if (_json.containsKey("duplicateFilterView")) {
6672 duplicateFilterView = new DuplicateFilterViewRequest.fromJson(_json["dupli cateFilterView"]); 6799 duplicateFilterView =
6800 new DuplicateFilterViewRequest.fromJson(_json["duplicateFilterView"]);
6673 } 6801 }
6674 if (_json.containsKey("duplicateSheet")) { 6802 if (_json.containsKey("duplicateSheet")) {
6675 duplicateSheet = new DuplicateSheetRequest.fromJson(_json["duplicateSheet" ]); 6803 duplicateSheet =
6804 new DuplicateSheetRequest.fromJson(_json["duplicateSheet"]);
6676 } 6805 }
6677 if (_json.containsKey("findReplace")) { 6806 if (_json.containsKey("findReplace")) {
6678 findReplace = new FindReplaceRequest.fromJson(_json["findReplace"]); 6807 findReplace = new FindReplaceRequest.fromJson(_json["findReplace"]);
6679 } 6808 }
6680 if (_json.containsKey("insertDimension")) { 6809 if (_json.containsKey("insertDimension")) {
6681 insertDimension = new InsertDimensionRequest.fromJson(_json["insertDimensi on"]); 6810 insertDimension =
6811 new InsertDimensionRequest.fromJson(_json["insertDimension"]);
6682 } 6812 }
6683 if (_json.containsKey("insertRange")) { 6813 if (_json.containsKey("insertRange")) {
6684 insertRange = new InsertRangeRequest.fromJson(_json["insertRange"]); 6814 insertRange = new InsertRangeRequest.fromJson(_json["insertRange"]);
6685 } 6815 }
6686 if (_json.containsKey("mergeCells")) { 6816 if (_json.containsKey("mergeCells")) {
6687 mergeCells = new MergeCellsRequest.fromJson(_json["mergeCells"]); 6817 mergeCells = new MergeCellsRequest.fromJson(_json["mergeCells"]);
6688 } 6818 }
6689 if (_json.containsKey("moveDimension")) { 6819 if (_json.containsKey("moveDimension")) {
6690 moveDimension = new MoveDimensionRequest.fromJson(_json["moveDimension"]); 6820 moveDimension = new MoveDimensionRequest.fromJson(_json["moveDimension"]);
6691 } 6821 }
6692 if (_json.containsKey("pasteData")) { 6822 if (_json.containsKey("pasteData")) {
6693 pasteData = new PasteDataRequest.fromJson(_json["pasteData"]); 6823 pasteData = new PasteDataRequest.fromJson(_json["pasteData"]);
6694 } 6824 }
6695 if (_json.containsKey("randomizeRange")) { 6825 if (_json.containsKey("randomizeRange")) {
6696 randomizeRange = new RandomizeRangeRequest.fromJson(_json["randomizeRange" ]); 6826 randomizeRange =
6827 new RandomizeRangeRequest.fromJson(_json["randomizeRange"]);
6697 } 6828 }
6698 if (_json.containsKey("repeatCell")) { 6829 if (_json.containsKey("repeatCell")) {
6699 repeatCell = new RepeatCellRequest.fromJson(_json["repeatCell"]); 6830 repeatCell = new RepeatCellRequest.fromJson(_json["repeatCell"]);
6700 } 6831 }
6701 if (_json.containsKey("setBasicFilter")) { 6832 if (_json.containsKey("setBasicFilter")) {
6702 setBasicFilter = new SetBasicFilterRequest.fromJson(_json["setBasicFilter" ]); 6833 setBasicFilter =
6834 new SetBasicFilterRequest.fromJson(_json["setBasicFilter"]);
6703 } 6835 }
6704 if (_json.containsKey("setDataValidation")) { 6836 if (_json.containsKey("setDataValidation")) {
6705 setDataValidation = new SetDataValidationRequest.fromJson(_json["setDataVa lidation"]); 6837 setDataValidation =
6838 new SetDataValidationRequest.fromJson(_json["setDataValidation"]);
6706 } 6839 }
6707 if (_json.containsKey("sortRange")) { 6840 if (_json.containsKey("sortRange")) {
6708 sortRange = new SortRangeRequest.fromJson(_json["sortRange"]); 6841 sortRange = new SortRangeRequest.fromJson(_json["sortRange"]);
6709 } 6842 }
6710 if (_json.containsKey("textToColumns")) { 6843 if (_json.containsKey("textToColumns")) {
6711 textToColumns = new TextToColumnsRequest.fromJson(_json["textToColumns"]); 6844 textToColumns = new TextToColumnsRequest.fromJson(_json["textToColumns"]);
6712 } 6845 }
6713 if (_json.containsKey("unmergeCells")) { 6846 if (_json.containsKey("unmergeCells")) {
6714 unmergeCells = new UnmergeCellsRequest.fromJson(_json["unmergeCells"]); 6847 unmergeCells = new UnmergeCellsRequest.fromJson(_json["unmergeCells"]);
6715 } 6848 }
6716 if (_json.containsKey("updateBanding")) { 6849 if (_json.containsKey("updateBanding")) {
6717 updateBanding = new UpdateBandingRequest.fromJson(_json["updateBanding"]); 6850 updateBanding = new UpdateBandingRequest.fromJson(_json["updateBanding"]);
6718 } 6851 }
6719 if (_json.containsKey("updateBorders")) { 6852 if (_json.containsKey("updateBorders")) {
6720 updateBorders = new UpdateBordersRequest.fromJson(_json["updateBorders"]); 6853 updateBorders = new UpdateBordersRequest.fromJson(_json["updateBorders"]);
6721 } 6854 }
6722 if (_json.containsKey("updateCells")) { 6855 if (_json.containsKey("updateCells")) {
6723 updateCells = new UpdateCellsRequest.fromJson(_json["updateCells"]); 6856 updateCells = new UpdateCellsRequest.fromJson(_json["updateCells"]);
6724 } 6857 }
6725 if (_json.containsKey("updateChartSpec")) { 6858 if (_json.containsKey("updateChartSpec")) {
6726 updateChartSpec = new UpdateChartSpecRequest.fromJson(_json["updateChartSp ec"]); 6859 updateChartSpec =
6860 new UpdateChartSpecRequest.fromJson(_json["updateChartSpec"]);
6727 } 6861 }
6728 if (_json.containsKey("updateConditionalFormatRule")) { 6862 if (_json.containsKey("updateConditionalFormatRule")) {
6729 updateConditionalFormatRule = new UpdateConditionalFormatRuleRequest.fromJ son(_json["updateConditionalFormatRule"]); 6863 updateConditionalFormatRule =
6864 new UpdateConditionalFormatRuleRequest.fromJson(
6865 _json["updateConditionalFormatRule"]);
6730 } 6866 }
6731 if (_json.containsKey("updateDimensionProperties")) { 6867 if (_json.containsKey("updateDimensionProperties")) {
6732 updateDimensionProperties = new UpdateDimensionPropertiesRequest.fromJson( _json["updateDimensionProperties"]); 6868 updateDimensionProperties = new UpdateDimensionPropertiesRequest.fromJson(
6869 _json["updateDimensionProperties"]);
6733 } 6870 }
6734 if (_json.containsKey("updateEmbeddedObjectPosition")) { 6871 if (_json.containsKey("updateEmbeddedObjectPosition")) {
6735 updateEmbeddedObjectPosition = new UpdateEmbeddedObjectPositionRequest.fro mJson(_json["updateEmbeddedObjectPosition"]); 6872 updateEmbeddedObjectPosition =
6873 new UpdateEmbeddedObjectPositionRequest.fromJson(
6874 _json["updateEmbeddedObjectPosition"]);
6736 } 6875 }
6737 if (_json.containsKey("updateFilterView")) { 6876 if (_json.containsKey("updateFilterView")) {
6738 updateFilterView = new UpdateFilterViewRequest.fromJson(_json["updateFilte rView"]); 6877 updateFilterView =
6878 new UpdateFilterViewRequest.fromJson(_json["updateFilterView"]);
6739 } 6879 }
6740 if (_json.containsKey("updateNamedRange")) { 6880 if (_json.containsKey("updateNamedRange")) {
6741 updateNamedRange = new UpdateNamedRangeRequest.fromJson(_json["updateNamed Range"]); 6881 updateNamedRange =
6882 new UpdateNamedRangeRequest.fromJson(_json["updateNamedRange"]);
6742 } 6883 }
6743 if (_json.containsKey("updateProtectedRange")) { 6884 if (_json.containsKey("updateProtectedRange")) {
6744 updateProtectedRange = new UpdateProtectedRangeRequest.fromJson(_json["upd ateProtectedRange"]); 6885 updateProtectedRange = new UpdateProtectedRangeRequest.fromJson(
6886 _json["updateProtectedRange"]);
6745 } 6887 }
6746 if (_json.containsKey("updateSheetProperties")) { 6888 if (_json.containsKey("updateSheetProperties")) {
6747 updateSheetProperties = new UpdateSheetPropertiesRequest.fromJson(_json["u pdateSheetProperties"]); 6889 updateSheetProperties = new UpdateSheetPropertiesRequest.fromJson(
6890 _json["updateSheetProperties"]);
6748 } 6891 }
6749 if (_json.containsKey("updateSpreadsheetProperties")) { 6892 if (_json.containsKey("updateSpreadsheetProperties")) {
6750 updateSpreadsheetProperties = new UpdateSpreadsheetPropertiesRequest.fromJ son(_json["updateSpreadsheetProperties"]); 6893 updateSpreadsheetProperties =
6894 new UpdateSpreadsheetPropertiesRequest.fromJson(
6895 _json["updateSpreadsheetProperties"]);
6751 } 6896 }
6752 } 6897 }
6753 6898
6754 core.Map<core.String, core.Object> toJson() { 6899 core.Map<core.String, core.Object> toJson() {
6755 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6900 final core.Map<core.String, core.Object> _json =
6901 new core.Map<core.String, core.Object>();
6756 if (addBanding != null) { 6902 if (addBanding != null) {
6757 _json["addBanding"] = (addBanding).toJson(); 6903 _json["addBanding"] = (addBanding).toJson();
6758 } 6904 }
6759 if (addChart != null) { 6905 if (addChart != null) {
6760 _json["addChart"] = (addChart).toJson(); 6906 _json["addChart"] = (addChart).toJson();
6761 } 6907 }
6762 if (addConditionalFormatRule != null) { 6908 if (addConditionalFormatRule != null) {
6763 _json["addConditionalFormatRule"] = (addConditionalFormatRule).toJson(); 6909 _json["addConditionalFormatRule"] = (addConditionalFormatRule).toJson();
6764 } 6910 }
6765 if (addFilterView != null) { 6911 if (addFilterView != null) {
(...skipping 26 matching lines...) Expand all
6792 if (copyPaste != null) { 6938 if (copyPaste != null) {
6793 _json["copyPaste"] = (copyPaste).toJson(); 6939 _json["copyPaste"] = (copyPaste).toJson();
6794 } 6940 }
6795 if (cutPaste != null) { 6941 if (cutPaste != null) {
6796 _json["cutPaste"] = (cutPaste).toJson(); 6942 _json["cutPaste"] = (cutPaste).toJson();
6797 } 6943 }
6798 if (deleteBanding != null) { 6944 if (deleteBanding != null) {
6799 _json["deleteBanding"] = (deleteBanding).toJson(); 6945 _json["deleteBanding"] = (deleteBanding).toJson();
6800 } 6946 }
6801 if (deleteConditionalFormatRule != null) { 6947 if (deleteConditionalFormatRule != null) {
6802 _json["deleteConditionalFormatRule"] = (deleteConditionalFormatRule).toJso n(); 6948 _json["deleteConditionalFormatRule"] =
6949 (deleteConditionalFormatRule).toJson();
6803 } 6950 }
6804 if (deleteDimension != null) { 6951 if (deleteDimension != null) {
6805 _json["deleteDimension"] = (deleteDimension).toJson(); 6952 _json["deleteDimension"] = (deleteDimension).toJson();
6806 } 6953 }
6807 if (deleteEmbeddedObject != null) { 6954 if (deleteEmbeddedObject != null) {
6808 _json["deleteEmbeddedObject"] = (deleteEmbeddedObject).toJson(); 6955 _json["deleteEmbeddedObject"] = (deleteEmbeddedObject).toJson();
6809 } 6956 }
6810 if (deleteFilterView != null) { 6957 if (deleteFilterView != null) {
6811 _json["deleteFilterView"] = (deleteFilterView).toJson(); 6958 _json["deleteFilterView"] = (deleteFilterView).toJson();
6812 } 6959 }
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
6873 if (updateBorders != null) { 7020 if (updateBorders != null) {
6874 _json["updateBorders"] = (updateBorders).toJson(); 7021 _json["updateBorders"] = (updateBorders).toJson();
6875 } 7022 }
6876 if (updateCells != null) { 7023 if (updateCells != null) {
6877 _json["updateCells"] = (updateCells).toJson(); 7024 _json["updateCells"] = (updateCells).toJson();
6878 } 7025 }
6879 if (updateChartSpec != null) { 7026 if (updateChartSpec != null) {
6880 _json["updateChartSpec"] = (updateChartSpec).toJson(); 7027 _json["updateChartSpec"] = (updateChartSpec).toJson();
6881 } 7028 }
6882 if (updateConditionalFormatRule != null) { 7029 if (updateConditionalFormatRule != null) {
6883 _json["updateConditionalFormatRule"] = (updateConditionalFormatRule).toJso n(); 7030 _json["updateConditionalFormatRule"] =
7031 (updateConditionalFormatRule).toJson();
6884 } 7032 }
6885 if (updateDimensionProperties != null) { 7033 if (updateDimensionProperties != null) {
6886 _json["updateDimensionProperties"] = (updateDimensionProperties).toJson(); 7034 _json["updateDimensionProperties"] = (updateDimensionProperties).toJson();
6887 } 7035 }
6888 if (updateEmbeddedObjectPosition != null) { 7036 if (updateEmbeddedObjectPosition != null) {
6889 _json["updateEmbeddedObjectPosition"] = (updateEmbeddedObjectPosition).toJ son(); 7037 _json["updateEmbeddedObjectPosition"] =
7038 (updateEmbeddedObjectPosition).toJson();
6890 } 7039 }
6891 if (updateFilterView != null) { 7040 if (updateFilterView != null) {
6892 _json["updateFilterView"] = (updateFilterView).toJson(); 7041 _json["updateFilterView"] = (updateFilterView).toJson();
6893 } 7042 }
6894 if (updateNamedRange != null) { 7043 if (updateNamedRange != null) {
6895 _json["updateNamedRange"] = (updateNamedRange).toJson(); 7044 _json["updateNamedRange"] = (updateNamedRange).toJson();
6896 } 7045 }
6897 if (updateProtectedRange != null) { 7046 if (updateProtectedRange != null) {
6898 _json["updateProtectedRange"] = (updateProtectedRange).toJson(); 7047 _json["updateProtectedRange"] = (updateProtectedRange).toJson();
6899 } 7048 }
6900 if (updateSheetProperties != null) { 7049 if (updateSheetProperties != null) {
6901 _json["updateSheetProperties"] = (updateSheetProperties).toJson(); 7050 _json["updateSheetProperties"] = (updateSheetProperties).toJson();
6902 } 7051 }
6903 if (updateSpreadsheetProperties != null) { 7052 if (updateSpreadsheetProperties != null) {
6904 _json["updateSpreadsheetProperties"] = (updateSpreadsheetProperties).toJso n(); 7053 _json["updateSpreadsheetProperties"] =
7054 (updateSpreadsheetProperties).toJson();
6905 } 7055 }
6906 return _json; 7056 return _json;
6907 } 7057 }
6908 } 7058 }
6909 7059
6910 /** A single response from an update. */ 7060 /// A single response from an update.
6911 class Response { 7061 class Response {
6912 /** A reply from adding a banded range. */ 7062 /// A reply from adding a banded range.
6913 AddBandingResponse addBanding; 7063 AddBandingResponse addBanding;
6914 /** A reply from adding a chart. */ 7064
7065 /// A reply from adding a chart.
6915 AddChartResponse addChart; 7066 AddChartResponse addChart;
6916 /** A reply from adding a filter view. */ 7067
7068 /// A reply from adding a filter view.
6917 AddFilterViewResponse addFilterView; 7069 AddFilterViewResponse addFilterView;
6918 /** A reply from adding a named range. */ 7070
7071 /// A reply from adding a named range.
6919 AddNamedRangeResponse addNamedRange; 7072 AddNamedRangeResponse addNamedRange;
6920 /** A reply from adding a protected range. */ 7073
7074 /// A reply from adding a protected range.
6921 AddProtectedRangeResponse addProtectedRange; 7075 AddProtectedRangeResponse addProtectedRange;
6922 /** A reply from adding a sheet. */ 7076
7077 /// A reply from adding a sheet.
6923 AddSheetResponse addSheet; 7078 AddSheetResponse addSheet;
6924 /** A reply from deleting a conditional format rule. */ 7079
7080 /// A reply from deleting a conditional format rule.
6925 DeleteConditionalFormatRuleResponse deleteConditionalFormatRule; 7081 DeleteConditionalFormatRuleResponse deleteConditionalFormatRule;
6926 /** A reply from duplicating a filter view. */ 7082
7083 /// A reply from duplicating a filter view.
6927 DuplicateFilterViewResponse duplicateFilterView; 7084 DuplicateFilterViewResponse duplicateFilterView;
6928 /** A reply from duplicating a sheet. */ 7085
7086 /// A reply from duplicating a sheet.
6929 DuplicateSheetResponse duplicateSheet; 7087 DuplicateSheetResponse duplicateSheet;
6930 /** A reply from doing a find/replace. */ 7088
7089 /// A reply from doing a find/replace.
6931 FindReplaceResponse findReplace; 7090 FindReplaceResponse findReplace;
6932 /** A reply from updating a conditional format rule. */ 7091
7092 /// A reply from updating a conditional format rule.
6933 UpdateConditionalFormatRuleResponse updateConditionalFormatRule; 7093 UpdateConditionalFormatRuleResponse updateConditionalFormatRule;
6934 /** A reply from updating an embedded object's position. */ 7094
7095 /// A reply from updating an embedded object's position.
6935 UpdateEmbeddedObjectPositionResponse updateEmbeddedObjectPosition; 7096 UpdateEmbeddedObjectPositionResponse updateEmbeddedObjectPosition;
6936 7097
6937 Response(); 7098 Response();
6938 7099
6939 Response.fromJson(core.Map _json) { 7100 Response.fromJson(core.Map _json) {
6940 if (_json.containsKey("addBanding")) { 7101 if (_json.containsKey("addBanding")) {
6941 addBanding = new AddBandingResponse.fromJson(_json["addBanding"]); 7102 addBanding = new AddBandingResponse.fromJson(_json["addBanding"]);
6942 } 7103 }
6943 if (_json.containsKey("addChart")) { 7104 if (_json.containsKey("addChart")) {
6944 addChart = new AddChartResponse.fromJson(_json["addChart"]); 7105 addChart = new AddChartResponse.fromJson(_json["addChart"]);
6945 } 7106 }
6946 if (_json.containsKey("addFilterView")) { 7107 if (_json.containsKey("addFilterView")) {
6947 addFilterView = new AddFilterViewResponse.fromJson(_json["addFilterView"]) ; 7108 addFilterView =
7109 new AddFilterViewResponse.fromJson(_json["addFilterView"]);
6948 } 7110 }
6949 if (_json.containsKey("addNamedRange")) { 7111 if (_json.containsKey("addNamedRange")) {
6950 addNamedRange = new AddNamedRangeResponse.fromJson(_json["addNamedRange"]) ; 7112 addNamedRange =
7113 new AddNamedRangeResponse.fromJson(_json["addNamedRange"]);
6951 } 7114 }
6952 if (_json.containsKey("addProtectedRange")) { 7115 if (_json.containsKey("addProtectedRange")) {
6953 addProtectedRange = new AddProtectedRangeResponse.fromJson(_json["addProte ctedRange"]); 7116 addProtectedRange =
7117 new AddProtectedRangeResponse.fromJson(_json["addProtectedRange"]);
6954 } 7118 }
6955 if (_json.containsKey("addSheet")) { 7119 if (_json.containsKey("addSheet")) {
6956 addSheet = new AddSheetResponse.fromJson(_json["addSheet"]); 7120 addSheet = new AddSheetResponse.fromJson(_json["addSheet"]);
6957 } 7121 }
6958 if (_json.containsKey("deleteConditionalFormatRule")) { 7122 if (_json.containsKey("deleteConditionalFormatRule")) {
6959 deleteConditionalFormatRule = new DeleteConditionalFormatRuleResponse.from Json(_json["deleteConditionalFormatRule"]); 7123 deleteConditionalFormatRule =
7124 new DeleteConditionalFormatRuleResponse.fromJson(
7125 _json["deleteConditionalFormatRule"]);
6960 } 7126 }
6961 if (_json.containsKey("duplicateFilterView")) { 7127 if (_json.containsKey("duplicateFilterView")) {
6962 duplicateFilterView = new DuplicateFilterViewResponse.fromJson(_json["dupl icateFilterView"]); 7128 duplicateFilterView = new DuplicateFilterViewResponse.fromJson(
7129 _json["duplicateFilterView"]);
6963 } 7130 }
6964 if (_json.containsKey("duplicateSheet")) { 7131 if (_json.containsKey("duplicateSheet")) {
6965 duplicateSheet = new DuplicateSheetResponse.fromJson(_json["duplicateSheet "]); 7132 duplicateSheet =
7133 new DuplicateSheetResponse.fromJson(_json["duplicateSheet"]);
6966 } 7134 }
6967 if (_json.containsKey("findReplace")) { 7135 if (_json.containsKey("findReplace")) {
6968 findReplace = new FindReplaceResponse.fromJson(_json["findReplace"]); 7136 findReplace = new FindReplaceResponse.fromJson(_json["findReplace"]);
6969 } 7137 }
6970 if (_json.containsKey("updateConditionalFormatRule")) { 7138 if (_json.containsKey("updateConditionalFormatRule")) {
6971 updateConditionalFormatRule = new UpdateConditionalFormatRuleResponse.from Json(_json["updateConditionalFormatRule"]); 7139 updateConditionalFormatRule =
7140 new UpdateConditionalFormatRuleResponse.fromJson(
7141 _json["updateConditionalFormatRule"]);
6972 } 7142 }
6973 if (_json.containsKey("updateEmbeddedObjectPosition")) { 7143 if (_json.containsKey("updateEmbeddedObjectPosition")) {
6974 updateEmbeddedObjectPosition = new UpdateEmbeddedObjectPositionResponse.fr omJson(_json["updateEmbeddedObjectPosition"]); 7144 updateEmbeddedObjectPosition =
7145 new UpdateEmbeddedObjectPositionResponse.fromJson(
7146 _json["updateEmbeddedObjectPosition"]);
6975 } 7147 }
6976 } 7148 }
6977 7149
6978 core.Map<core.String, core.Object> toJson() { 7150 core.Map<core.String, core.Object> toJson() {
6979 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7151 final core.Map<core.String, core.Object> _json =
7152 new core.Map<core.String, core.Object>();
6980 if (addBanding != null) { 7153 if (addBanding != null) {
6981 _json["addBanding"] = (addBanding).toJson(); 7154 _json["addBanding"] = (addBanding).toJson();
6982 } 7155 }
6983 if (addChart != null) { 7156 if (addChart != null) {
6984 _json["addChart"] = (addChart).toJson(); 7157 _json["addChart"] = (addChart).toJson();
6985 } 7158 }
6986 if (addFilterView != null) { 7159 if (addFilterView != null) {
6987 _json["addFilterView"] = (addFilterView).toJson(); 7160 _json["addFilterView"] = (addFilterView).toJson();
6988 } 7161 }
6989 if (addNamedRange != null) { 7162 if (addNamedRange != null) {
6990 _json["addNamedRange"] = (addNamedRange).toJson(); 7163 _json["addNamedRange"] = (addNamedRange).toJson();
6991 } 7164 }
6992 if (addProtectedRange != null) { 7165 if (addProtectedRange != null) {
6993 _json["addProtectedRange"] = (addProtectedRange).toJson(); 7166 _json["addProtectedRange"] = (addProtectedRange).toJson();
6994 } 7167 }
6995 if (addSheet != null) { 7168 if (addSheet != null) {
6996 _json["addSheet"] = (addSheet).toJson(); 7169 _json["addSheet"] = (addSheet).toJson();
6997 } 7170 }
6998 if (deleteConditionalFormatRule != null) { 7171 if (deleteConditionalFormatRule != null) {
6999 _json["deleteConditionalFormatRule"] = (deleteConditionalFormatRule).toJso n(); 7172 _json["deleteConditionalFormatRule"] =
7173 (deleteConditionalFormatRule).toJson();
7000 } 7174 }
7001 if (duplicateFilterView != null) { 7175 if (duplicateFilterView != null) {
7002 _json["duplicateFilterView"] = (duplicateFilterView).toJson(); 7176 _json["duplicateFilterView"] = (duplicateFilterView).toJson();
7003 } 7177 }
7004 if (duplicateSheet != null) { 7178 if (duplicateSheet != null) {
7005 _json["duplicateSheet"] = (duplicateSheet).toJson(); 7179 _json["duplicateSheet"] = (duplicateSheet).toJson();
7006 } 7180 }
7007 if (findReplace != null) { 7181 if (findReplace != null) {
7008 _json["findReplace"] = (findReplace).toJson(); 7182 _json["findReplace"] = (findReplace).toJson();
7009 } 7183 }
7010 if (updateConditionalFormatRule != null) { 7184 if (updateConditionalFormatRule != null) {
7011 _json["updateConditionalFormatRule"] = (updateConditionalFormatRule).toJso n(); 7185 _json["updateConditionalFormatRule"] =
7186 (updateConditionalFormatRule).toJson();
7012 } 7187 }
7013 if (updateEmbeddedObjectPosition != null) { 7188 if (updateEmbeddedObjectPosition != null) {
7014 _json["updateEmbeddedObjectPosition"] = (updateEmbeddedObjectPosition).toJ son(); 7189 _json["updateEmbeddedObjectPosition"] =
7190 (updateEmbeddedObjectPosition).toJson();
7015 } 7191 }
7016 return _json; 7192 return _json;
7017 } 7193 }
7018 } 7194 }
7019 7195
7020 /** Data about each cell in a row. */ 7196 /// Data about each cell in a row.
7021 class RowData { 7197 class RowData {
7022 /** The values in the row, one per column. */ 7198 /// The values in the row, one per column.
7023 core.List<CellData> values; 7199 core.List<CellData> values;
7024 7200
7025 RowData(); 7201 RowData();
7026 7202
7027 RowData.fromJson(core.Map _json) { 7203 RowData.fromJson(core.Map _json) {
7028 if (_json.containsKey("values")) { 7204 if (_json.containsKey("values")) {
7029 values = _json["values"].map((value) => new CellData.fromJson(value)).toLi st(); 7205 values =
7206 _json["values"].map((value) => new CellData.fromJson(value)).toList();
7030 } 7207 }
7031 } 7208 }
7032 7209
7033 core.Map<core.String, core.Object> toJson() { 7210 core.Map<core.String, core.Object> toJson() {
7034 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7211 final core.Map<core.String, core.Object> _json =
7212 new core.Map<core.String, core.Object>();
7035 if (values != null) { 7213 if (values != null) {
7036 _json["values"] = values.map((value) => (value).toJson()).toList(); 7214 _json["values"] = values.map((value) => (value).toJson()).toList();
7037 } 7215 }
7038 return _json; 7216 return _json;
7039 } 7217 }
7040 } 7218 }
7041 7219
7042 /** Sets the basic filter associated with a sheet. */ 7220 /// Sets the basic filter associated with a sheet.
7043 class SetBasicFilterRequest { 7221 class SetBasicFilterRequest {
7044 /** The filter to set. */ 7222 /// The filter to set.
7045 BasicFilter filter; 7223 BasicFilter filter;
7046 7224
7047 SetBasicFilterRequest(); 7225 SetBasicFilterRequest();
7048 7226
7049 SetBasicFilterRequest.fromJson(core.Map _json) { 7227 SetBasicFilterRequest.fromJson(core.Map _json) {
7050 if (_json.containsKey("filter")) { 7228 if (_json.containsKey("filter")) {
7051 filter = new BasicFilter.fromJson(_json["filter"]); 7229 filter = new BasicFilter.fromJson(_json["filter"]);
7052 } 7230 }
7053 } 7231 }
7054 7232
7055 core.Map<core.String, core.Object> toJson() { 7233 core.Map<core.String, core.Object> toJson() {
7056 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7234 final core.Map<core.String, core.Object> _json =
7235 new core.Map<core.String, core.Object>();
7057 if (filter != null) { 7236 if (filter != null) {
7058 _json["filter"] = (filter).toJson(); 7237 _json["filter"] = (filter).toJson();
7059 } 7238 }
7060 return _json; 7239 return _json;
7061 } 7240 }
7062 } 7241 }
7063 7242
7064 /** 7243 /// Sets a data validation rule to every cell in the range.
7065 * Sets a data validation rule to every cell in the range. 7244 /// To clear validation in a range, call this with no rule specified.
7066 * To clear validation in a range, call this with no rule specified.
7067 */
7068 class SetDataValidationRequest { 7245 class SetDataValidationRequest {
7069 /** The range the data validation rule should apply to. */ 7246 /// The range the data validation rule should apply to.
7070 GridRange range; 7247 GridRange range;
7071 /** 7248
7072 * The data validation rule to set on each cell in the range, 7249 /// The data validation rule to set on each cell in the range,
7073 * or empty to clear the data validation in the range. 7250 /// or empty to clear the data validation in the range.
7074 */
7075 DataValidationRule rule; 7251 DataValidationRule rule;
7076 7252
7077 SetDataValidationRequest(); 7253 SetDataValidationRequest();
7078 7254
7079 SetDataValidationRequest.fromJson(core.Map _json) { 7255 SetDataValidationRequest.fromJson(core.Map _json) {
7080 if (_json.containsKey("range")) { 7256 if (_json.containsKey("range")) {
7081 range = new GridRange.fromJson(_json["range"]); 7257 range = new GridRange.fromJson(_json["range"]);
7082 } 7258 }
7083 if (_json.containsKey("rule")) { 7259 if (_json.containsKey("rule")) {
7084 rule = new DataValidationRule.fromJson(_json["rule"]); 7260 rule = new DataValidationRule.fromJson(_json["rule"]);
7085 } 7261 }
7086 } 7262 }
7087 7263
7088 core.Map<core.String, core.Object> toJson() { 7264 core.Map<core.String, core.Object> toJson() {
7089 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7265 final core.Map<core.String, core.Object> _json =
7266 new core.Map<core.String, core.Object>();
7090 if (range != null) { 7267 if (range != null) {
7091 _json["range"] = (range).toJson(); 7268 _json["range"] = (range).toJson();
7092 } 7269 }
7093 if (rule != null) { 7270 if (rule != null) {
7094 _json["rule"] = (rule).toJson(); 7271 _json["rule"] = (rule).toJson();
7095 } 7272 }
7096 return _json; 7273 return _json;
7097 } 7274 }
7098 } 7275 }
7099 7276
7100 /** A sheet in a spreadsheet. */ 7277 /// A sheet in a spreadsheet.
7101 class Sheet { 7278 class Sheet {
7102 /** The banded (i.e. alternating colors) ranges on this sheet. */ 7279 /// The banded (i.e. alternating colors) ranges on this sheet.
7103 core.List<BandedRange> bandedRanges; 7280 core.List<BandedRange> bandedRanges;
7104 /** The filter on this sheet, if any. */ 7281
7282 /// The filter on this sheet, if any.
7105 BasicFilter basicFilter; 7283 BasicFilter basicFilter;
7106 /** The specifications of every chart on this sheet. */ 7284
7285 /// The specifications of every chart on this sheet.
7107 core.List<EmbeddedChart> charts; 7286 core.List<EmbeddedChart> charts;
7108 /** The conditional format rules in this sheet. */ 7287
7288 /// The conditional format rules in this sheet.
7109 core.List<ConditionalFormatRule> conditionalFormats; 7289 core.List<ConditionalFormatRule> conditionalFormats;
7110 /** 7290
7111 * Data in the grid, if this is a grid sheet. 7291 /// Data in the grid, if this is a grid sheet.
7112 * The number of GridData objects returned is dependent on the number of 7292 /// The number of GridData objects returned is dependent on the number of
7113 * ranges requested on this sheet. For example, if this is representing 7293 /// ranges requested on this sheet. For example, if this is representing
7114 * `Sheet1`, and the spreadsheet was requested with ranges 7294 /// `Sheet1`, and the spreadsheet was requested with ranges
7115 * `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a 7295 /// `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a
7116 * startRow/startColumn of `0`, 7296 /// startRow/startColumn of `0`,
7117 * while the second one will have `startRow 14` (zero-based row 15), 7297 /// while the second one will have `startRow 14` (zero-based row 15),
7118 * and `startColumn 3` (zero-based column D). 7298 /// and `startColumn 3` (zero-based column D).
7119 */
7120 core.List<GridData> data; 7299 core.List<GridData> data;
7121 /** The filter views in this sheet. */ 7300
7301 /// The filter views in this sheet.
7122 core.List<FilterView> filterViews; 7302 core.List<FilterView> filterViews;
7123 /** The ranges that are merged together. */ 7303
7304 /// The ranges that are merged together.
7124 core.List<GridRange> merges; 7305 core.List<GridRange> merges;
7125 /** The properties of the sheet. */ 7306
7307 /// The properties of the sheet.
7126 SheetProperties properties; 7308 SheetProperties properties;
7127 /** The protected ranges in this sheet. */ 7309
7310 /// The protected ranges in this sheet.
7128 core.List<ProtectedRange> protectedRanges; 7311 core.List<ProtectedRange> protectedRanges;
7129 7312
7130 Sheet(); 7313 Sheet();
7131 7314
7132 Sheet.fromJson(core.Map _json) { 7315 Sheet.fromJson(core.Map _json) {
7133 if (_json.containsKey("bandedRanges")) { 7316 if (_json.containsKey("bandedRanges")) {
7134 bandedRanges = _json["bandedRanges"].map((value) => new BandedRange.fromJs on(value)).toList(); 7317 bandedRanges = _json["bandedRanges"]
7318 .map((value) => new BandedRange.fromJson(value))
7319 .toList();
7135 } 7320 }
7136 if (_json.containsKey("basicFilter")) { 7321 if (_json.containsKey("basicFilter")) {
7137 basicFilter = new BasicFilter.fromJson(_json["basicFilter"]); 7322 basicFilter = new BasicFilter.fromJson(_json["basicFilter"]);
7138 } 7323 }
7139 if (_json.containsKey("charts")) { 7324 if (_json.containsKey("charts")) {
7140 charts = _json["charts"].map((value) => new EmbeddedChart.fromJson(value)) .toList(); 7325 charts = _json["charts"]
7326 .map((value) => new EmbeddedChart.fromJson(value))
7327 .toList();
7141 } 7328 }
7142 if (_json.containsKey("conditionalFormats")) { 7329 if (_json.containsKey("conditionalFormats")) {
7143 conditionalFormats = _json["conditionalFormats"].map((value) => new Condit ionalFormatRule.fromJson(value)).toList(); 7330 conditionalFormats = _json["conditionalFormats"]
7331 .map((value) => new ConditionalFormatRule.fromJson(value))
7332 .toList();
7144 } 7333 }
7145 if (_json.containsKey("data")) { 7334 if (_json.containsKey("data")) {
7146 data = _json["data"].map((value) => new GridData.fromJson(value)).toList() ; 7335 data =
7336 _json["data"].map((value) => new GridData.fromJson(value)).toList();
7147 } 7337 }
7148 if (_json.containsKey("filterViews")) { 7338 if (_json.containsKey("filterViews")) {
7149 filterViews = _json["filterViews"].map((value) => new FilterView.fromJson( value)).toList(); 7339 filterViews = _json["filterViews"]
7340 .map((value) => new FilterView.fromJson(value))
7341 .toList();
7150 } 7342 }
7151 if (_json.containsKey("merges")) { 7343 if (_json.containsKey("merges")) {
7152 merges = _json["merges"].map((value) => new GridRange.fromJson(value)).toL ist(); 7344 merges = _json["merges"]
7345 .map((value) => new GridRange.fromJson(value))
7346 .toList();
7153 } 7347 }
7154 if (_json.containsKey("properties")) { 7348 if (_json.containsKey("properties")) {
7155 properties = new SheetProperties.fromJson(_json["properties"]); 7349 properties = new SheetProperties.fromJson(_json["properties"]);
7156 } 7350 }
7157 if (_json.containsKey("protectedRanges")) { 7351 if (_json.containsKey("protectedRanges")) {
7158 protectedRanges = _json["protectedRanges"].map((value) => new ProtectedRan ge.fromJson(value)).toList(); 7352 protectedRanges = _json["protectedRanges"]
7353 .map((value) => new ProtectedRange.fromJson(value))
7354 .toList();
7159 } 7355 }
7160 } 7356 }
7161 7357
7162 core.Map<core.String, core.Object> toJson() { 7358 core.Map<core.String, core.Object> toJson() {
7163 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7359 final core.Map<core.String, core.Object> _json =
7360 new core.Map<core.String, core.Object>();
7164 if (bandedRanges != null) { 7361 if (bandedRanges != null) {
7165 _json["bandedRanges"] = bandedRanges.map((value) => (value).toJson()).toLi st(); 7362 _json["bandedRanges"] =
7363 bandedRanges.map((value) => (value).toJson()).toList();
7166 } 7364 }
7167 if (basicFilter != null) { 7365 if (basicFilter != null) {
7168 _json["basicFilter"] = (basicFilter).toJson(); 7366 _json["basicFilter"] = (basicFilter).toJson();
7169 } 7367 }
7170 if (charts != null) { 7368 if (charts != null) {
7171 _json["charts"] = charts.map((value) => (value).toJson()).toList(); 7369 _json["charts"] = charts.map((value) => (value).toJson()).toList();
7172 } 7370 }
7173 if (conditionalFormats != null) { 7371 if (conditionalFormats != null) {
7174 _json["conditionalFormats"] = conditionalFormats.map((value) => (value).to Json()).toList(); 7372 _json["conditionalFormats"] =
7373 conditionalFormats.map((value) => (value).toJson()).toList();
7175 } 7374 }
7176 if (data != null) { 7375 if (data != null) {
7177 _json["data"] = data.map((value) => (value).toJson()).toList(); 7376 _json["data"] = data.map((value) => (value).toJson()).toList();
7178 } 7377 }
7179 if (filterViews != null) { 7378 if (filterViews != null) {
7180 _json["filterViews"] = filterViews.map((value) => (value).toJson()).toList (); 7379 _json["filterViews"] =
7380 filterViews.map((value) => (value).toJson()).toList();
7181 } 7381 }
7182 if (merges != null) { 7382 if (merges != null) {
7183 _json["merges"] = merges.map((value) => (value).toJson()).toList(); 7383 _json["merges"] = merges.map((value) => (value).toJson()).toList();
7184 } 7384 }
7185 if (properties != null) { 7385 if (properties != null) {
7186 _json["properties"] = (properties).toJson(); 7386 _json["properties"] = (properties).toJson();
7187 } 7387 }
7188 if (protectedRanges != null) { 7388 if (protectedRanges != null) {
7189 _json["protectedRanges"] = protectedRanges.map((value) => (value).toJson() ).toList(); 7389 _json["protectedRanges"] =
7390 protectedRanges.map((value) => (value).toJson()).toList();
7190 } 7391 }
7191 return _json; 7392 return _json;
7192 } 7393 }
7193 } 7394 }
7194 7395
7195 /** Properties of a sheet. */ 7396 /// Properties of a sheet.
7196 class SheetProperties { 7397 class SheetProperties {
7197 /** 7398 /// Additional properties of the sheet if this sheet is a grid.
7198 * Additional properties of the sheet if this sheet is a grid. 7399 /// (If the sheet is an object sheet, containing a chart or image, then
7199 * (If the sheet is an object sheet, containing a chart or image, then 7400 /// this field will be absent.)
7200 * this field will be absent.) 7401 /// When writing it is an error to set any grid properties on non-grid
7201 * When writing it is an error to set any grid properties on non-grid sheets. 7402 /// sheets.
7202 */
7203 GridProperties gridProperties; 7403 GridProperties gridProperties;
7204 /** True if the sheet is hidden in the UI, false if it's visible. */ 7404
7405 /// True if the sheet is hidden in the UI, false if it's visible.
7205 core.bool hidden; 7406 core.bool hidden;
7206 /** 7407
7207 * The index of the sheet within the spreadsheet. 7408 /// The index of the sheet within the spreadsheet.
7208 * When adding or updating sheet properties, if this field 7409 /// When adding or updating sheet properties, if this field
7209 * is excluded then the sheet will be added or moved to the end 7410 /// is excluded then the sheet will be added or moved to the end
7210 * of the sheet list. When updating sheet indices or inserting 7411 /// of the sheet list. When updating sheet indices or inserting
7211 * sheets, movement is considered in "before the move" indexes. 7412 /// sheets, movement is considered in "before the move" indexes.
7212 * For example, if there were 3 sheets (S1, S2, S3) in order to 7413 /// For example, if there were 3 sheets (S1, S2, S3) in order to
7213 * move S1 ahead of S2 the index would have to be set to 2. A sheet 7414 /// move S1 ahead of S2 the index would have to be set to 2. A sheet
7214 * index update request will be ignored if the requested index is 7415 /// index update request will be ignored if the requested index is
7215 * identical to the sheets current index or if the requested new 7416 /// identical to the sheets current index or if the requested new
7216 * index is equal to the current sheet index + 1. 7417 /// index is equal to the current sheet index + 1.
7217 */
7218 core.int index; 7418 core.int index;
7219 /** True if the sheet is an RTL sheet instead of an LTR sheet. */ 7419
7420 /// True if the sheet is an RTL sheet instead of an LTR sheet.
7220 core.bool rightToLeft; 7421 core.bool rightToLeft;
7221 /** 7422
7222 * The ID of the sheet. Must be non-negative. 7423 /// The ID of the sheet. Must be non-negative.
7223 * This field cannot be changed once set. 7424 /// This field cannot be changed once set.
7224 */
7225 core.int sheetId; 7425 core.int sheetId;
7226 /** 7426
7227 * The type of sheet. Defaults to GRID. 7427 /// The type of sheet. Defaults to GRID.
7228 * This field cannot be changed once set. 7428 /// This field cannot be changed once set.
7229 * Possible string values are: 7429 /// Possible string values are:
7230 * - "SHEET_TYPE_UNSPECIFIED" : Default value, do not use. 7430 /// - "SHEET_TYPE_UNSPECIFIED" : Default value, do not use.
7231 * - "GRID" : The sheet is a grid. 7431 /// - "GRID" : The sheet is a grid.
7232 * - "OBJECT" : The sheet has no grid and instead has an object like a chart 7432 /// - "OBJECT" : The sheet has no grid and instead has an object like a chart
7233 * or image. 7433 /// or image.
7234 */
7235 core.String sheetType; 7434 core.String sheetType;
7236 /** The color of the tab in the UI. */ 7435
7436 /// The color of the tab in the UI.
7237 Color tabColor; 7437 Color tabColor;
7238 /** The name of the sheet. */ 7438
7439 /// The name of the sheet.
7239 core.String title; 7440 core.String title;
7240 7441
7241 SheetProperties(); 7442 SheetProperties();
7242 7443
7243 SheetProperties.fromJson(core.Map _json) { 7444 SheetProperties.fromJson(core.Map _json) {
7244 if (_json.containsKey("gridProperties")) { 7445 if (_json.containsKey("gridProperties")) {
7245 gridProperties = new GridProperties.fromJson(_json["gridProperties"]); 7446 gridProperties = new GridProperties.fromJson(_json["gridProperties"]);
7246 } 7447 }
7247 if (_json.containsKey("hidden")) { 7448 if (_json.containsKey("hidden")) {
7248 hidden = _json["hidden"]; 7449 hidden = _json["hidden"];
(...skipping 12 matching lines...) Expand all
7261 } 7462 }
7262 if (_json.containsKey("tabColor")) { 7463 if (_json.containsKey("tabColor")) {
7263 tabColor = new Color.fromJson(_json["tabColor"]); 7464 tabColor = new Color.fromJson(_json["tabColor"]);
7264 } 7465 }
7265 if (_json.containsKey("title")) { 7466 if (_json.containsKey("title")) {
7266 title = _json["title"]; 7467 title = _json["title"];
7267 } 7468 }
7268 } 7469 }
7269 7470
7270 core.Map<core.String, core.Object> toJson() { 7471 core.Map<core.String, core.Object> toJson() {
7271 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7472 final core.Map<core.String, core.Object> _json =
7473 new core.Map<core.String, core.Object>();
7272 if (gridProperties != null) { 7474 if (gridProperties != null) {
7273 _json["gridProperties"] = (gridProperties).toJson(); 7475 _json["gridProperties"] = (gridProperties).toJson();
7274 } 7476 }
7275 if (hidden != null) { 7477 if (hidden != null) {
7276 _json["hidden"] = hidden; 7478 _json["hidden"] = hidden;
7277 } 7479 }
7278 if (index != null) { 7480 if (index != null) {
7279 _json["index"] = index; 7481 _json["index"] = index;
7280 } 7482 }
7281 if (rightToLeft != null) { 7483 if (rightToLeft != null) {
7282 _json["rightToLeft"] = rightToLeft; 7484 _json["rightToLeft"] = rightToLeft;
7283 } 7485 }
7284 if (sheetId != null) { 7486 if (sheetId != null) {
7285 _json["sheetId"] = sheetId; 7487 _json["sheetId"] = sheetId;
7286 } 7488 }
7287 if (sheetType != null) { 7489 if (sheetType != null) {
7288 _json["sheetType"] = sheetType; 7490 _json["sheetType"] = sheetType;
7289 } 7491 }
7290 if (tabColor != null) { 7492 if (tabColor != null) {
7291 _json["tabColor"] = (tabColor).toJson(); 7493 _json["tabColor"] = (tabColor).toJson();
7292 } 7494 }
7293 if (title != null) { 7495 if (title != null) {
7294 _json["title"] = title; 7496 _json["title"] = title;
7295 } 7497 }
7296 return _json; 7498 return _json;
7297 } 7499 }
7298 } 7500 }
7299 7501
7300 /** Sorts data in rows based on a sort order per column. */ 7502 /// Sorts data in rows based on a sort order per column.
7301 class SortRangeRequest { 7503 class SortRangeRequest {
7302 /** The range to sort. */ 7504 /// The range to sort.
7303 GridRange range; 7505 GridRange range;
7304 /** 7506
7305 * The sort order per column. Later specifications are used when values 7507 /// The sort order per column. Later specifications are used when values
7306 * are equal in the earlier specifications. 7508 /// are equal in the earlier specifications.
7307 */
7308 core.List<SortSpec> sortSpecs; 7509 core.List<SortSpec> sortSpecs;
7309 7510
7310 SortRangeRequest(); 7511 SortRangeRequest();
7311 7512
7312 SortRangeRequest.fromJson(core.Map _json) { 7513 SortRangeRequest.fromJson(core.Map _json) {
7313 if (_json.containsKey("range")) { 7514 if (_json.containsKey("range")) {
7314 range = new GridRange.fromJson(_json["range"]); 7515 range = new GridRange.fromJson(_json["range"]);
7315 } 7516 }
7316 if (_json.containsKey("sortSpecs")) { 7517 if (_json.containsKey("sortSpecs")) {
7317 sortSpecs = _json["sortSpecs"].map((value) => new SortSpec.fromJson(value) ).toList(); 7518 sortSpecs = _json["sortSpecs"]
7519 .map((value) => new SortSpec.fromJson(value))
7520 .toList();
7318 } 7521 }
7319 } 7522 }
7320 7523
7321 core.Map<core.String, core.Object> toJson() { 7524 core.Map<core.String, core.Object> toJson() {
7322 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7525 final core.Map<core.String, core.Object> _json =
7526 new core.Map<core.String, core.Object>();
7323 if (range != null) { 7527 if (range != null) {
7324 _json["range"] = (range).toJson(); 7528 _json["range"] = (range).toJson();
7325 } 7529 }
7326 if (sortSpecs != null) { 7530 if (sortSpecs != null) {
7327 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList(); 7531 _json["sortSpecs"] = sortSpecs.map((value) => (value).toJson()).toList();
7328 } 7532 }
7329 return _json; 7533 return _json;
7330 } 7534 }
7331 } 7535 }
7332 7536
7333 /** A sort order associated with a specific column or row. */ 7537 /// A sort order associated with a specific column or row.
7334 class SortSpec { 7538 class SortSpec {
7335 /** The dimension the sort should be applied to. */ 7539 /// The dimension the sort should be applied to.
7336 core.int dimensionIndex; 7540 core.int dimensionIndex;
7337 /** 7541
7338 * The order data should be sorted. 7542 /// The order data should be sorted.
7339 * Possible string values are: 7543 /// Possible string values are:
7340 * - "SORT_ORDER_UNSPECIFIED" : Default value, do not use this. 7544 /// - "SORT_ORDER_UNSPECIFIED" : Default value, do not use this.
7341 * - "ASCENDING" : Sort ascending. 7545 /// - "ASCENDING" : Sort ascending.
7342 * - "DESCENDING" : Sort descending. 7546 /// - "DESCENDING" : Sort descending.
7343 */
7344 core.String sortOrder; 7547 core.String sortOrder;
7345 7548
7346 SortSpec(); 7549 SortSpec();
7347 7550
7348 SortSpec.fromJson(core.Map _json) { 7551 SortSpec.fromJson(core.Map _json) {
7349 if (_json.containsKey("dimensionIndex")) { 7552 if (_json.containsKey("dimensionIndex")) {
7350 dimensionIndex = _json["dimensionIndex"]; 7553 dimensionIndex = _json["dimensionIndex"];
7351 } 7554 }
7352 if (_json.containsKey("sortOrder")) { 7555 if (_json.containsKey("sortOrder")) {
7353 sortOrder = _json["sortOrder"]; 7556 sortOrder = _json["sortOrder"];
7354 } 7557 }
7355 } 7558 }
7356 7559
7357 core.Map<core.String, core.Object> toJson() { 7560 core.Map<core.String, core.Object> toJson() {
7358 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7561 final core.Map<core.String, core.Object> _json =
7562 new core.Map<core.String, core.Object>();
7359 if (dimensionIndex != null) { 7563 if (dimensionIndex != null) {
7360 _json["dimensionIndex"] = dimensionIndex; 7564 _json["dimensionIndex"] = dimensionIndex;
7361 } 7565 }
7362 if (sortOrder != null) { 7566 if (sortOrder != null) {
7363 _json["sortOrder"] = sortOrder; 7567 _json["sortOrder"] = sortOrder;
7364 } 7568 }
7365 return _json; 7569 return _json;
7366 } 7570 }
7367 } 7571 }
7368 7572
7369 /** A combination of a source range and how to extend that source. */ 7573 /// A combination of a source range and how to extend that source.
7370 class SourceAndDestination { 7574 class SourceAndDestination {
7371 /** 7575 /// The dimension that data should be filled into.
7372 * The dimension that data should be filled into. 7576 /// Possible string values are:
7373 * Possible string values are: 7577 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
7374 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 7578 /// - "ROWS" : Operates on the rows of a sheet.
7375 * - "ROWS" : Operates on the rows of a sheet. 7579 /// - "COLUMNS" : Operates on the columns of a sheet.
7376 * - "COLUMNS" : Operates on the columns of a sheet.
7377 */
7378 core.String dimension; 7580 core.String dimension;
7379 /** 7581
7380 * The number of rows or columns that data should be filled into. 7582 /// The number of rows or columns that data should be filled into.
7381 * Positive numbers expand beyond the last row or last column 7583 /// Positive numbers expand beyond the last row or last column
7382 * of the source. Negative numbers expand before the first row 7584 /// of the source. Negative numbers expand before the first row
7383 * or first column of the source. 7585 /// or first column of the source.
7384 */
7385 core.int fillLength; 7586 core.int fillLength;
7386 /** The location of the data to use as the source of the autofill. */ 7587
7588 /// The location of the data to use as the source of the autofill.
7387 GridRange source; 7589 GridRange source;
7388 7590
7389 SourceAndDestination(); 7591 SourceAndDestination();
7390 7592
7391 SourceAndDestination.fromJson(core.Map _json) { 7593 SourceAndDestination.fromJson(core.Map _json) {
7392 if (_json.containsKey("dimension")) { 7594 if (_json.containsKey("dimension")) {
7393 dimension = _json["dimension"]; 7595 dimension = _json["dimension"];
7394 } 7596 }
7395 if (_json.containsKey("fillLength")) { 7597 if (_json.containsKey("fillLength")) {
7396 fillLength = _json["fillLength"]; 7598 fillLength = _json["fillLength"];
7397 } 7599 }
7398 if (_json.containsKey("source")) { 7600 if (_json.containsKey("source")) {
7399 source = new GridRange.fromJson(_json["source"]); 7601 source = new GridRange.fromJson(_json["source"]);
7400 } 7602 }
7401 } 7603 }
7402 7604
7403 core.Map<core.String, core.Object> toJson() { 7605 core.Map<core.String, core.Object> toJson() {
7404 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7606 final core.Map<core.String, core.Object> _json =
7607 new core.Map<core.String, core.Object>();
7405 if (dimension != null) { 7608 if (dimension != null) {
7406 _json["dimension"] = dimension; 7609 _json["dimension"] = dimension;
7407 } 7610 }
7408 if (fillLength != null) { 7611 if (fillLength != null) {
7409 _json["fillLength"] = fillLength; 7612 _json["fillLength"] = fillLength;
7410 } 7613 }
7411 if (source != null) { 7614 if (source != null) {
7412 _json["source"] = (source).toJson(); 7615 _json["source"] = (source).toJson();
7413 } 7616 }
7414 return _json; 7617 return _json;
7415 } 7618 }
7416 } 7619 }
7417 7620
7418 /** Resource that represents a spreadsheet. */ 7621 /// Resource that represents a spreadsheet.
7419 class Spreadsheet { 7622 class Spreadsheet {
7420 /** The named ranges defined in a spreadsheet. */ 7623 /// The named ranges defined in a spreadsheet.
7421 core.List<NamedRange> namedRanges; 7624 core.List<NamedRange> namedRanges;
7422 /** Overall properties of a spreadsheet. */ 7625
7626 /// Overall properties of a spreadsheet.
7423 SpreadsheetProperties properties; 7627 SpreadsheetProperties properties;
7424 /** The sheets that are part of a spreadsheet. */ 7628
7629 /// The sheets that are part of a spreadsheet.
7425 core.List<Sheet> sheets; 7630 core.List<Sheet> sheets;
7426 /** 7631
7427 * The ID of the spreadsheet. 7632 /// The ID of the spreadsheet.
7428 * This field is read-only. 7633 /// This field is read-only.
7429 */
7430 core.String spreadsheetId; 7634 core.String spreadsheetId;
7431 /** 7635
7432 * The url of the spreadsheet. 7636 /// The url of the spreadsheet.
7433 * This field is read-only. 7637 /// This field is read-only.
7434 */
7435 core.String spreadsheetUrl; 7638 core.String spreadsheetUrl;
7436 7639
7437 Spreadsheet(); 7640 Spreadsheet();
7438 7641
7439 Spreadsheet.fromJson(core.Map _json) { 7642 Spreadsheet.fromJson(core.Map _json) {
7440 if (_json.containsKey("namedRanges")) { 7643 if (_json.containsKey("namedRanges")) {
7441 namedRanges = _json["namedRanges"].map((value) => new NamedRange.fromJson( value)).toList(); 7644 namedRanges = _json["namedRanges"]
7645 .map((value) => new NamedRange.fromJson(value))
7646 .toList();
7442 } 7647 }
7443 if (_json.containsKey("properties")) { 7648 if (_json.containsKey("properties")) {
7444 properties = new SpreadsheetProperties.fromJson(_json["properties"]); 7649 properties = new SpreadsheetProperties.fromJson(_json["properties"]);
7445 } 7650 }
7446 if (_json.containsKey("sheets")) { 7651 if (_json.containsKey("sheets")) {
7447 sheets = _json["sheets"].map((value) => new Sheet.fromJson(value)).toList( ); 7652 sheets =
7653 _json["sheets"].map((value) => new Sheet.fromJson(value)).toList();
7448 } 7654 }
7449 if (_json.containsKey("spreadsheetId")) { 7655 if (_json.containsKey("spreadsheetId")) {
7450 spreadsheetId = _json["spreadsheetId"]; 7656 spreadsheetId = _json["spreadsheetId"];
7451 } 7657 }
7452 if (_json.containsKey("spreadsheetUrl")) { 7658 if (_json.containsKey("spreadsheetUrl")) {
7453 spreadsheetUrl = _json["spreadsheetUrl"]; 7659 spreadsheetUrl = _json["spreadsheetUrl"];
7454 } 7660 }
7455 } 7661 }
7456 7662
7457 core.Map<core.String, core.Object> toJson() { 7663 core.Map<core.String, core.Object> toJson() {
7458 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7664 final core.Map<core.String, core.Object> _json =
7665 new core.Map<core.String, core.Object>();
7459 if (namedRanges != null) { 7666 if (namedRanges != null) {
7460 _json["namedRanges"] = namedRanges.map((value) => (value).toJson()).toList (); 7667 _json["namedRanges"] =
7668 namedRanges.map((value) => (value).toJson()).toList();
7461 } 7669 }
7462 if (properties != null) { 7670 if (properties != null) {
7463 _json["properties"] = (properties).toJson(); 7671 _json["properties"] = (properties).toJson();
7464 } 7672 }
7465 if (sheets != null) { 7673 if (sheets != null) {
7466 _json["sheets"] = sheets.map((value) => (value).toJson()).toList(); 7674 _json["sheets"] = sheets.map((value) => (value).toJson()).toList();
7467 } 7675 }
7468 if (spreadsheetId != null) { 7676 if (spreadsheetId != null) {
7469 _json["spreadsheetId"] = spreadsheetId; 7677 _json["spreadsheetId"] = spreadsheetId;
7470 } 7678 }
7471 if (spreadsheetUrl != null) { 7679 if (spreadsheetUrl != null) {
7472 _json["spreadsheetUrl"] = spreadsheetUrl; 7680 _json["spreadsheetUrl"] = spreadsheetUrl;
7473 } 7681 }
7474 return _json; 7682 return _json;
7475 } 7683 }
7476 } 7684 }
7477 7685
7478 /** Properties of a spreadsheet. */ 7686 /// Properties of a spreadsheet.
7479 class SpreadsheetProperties { 7687 class SpreadsheetProperties {
7480 /** 7688 /// The amount of time to wait before volatile functions are recalculated.
7481 * The amount of time to wait before volatile functions are recalculated. 7689 /// Possible string values are:
7482 * Possible string values are: 7690 /// - "RECALCULATION_INTERVAL_UNSPECIFIED" : Default value. This value must
7483 * - "RECALCULATION_INTERVAL_UNSPECIFIED" : Default value. This value must not 7691 /// not be used.
7484 * be used. 7692 /// - "ON_CHANGE" : Volatile functions are updated on every change.
7485 * - "ON_CHANGE" : Volatile functions are updated on every change. 7693 /// - "MINUTE" : Volatile functions are updated on every change and every
7486 * - "MINUTE" : Volatile functions are updated on every change and every 7694 /// minute.
7487 * minute. 7695 /// - "HOUR" : Volatile functions are updated on every change and hourly.
7488 * - "HOUR" : Volatile functions are updated on every change and hourly.
7489 */
7490 core.String autoRecalc; 7696 core.String autoRecalc;
7491 /** 7697
7492 * The default format of all cells in the spreadsheet. 7698 /// The default format of all cells in the spreadsheet.
7493 * CellData.effectiveFormat will not be set if the 7699 /// CellData.effectiveFormat will not be set if the
7494 * cell's format is equal to this default format. 7700 /// cell's format is equal to this default format.
7495 * This field is read-only. 7701 /// This field is read-only.
7496 */
7497 CellFormat defaultFormat; 7702 CellFormat defaultFormat;
7498 /** 7703
7499 * Determines whether and how circular references are resolved with iterative 7704 /// Determines whether and how circular references are resolved with
7500 * calculation. Absence of this field means that circular references will 7705 /// iterative
7501 * result in calculation errors. 7706 /// calculation. Absence of this field means that circular references will
7502 */ 7707 /// result in calculation errors.
7503 IterativeCalculationSettings iterativeCalculationSettings; 7708 IterativeCalculationSettings iterativeCalculationSettings;
7504 /** 7709
7505 * The locale of the spreadsheet in one of the following formats: 7710 /// The locale of the spreadsheet in one of the following formats:
7506 * 7711 ///
7507 * * an ISO 639-1 language code such as `en` 7712 /// * an ISO 639-1 language code such as `en`
7508 * 7713 ///
7509 * * an ISO 639-2 language code such as `fil`, if no 639-1 code exists 7714 /// * an ISO 639-2 language code such as `fil`, if no 639-1 code exists
7510 * 7715 ///
7511 * * a combination of the ISO language code and country code, such as `en_US` 7716 /// * a combination of the ISO language code and country code, such as
7512 * 7717 /// `en_US`
7513 * Note: when updating this field, not all locales/languages are supported. 7718 ///
7514 */ 7719 /// Note: when updating this field, not all locales/languages are supported.
7515 core.String locale; 7720 core.String locale;
7516 /** 7721
7517 * The time zone of the spreadsheet, in CLDR format such as 7722 /// The time zone of the spreadsheet, in CLDR format such as
7518 * `America/New_York`. If the time zone isn't recognized, this may 7723 /// `America/New_York`. If the time zone isn't recognized, this may
7519 * be a custom time zone such as `GMT-07:00`. 7724 /// be a custom time zone such as `GMT-07:00`.
7520 */
7521 core.String timeZone; 7725 core.String timeZone;
7522 /** The title of the spreadsheet. */ 7726
7727 /// The title of the spreadsheet.
7523 core.String title; 7728 core.String title;
7524 7729
7525 SpreadsheetProperties(); 7730 SpreadsheetProperties();
7526 7731
7527 SpreadsheetProperties.fromJson(core.Map _json) { 7732 SpreadsheetProperties.fromJson(core.Map _json) {
7528 if (_json.containsKey("autoRecalc")) { 7733 if (_json.containsKey("autoRecalc")) {
7529 autoRecalc = _json["autoRecalc"]; 7734 autoRecalc = _json["autoRecalc"];
7530 } 7735 }
7531 if (_json.containsKey("defaultFormat")) { 7736 if (_json.containsKey("defaultFormat")) {
7532 defaultFormat = new CellFormat.fromJson(_json["defaultFormat"]); 7737 defaultFormat = new CellFormat.fromJson(_json["defaultFormat"]);
7533 } 7738 }
7534 if (_json.containsKey("iterativeCalculationSettings")) { 7739 if (_json.containsKey("iterativeCalculationSettings")) {
7535 iterativeCalculationSettings = new IterativeCalculationSettings.fromJson(_ json["iterativeCalculationSettings"]); 7740 iterativeCalculationSettings = new IterativeCalculationSettings.fromJson(
7741 _json["iterativeCalculationSettings"]);
7536 } 7742 }
7537 if (_json.containsKey("locale")) { 7743 if (_json.containsKey("locale")) {
7538 locale = _json["locale"]; 7744 locale = _json["locale"];
7539 } 7745 }
7540 if (_json.containsKey("timeZone")) { 7746 if (_json.containsKey("timeZone")) {
7541 timeZone = _json["timeZone"]; 7747 timeZone = _json["timeZone"];
7542 } 7748 }
7543 if (_json.containsKey("title")) { 7749 if (_json.containsKey("title")) {
7544 title = _json["title"]; 7750 title = _json["title"];
7545 } 7751 }
7546 } 7752 }
7547 7753
7548 core.Map<core.String, core.Object> toJson() { 7754 core.Map<core.String, core.Object> toJson() {
7549 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7755 final core.Map<core.String, core.Object> _json =
7756 new core.Map<core.String, core.Object>();
7550 if (autoRecalc != null) { 7757 if (autoRecalc != null) {
7551 _json["autoRecalc"] = autoRecalc; 7758 _json["autoRecalc"] = autoRecalc;
7552 } 7759 }
7553 if (defaultFormat != null) { 7760 if (defaultFormat != null) {
7554 _json["defaultFormat"] = (defaultFormat).toJson(); 7761 _json["defaultFormat"] = (defaultFormat).toJson();
7555 } 7762 }
7556 if (iterativeCalculationSettings != null) { 7763 if (iterativeCalculationSettings != null) {
7557 _json["iterativeCalculationSettings"] = (iterativeCalculationSettings).toJ son(); 7764 _json["iterativeCalculationSettings"] =
7765 (iterativeCalculationSettings).toJson();
7558 } 7766 }
7559 if (locale != null) { 7767 if (locale != null) {
7560 _json["locale"] = locale; 7768 _json["locale"] = locale;
7561 } 7769 }
7562 if (timeZone != null) { 7770 if (timeZone != null) {
7563 _json["timeZone"] = timeZone; 7771 _json["timeZone"] = timeZone;
7564 } 7772 }
7565 if (title != null) { 7773 if (title != null) {
7566 _json["title"] = title; 7774 _json["title"] = title;
7567 } 7775 }
7568 return _json; 7776 return _json;
7569 } 7777 }
7570 } 7778 }
7571 7779
7572 /** 7780 /// The format of a run of text in a cell.
7573 * The format of a run of text in a cell. 7781 /// Absent values indicate that the field isn't specified.
7574 * Absent values indicate that the field isn't specified.
7575 */
7576 class TextFormat { 7782 class TextFormat {
7577 /** True if the text is bold. */ 7783 /// True if the text is bold.
7578 core.bool bold; 7784 core.bool bold;
7579 /** The font family. */ 7785
7786 /// The font family.
7580 core.String fontFamily; 7787 core.String fontFamily;
7581 /** The size of the font. */ 7788
7789 /// The size of the font.
7582 core.int fontSize; 7790 core.int fontSize;
7583 /** The foreground color of the text. */ 7791
7792 /// The foreground color of the text.
7584 Color foregroundColor; 7793 Color foregroundColor;
7585 /** True if the text is italicized. */ 7794
7795 /// True if the text is italicized.
7586 core.bool italic; 7796 core.bool italic;
7587 /** True if the text has a strikethrough. */ 7797
7798 /// True if the text has a strikethrough.
7588 core.bool strikethrough; 7799 core.bool strikethrough;
7589 /** True if the text is underlined. */ 7800
7801 /// True if the text is underlined.
7590 core.bool underline; 7802 core.bool underline;
7591 7803
7592 TextFormat(); 7804 TextFormat();
7593 7805
7594 TextFormat.fromJson(core.Map _json) { 7806 TextFormat.fromJson(core.Map _json) {
7595 if (_json.containsKey("bold")) { 7807 if (_json.containsKey("bold")) {
7596 bold = _json["bold"]; 7808 bold = _json["bold"];
7597 } 7809 }
7598 if (_json.containsKey("fontFamily")) { 7810 if (_json.containsKey("fontFamily")) {
7599 fontFamily = _json["fontFamily"]; 7811 fontFamily = _json["fontFamily"];
7600 } 7812 }
7601 if (_json.containsKey("fontSize")) { 7813 if (_json.containsKey("fontSize")) {
7602 fontSize = _json["fontSize"]; 7814 fontSize = _json["fontSize"];
7603 } 7815 }
7604 if (_json.containsKey("foregroundColor")) { 7816 if (_json.containsKey("foregroundColor")) {
7605 foregroundColor = new Color.fromJson(_json["foregroundColor"]); 7817 foregroundColor = new Color.fromJson(_json["foregroundColor"]);
7606 } 7818 }
7607 if (_json.containsKey("italic")) { 7819 if (_json.containsKey("italic")) {
7608 italic = _json["italic"]; 7820 italic = _json["italic"];
7609 } 7821 }
7610 if (_json.containsKey("strikethrough")) { 7822 if (_json.containsKey("strikethrough")) {
7611 strikethrough = _json["strikethrough"]; 7823 strikethrough = _json["strikethrough"];
7612 } 7824 }
7613 if (_json.containsKey("underline")) { 7825 if (_json.containsKey("underline")) {
7614 underline = _json["underline"]; 7826 underline = _json["underline"];
7615 } 7827 }
7616 } 7828 }
7617 7829
7618 core.Map<core.String, core.Object> toJson() { 7830 core.Map<core.String, core.Object> toJson() {
7619 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7831 final core.Map<core.String, core.Object> _json =
7832 new core.Map<core.String, core.Object>();
7620 if (bold != null) { 7833 if (bold != null) {
7621 _json["bold"] = bold; 7834 _json["bold"] = bold;
7622 } 7835 }
7623 if (fontFamily != null) { 7836 if (fontFamily != null) {
7624 _json["fontFamily"] = fontFamily; 7837 _json["fontFamily"] = fontFamily;
7625 } 7838 }
7626 if (fontSize != null) { 7839 if (fontSize != null) {
7627 _json["fontSize"] = fontSize; 7840 _json["fontSize"] = fontSize;
7628 } 7841 }
7629 if (foregroundColor != null) { 7842 if (foregroundColor != null) {
7630 _json["foregroundColor"] = (foregroundColor).toJson(); 7843 _json["foregroundColor"] = (foregroundColor).toJson();
7631 } 7844 }
7632 if (italic != null) { 7845 if (italic != null) {
7633 _json["italic"] = italic; 7846 _json["italic"] = italic;
7634 } 7847 }
7635 if (strikethrough != null) { 7848 if (strikethrough != null) {
7636 _json["strikethrough"] = strikethrough; 7849 _json["strikethrough"] = strikethrough;
7637 } 7850 }
7638 if (underline != null) { 7851 if (underline != null) {
7639 _json["underline"] = underline; 7852 _json["underline"] = underline;
7640 } 7853 }
7641 return _json; 7854 return _json;
7642 } 7855 }
7643 } 7856 }
7644 7857
7645 /** 7858 /// A run of a text format. The format of this run continues until the start
7646 * A run of a text format. The format of this run continues until the start 7859 /// index of the next run.
7647 * index of the next run. 7860 /// When updating, all fields must be set.
7648 * When updating, all fields must be set.
7649 */
7650 class TextFormatRun { 7861 class TextFormatRun {
7651 /** The format of this run. Absent values inherit the cell's format. */ 7862 /// The format of this run. Absent values inherit the cell's format.
7652 TextFormat format; 7863 TextFormat format;
7653 /** The character index where this run starts. */ 7864
7865 /// The character index where this run starts.
7654 core.int startIndex; 7866 core.int startIndex;
7655 7867
7656 TextFormatRun(); 7868 TextFormatRun();
7657 7869
7658 TextFormatRun.fromJson(core.Map _json) { 7870 TextFormatRun.fromJson(core.Map _json) {
7659 if (_json.containsKey("format")) { 7871 if (_json.containsKey("format")) {
7660 format = new TextFormat.fromJson(_json["format"]); 7872 format = new TextFormat.fromJson(_json["format"]);
7661 } 7873 }
7662 if (_json.containsKey("startIndex")) { 7874 if (_json.containsKey("startIndex")) {
7663 startIndex = _json["startIndex"]; 7875 startIndex = _json["startIndex"];
7664 } 7876 }
7665 } 7877 }
7666 7878
7667 core.Map<core.String, core.Object> toJson() { 7879 core.Map<core.String, core.Object> toJson() {
7668 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7880 final core.Map<core.String, core.Object> _json =
7881 new core.Map<core.String, core.Object>();
7669 if (format != null) { 7882 if (format != null) {
7670 _json["format"] = (format).toJson(); 7883 _json["format"] = (format).toJson();
7671 } 7884 }
7672 if (startIndex != null) { 7885 if (startIndex != null) {
7673 _json["startIndex"] = startIndex; 7886 _json["startIndex"] = startIndex;
7674 } 7887 }
7675 return _json; 7888 return _json;
7676 } 7889 }
7677 } 7890 }
7678 7891
7679 /** The rotation applied to text in a cell. */ 7892 /// The rotation applied to text in a cell.
7680 class TextRotation { 7893 class TextRotation {
7681 /** 7894 /// The angle between the standard orientation and the desired orientation.
7682 * The angle between the standard orientation and the desired orientation. 7895 /// Measured in degrees. Valid values are between -90 and 90. Positive
7683 * Measured in degrees. Valid values are between -90 and 90. Positive 7896 /// angles are angled upwards, negative are angled downwards.
7684 * angles are angled upwards, negative are angled downwards. 7897 ///
7685 * 7898 /// Note: For LTR text direction positive angles are in the counterclockwise
7686 * Note: For LTR text direction positive angles are in the counterclockwise 7899 /// direction, whereas for RTL they are in the clockwise direction
7687 * direction, whereas for RTL they are in the clockwise direction
7688 */
7689 core.int angle; 7900 core.int angle;
7690 /** 7901
7691 * If true, text reads top to bottom, but the orientation of individual 7902 /// If true, text reads top to bottom, but the orientation of individual
7692 * characters is unchanged. 7903 /// characters is unchanged.
7693 * For example: 7904 /// For example:
7694 * 7905 ///
7695 * | V | 7906 /// | V |
7696 * | e | 7907 /// | e |
7697 * | r | 7908 /// | r |
7698 * | t | 7909 /// | t |
7699 * | i | 7910 /// | i |
7700 * | c | 7911 /// | c |
7701 * | a | 7912 /// | a |
7702 * | l | 7913 /// | l |
7703 */
7704 core.bool vertical; 7914 core.bool vertical;
7705 7915
7706 TextRotation(); 7916 TextRotation();
7707 7917
7708 TextRotation.fromJson(core.Map _json) { 7918 TextRotation.fromJson(core.Map _json) {
7709 if (_json.containsKey("angle")) { 7919 if (_json.containsKey("angle")) {
7710 angle = _json["angle"]; 7920 angle = _json["angle"];
7711 } 7921 }
7712 if (_json.containsKey("vertical")) { 7922 if (_json.containsKey("vertical")) {
7713 vertical = _json["vertical"]; 7923 vertical = _json["vertical"];
7714 } 7924 }
7715 } 7925 }
7716 7926
7717 core.Map<core.String, core.Object> toJson() { 7927 core.Map<core.String, core.Object> toJson() {
7718 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7928 final core.Map<core.String, core.Object> _json =
7929 new core.Map<core.String, core.Object>();
7719 if (angle != null) { 7930 if (angle != null) {
7720 _json["angle"] = angle; 7931 _json["angle"] = angle;
7721 } 7932 }
7722 if (vertical != null) { 7933 if (vertical != null) {
7723 _json["vertical"] = vertical; 7934 _json["vertical"] = vertical;
7724 } 7935 }
7725 return _json; 7936 return _json;
7726 } 7937 }
7727 } 7938 }
7728 7939
7729 /** 7940 /// Splits a column of text into multiple columns,
7730 * Splits a column of text into multiple columns, 7941 /// based on a delimiter in each cell.
7731 * based on a delimiter in each cell.
7732 */
7733 class TextToColumnsRequest { 7942 class TextToColumnsRequest {
7734 /** 7943 /// The delimiter to use. Used only if delimiterType is
7735 * The delimiter to use. Used only if delimiterType is 7944 /// CUSTOM.
7736 * CUSTOM.
7737 */
7738 core.String delimiter; 7945 core.String delimiter;
7739 /** 7946
7740 * The delimiter type to use. 7947 /// The delimiter type to use.
7741 * Possible string values are: 7948 /// Possible string values are:
7742 * - "DELIMITER_TYPE_UNSPECIFIED" : Default value. This value must not be 7949 /// - "DELIMITER_TYPE_UNSPECIFIED" : Default value. This value must not be
7743 * used. 7950 /// used.
7744 * - "COMMA" : "," 7951 /// - "COMMA" : ","
7745 * - "SEMICOLON" : ";" 7952 /// - "SEMICOLON" : ";"
7746 * - "PERIOD" : "." 7953 /// - "PERIOD" : "."
7747 * - "SPACE" : " " 7954 /// - "SPACE" : " "
7748 * - "CUSTOM" : A custom value as defined in delimiter. 7955 /// - "CUSTOM" : A custom value as defined in delimiter.
7749 */
7750 core.String delimiterType; 7956 core.String delimiterType;
7751 /** The source data range. This must span exactly one column. */ 7957
7958 /// The source data range. This must span exactly one column.
7752 GridRange source; 7959 GridRange source;
7753 7960
7754 TextToColumnsRequest(); 7961 TextToColumnsRequest();
7755 7962
7756 TextToColumnsRequest.fromJson(core.Map _json) { 7963 TextToColumnsRequest.fromJson(core.Map _json) {
7757 if (_json.containsKey("delimiter")) { 7964 if (_json.containsKey("delimiter")) {
7758 delimiter = _json["delimiter"]; 7965 delimiter = _json["delimiter"];
7759 } 7966 }
7760 if (_json.containsKey("delimiterType")) { 7967 if (_json.containsKey("delimiterType")) {
7761 delimiterType = _json["delimiterType"]; 7968 delimiterType = _json["delimiterType"];
7762 } 7969 }
7763 if (_json.containsKey("source")) { 7970 if (_json.containsKey("source")) {
7764 source = new GridRange.fromJson(_json["source"]); 7971 source = new GridRange.fromJson(_json["source"]);
7765 } 7972 }
7766 } 7973 }
7767 7974
7768 core.Map<core.String, core.Object> toJson() { 7975 core.Map<core.String, core.Object> toJson() {
7769 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7976 final core.Map<core.String, core.Object> _json =
7977 new core.Map<core.String, core.Object>();
7770 if (delimiter != null) { 7978 if (delimiter != null) {
7771 _json["delimiter"] = delimiter; 7979 _json["delimiter"] = delimiter;
7772 } 7980 }
7773 if (delimiterType != null) { 7981 if (delimiterType != null) {
7774 _json["delimiterType"] = delimiterType; 7982 _json["delimiterType"] = delimiterType;
7775 } 7983 }
7776 if (source != null) { 7984 if (source != null) {
7777 _json["source"] = (source).toJson(); 7985 _json["source"] = (source).toJson();
7778 } 7986 }
7779 return _json; 7987 return _json;
7780 } 7988 }
7781 } 7989 }
7782 7990
7783 /** Unmerges cells in the given range. */ 7991 /// Unmerges cells in the given range.
7784 class UnmergeCellsRequest { 7992 class UnmergeCellsRequest {
7785 /** 7993 /// The range within which all cells should be unmerged.
7786 * The range within which all cells should be unmerged. 7994 /// If the range spans multiple merges, all will be unmerged.
7787 * If the range spans multiple merges, all will be unmerged. 7995 /// The range must not partially span any merge.
7788 * The range must not partially span any merge.
7789 */
7790 GridRange range; 7996 GridRange range;
7791 7997
7792 UnmergeCellsRequest(); 7998 UnmergeCellsRequest();
7793 7999
7794 UnmergeCellsRequest.fromJson(core.Map _json) { 8000 UnmergeCellsRequest.fromJson(core.Map _json) {
7795 if (_json.containsKey("range")) { 8001 if (_json.containsKey("range")) {
7796 range = new GridRange.fromJson(_json["range"]); 8002 range = new GridRange.fromJson(_json["range"]);
7797 } 8003 }
7798 } 8004 }
7799 8005
7800 core.Map<core.String, core.Object> toJson() { 8006 core.Map<core.String, core.Object> toJson() {
7801 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8007 final core.Map<core.String, core.Object> _json =
8008 new core.Map<core.String, core.Object>();
7802 if (range != null) { 8009 if (range != null) {
7803 _json["range"] = (range).toJson(); 8010 _json["range"] = (range).toJson();
7804 } 8011 }
7805 return _json; 8012 return _json;
7806 } 8013 }
7807 } 8014 }
7808 8015
7809 /** Updates properties of the supplied banded range. */ 8016 /// Updates properties of the supplied banded range.
7810 class UpdateBandingRequest { 8017 class UpdateBandingRequest {
7811 /** The banded range to update with the new properties. */ 8018 /// The banded range to update with the new properties.
7812 BandedRange bandedRange; 8019 BandedRange bandedRange;
7813 /** 8020
7814 * The fields that should be updated. At least one field must be specified. 8021 /// The fields that should be updated. At least one field must be specified.
7815 * The root `bandedRange` is implied and should not be specified. 8022 /// The root `bandedRange` is implied and should not be specified.
7816 * A single `"*"` can be used as short-hand for listing every field. 8023 /// A single `"*"` can be used as short-hand for listing every field.
7817 */
7818 core.String fields; 8024 core.String fields;
7819 8025
7820 UpdateBandingRequest(); 8026 UpdateBandingRequest();
7821 8027
7822 UpdateBandingRequest.fromJson(core.Map _json) { 8028 UpdateBandingRequest.fromJson(core.Map _json) {
7823 if (_json.containsKey("bandedRange")) { 8029 if (_json.containsKey("bandedRange")) {
7824 bandedRange = new BandedRange.fromJson(_json["bandedRange"]); 8030 bandedRange = new BandedRange.fromJson(_json["bandedRange"]);
7825 } 8031 }
7826 if (_json.containsKey("fields")) { 8032 if (_json.containsKey("fields")) {
7827 fields = _json["fields"]; 8033 fields = _json["fields"];
7828 } 8034 }
7829 } 8035 }
7830 8036
7831 core.Map<core.String, core.Object> toJson() { 8037 core.Map<core.String, core.Object> toJson() {
7832 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8038 final core.Map<core.String, core.Object> _json =
8039 new core.Map<core.String, core.Object>();
7833 if (bandedRange != null) { 8040 if (bandedRange != null) {
7834 _json["bandedRange"] = (bandedRange).toJson(); 8041 _json["bandedRange"] = (bandedRange).toJson();
7835 } 8042 }
7836 if (fields != null) { 8043 if (fields != null) {
7837 _json["fields"] = fields; 8044 _json["fields"] = fields;
7838 } 8045 }
7839 return _json; 8046 return _json;
7840 } 8047 }
7841 } 8048 }
7842 8049
7843 /** 8050 /// Updates the borders of a range.
7844 * Updates the borders of a range. 8051 /// If a field is not set in the request, that means the border remains as-is.
7845 * If a field is not set in the request, that means the border remains as-is. 8052 /// For example, with two subsequent UpdateBordersRequest:
7846 * For example, with two subsequent UpdateBordersRequest: 8053 ///
7847 * 8054 /// 1. range: A1:A5 `{ top: RED, bottom: WHITE }`
7848 * 1. range: A1:A5 `{ top: RED, bottom: WHITE }` 8055 /// 2. range: A1:A5 `{ left: BLUE }`
7849 * 2. range: A1:A5 `{ left: BLUE }` 8056 ///
7850 * 8057 /// That would result in A1:A5 having a borders of
7851 * That would result in A1:A5 having a borders of 8058 /// `{ top: RED, bottom: WHITE, left: BLUE }`.
7852 * `{ top: RED, bottom: WHITE, left: BLUE }`. 8059 /// If you want to clear a border, explicitly set the style to
7853 * If you want to clear a border, explicitly set the style to 8060 /// NONE.
7854 * NONE.
7855 */
7856 class UpdateBordersRequest { 8061 class UpdateBordersRequest {
7857 /** The border to put at the bottom of the range. */ 8062 /// The border to put at the bottom of the range.
7858 Border bottom; 8063 Border bottom;
7859 /** The horizontal border to put within the range. */ 8064
8065 /// The horizontal border to put within the range.
7860 Border innerHorizontal; 8066 Border innerHorizontal;
7861 /** The vertical border to put within the range. */ 8067
8068 /// The vertical border to put within the range.
7862 Border innerVertical; 8069 Border innerVertical;
7863 /** The border to put at the left of the range. */ 8070
8071 /// The border to put at the left of the range.
7864 Border left; 8072 Border left;
7865 /** The range whose borders should be updated. */ 8073
8074 /// The range whose borders should be updated.
7866 GridRange range; 8075 GridRange range;
7867 /** The border to put at the right of the range. */ 8076
8077 /// The border to put at the right of the range.
7868 Border right; 8078 Border right;
7869 /** The border to put at the top of the range. */ 8079
8080 /// The border to put at the top of the range.
7870 Border top; 8081 Border top;
7871 8082
7872 UpdateBordersRequest(); 8083 UpdateBordersRequest();
7873 8084
7874 UpdateBordersRequest.fromJson(core.Map _json) { 8085 UpdateBordersRequest.fromJson(core.Map _json) {
7875 if (_json.containsKey("bottom")) { 8086 if (_json.containsKey("bottom")) {
7876 bottom = new Border.fromJson(_json["bottom"]); 8087 bottom = new Border.fromJson(_json["bottom"]);
7877 } 8088 }
7878 if (_json.containsKey("innerHorizontal")) { 8089 if (_json.containsKey("innerHorizontal")) {
7879 innerHorizontal = new Border.fromJson(_json["innerHorizontal"]); 8090 innerHorizontal = new Border.fromJson(_json["innerHorizontal"]);
7880 } 8091 }
7881 if (_json.containsKey("innerVertical")) { 8092 if (_json.containsKey("innerVertical")) {
7882 innerVertical = new Border.fromJson(_json["innerVertical"]); 8093 innerVertical = new Border.fromJson(_json["innerVertical"]);
7883 } 8094 }
7884 if (_json.containsKey("left")) { 8095 if (_json.containsKey("left")) {
7885 left = new Border.fromJson(_json["left"]); 8096 left = new Border.fromJson(_json["left"]);
7886 } 8097 }
7887 if (_json.containsKey("range")) { 8098 if (_json.containsKey("range")) {
7888 range = new GridRange.fromJson(_json["range"]); 8099 range = new GridRange.fromJson(_json["range"]);
7889 } 8100 }
7890 if (_json.containsKey("right")) { 8101 if (_json.containsKey("right")) {
7891 right = new Border.fromJson(_json["right"]); 8102 right = new Border.fromJson(_json["right"]);
7892 } 8103 }
7893 if (_json.containsKey("top")) { 8104 if (_json.containsKey("top")) {
7894 top = new Border.fromJson(_json["top"]); 8105 top = new Border.fromJson(_json["top"]);
7895 } 8106 }
7896 } 8107 }
7897 8108
7898 core.Map<core.String, core.Object> toJson() { 8109 core.Map<core.String, core.Object> toJson() {
7899 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8110 final core.Map<core.String, core.Object> _json =
8111 new core.Map<core.String, core.Object>();
7900 if (bottom != null) { 8112 if (bottom != null) {
7901 _json["bottom"] = (bottom).toJson(); 8113 _json["bottom"] = (bottom).toJson();
7902 } 8114 }
7903 if (innerHorizontal != null) { 8115 if (innerHorizontal != null) {
7904 _json["innerHorizontal"] = (innerHorizontal).toJson(); 8116 _json["innerHorizontal"] = (innerHorizontal).toJson();
7905 } 8117 }
7906 if (innerVertical != null) { 8118 if (innerVertical != null) {
7907 _json["innerVertical"] = (innerVertical).toJson(); 8119 _json["innerVertical"] = (innerVertical).toJson();
7908 } 8120 }
7909 if (left != null) { 8121 if (left != null) {
7910 _json["left"] = (left).toJson(); 8122 _json["left"] = (left).toJson();
7911 } 8123 }
7912 if (range != null) { 8124 if (range != null) {
7913 _json["range"] = (range).toJson(); 8125 _json["range"] = (range).toJson();
7914 } 8126 }
7915 if (right != null) { 8127 if (right != null) {
7916 _json["right"] = (right).toJson(); 8128 _json["right"] = (right).toJson();
7917 } 8129 }
7918 if (top != null) { 8130 if (top != null) {
7919 _json["top"] = (top).toJson(); 8131 _json["top"] = (top).toJson();
7920 } 8132 }
7921 return _json; 8133 return _json;
7922 } 8134 }
7923 } 8135 }
7924 8136
7925 /** Updates all cells in a range with new data. */ 8137 /// Updates all cells in a range with new data.
7926 class UpdateCellsRequest { 8138 class UpdateCellsRequest {
7927 /** 8139 /// The fields of CellData that should be updated.
7928 * The fields of CellData that should be updated. 8140 /// At least one field must be specified.
7929 * At least one field must be specified. 8141 /// The root is the CellData; 'row.values.' should not be specified.
7930 * The root is the CellData; 'row.values.' should not be specified. 8142 /// A single `"*"` can be used as short-hand for listing every field.
7931 * A single `"*"` can be used as short-hand for listing every field.
7932 */
7933 core.String fields; 8143 core.String fields;
7934 /** 8144
7935 * The range to write data to. 8145 /// The range to write data to.
7936 * 8146 ///
7937 * If the data in rows does not cover the entire requested range, 8147 /// If the data in rows does not cover the entire requested range,
7938 * the fields matching those set in fields will be cleared. 8148 /// the fields matching those set in fields will be cleared.
7939 */
7940 GridRange range; 8149 GridRange range;
7941 /** The data to write. */ 8150
8151 /// The data to write.
7942 core.List<RowData> rows; 8152 core.List<RowData> rows;
7943 /** 8153
7944 * The coordinate to start writing data at. 8154 /// The coordinate to start writing data at.
7945 * Any number of rows and columns (including a different number of 8155 /// Any number of rows and columns (including a different number of
7946 * columns per row) may be written. 8156 /// columns per row) may be written.
7947 */
7948 GridCoordinate start; 8157 GridCoordinate start;
7949 8158
7950 UpdateCellsRequest(); 8159 UpdateCellsRequest();
7951 8160
7952 UpdateCellsRequest.fromJson(core.Map _json) { 8161 UpdateCellsRequest.fromJson(core.Map _json) {
7953 if (_json.containsKey("fields")) { 8162 if (_json.containsKey("fields")) {
7954 fields = _json["fields"]; 8163 fields = _json["fields"];
7955 } 8164 }
7956 if (_json.containsKey("range")) { 8165 if (_json.containsKey("range")) {
7957 range = new GridRange.fromJson(_json["range"]); 8166 range = new GridRange.fromJson(_json["range"]);
7958 } 8167 }
7959 if (_json.containsKey("rows")) { 8168 if (_json.containsKey("rows")) {
7960 rows = _json["rows"].map((value) => new RowData.fromJson(value)).toList(); 8169 rows = _json["rows"].map((value) => new RowData.fromJson(value)).toList();
7961 } 8170 }
7962 if (_json.containsKey("start")) { 8171 if (_json.containsKey("start")) {
7963 start = new GridCoordinate.fromJson(_json["start"]); 8172 start = new GridCoordinate.fromJson(_json["start"]);
7964 } 8173 }
7965 } 8174 }
7966 8175
7967 core.Map<core.String, core.Object> toJson() { 8176 core.Map<core.String, core.Object> toJson() {
7968 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8177 final core.Map<core.String, core.Object> _json =
8178 new core.Map<core.String, core.Object>();
7969 if (fields != null) { 8179 if (fields != null) {
7970 _json["fields"] = fields; 8180 _json["fields"] = fields;
7971 } 8181 }
7972 if (range != null) { 8182 if (range != null) {
7973 _json["range"] = (range).toJson(); 8183 _json["range"] = (range).toJson();
7974 } 8184 }
7975 if (rows != null) { 8185 if (rows != null) {
7976 _json["rows"] = rows.map((value) => (value).toJson()).toList(); 8186 _json["rows"] = rows.map((value) => (value).toJson()).toList();
7977 } 8187 }
7978 if (start != null) { 8188 if (start != null) {
7979 _json["start"] = (start).toJson(); 8189 _json["start"] = (start).toJson();
7980 } 8190 }
7981 return _json; 8191 return _json;
7982 } 8192 }
7983 } 8193 }
7984 8194
7985 /** 8195 /// Updates a chart's specifications.
7986 * Updates a chart's specifications. 8196 /// (This does not move or resize a chart. To move or resize a chart, use
7987 * (This does not move or resize a chart. To move or resize a chart, use 8197 /// UpdateEmbeddedObjectPositionRequest.)
7988 * UpdateEmbeddedObjectPositionRequest.)
7989 */
7990 class UpdateChartSpecRequest { 8198 class UpdateChartSpecRequest {
7991 /** The ID of the chart to update. */ 8199 /// The ID of the chart to update.
7992 core.int chartId; 8200 core.int chartId;
7993 /** The specification to apply to the chart. */ 8201
8202 /// The specification to apply to the chart.
7994 ChartSpec spec; 8203 ChartSpec spec;
7995 8204
7996 UpdateChartSpecRequest(); 8205 UpdateChartSpecRequest();
7997 8206
7998 UpdateChartSpecRequest.fromJson(core.Map _json) { 8207 UpdateChartSpecRequest.fromJson(core.Map _json) {
7999 if (_json.containsKey("chartId")) { 8208 if (_json.containsKey("chartId")) {
8000 chartId = _json["chartId"]; 8209 chartId = _json["chartId"];
8001 } 8210 }
8002 if (_json.containsKey("spec")) { 8211 if (_json.containsKey("spec")) {
8003 spec = new ChartSpec.fromJson(_json["spec"]); 8212 spec = new ChartSpec.fromJson(_json["spec"]);
8004 } 8213 }
8005 } 8214 }
8006 8215
8007 core.Map<core.String, core.Object> toJson() { 8216 core.Map<core.String, core.Object> toJson() {
8008 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8217 final core.Map<core.String, core.Object> _json =
8218 new core.Map<core.String, core.Object>();
8009 if (chartId != null) { 8219 if (chartId != null) {
8010 _json["chartId"] = chartId; 8220 _json["chartId"] = chartId;
8011 } 8221 }
8012 if (spec != null) { 8222 if (spec != null) {
8013 _json["spec"] = (spec).toJson(); 8223 _json["spec"] = (spec).toJson();
8014 } 8224 }
8015 return _json; 8225 return _json;
8016 } 8226 }
8017 } 8227 }
8018 8228
8019 /** 8229 /// Updates a conditional format rule at the given index,
8020 * Updates a conditional format rule at the given index, 8230 /// or moves a conditional format rule to another index.
8021 * or moves a conditional format rule to another index.
8022 */
8023 class UpdateConditionalFormatRuleRequest { 8231 class UpdateConditionalFormatRuleRequest {
8024 /** The zero-based index of the rule that should be replaced or moved. */ 8232 /// The zero-based index of the rule that should be replaced or moved.
8025 core.int index; 8233 core.int index;
8026 /** The zero-based new index the rule should end up at. */ 8234
8235 /// The zero-based new index the rule should end up at.
8027 core.int newIndex; 8236 core.int newIndex;
8028 /** The rule that should replace the rule at the given index. */ 8237
8238 /// The rule that should replace the rule at the given index.
8029 ConditionalFormatRule rule; 8239 ConditionalFormatRule rule;
8030 /** 8240
8031 * The sheet of the rule to move. Required if new_index is set, 8241 /// The sheet of the rule to move. Required if new_index is set,
8032 * unused otherwise. 8242 /// unused otherwise.
8033 */
8034 core.int sheetId; 8243 core.int sheetId;
8035 8244
8036 UpdateConditionalFormatRuleRequest(); 8245 UpdateConditionalFormatRuleRequest();
8037 8246
8038 UpdateConditionalFormatRuleRequest.fromJson(core.Map _json) { 8247 UpdateConditionalFormatRuleRequest.fromJson(core.Map _json) {
8039 if (_json.containsKey("index")) { 8248 if (_json.containsKey("index")) {
8040 index = _json["index"]; 8249 index = _json["index"];
8041 } 8250 }
8042 if (_json.containsKey("newIndex")) { 8251 if (_json.containsKey("newIndex")) {
8043 newIndex = _json["newIndex"]; 8252 newIndex = _json["newIndex"];
8044 } 8253 }
8045 if (_json.containsKey("rule")) { 8254 if (_json.containsKey("rule")) {
8046 rule = new ConditionalFormatRule.fromJson(_json["rule"]); 8255 rule = new ConditionalFormatRule.fromJson(_json["rule"]);
8047 } 8256 }
8048 if (_json.containsKey("sheetId")) { 8257 if (_json.containsKey("sheetId")) {
8049 sheetId = _json["sheetId"]; 8258 sheetId = _json["sheetId"];
8050 } 8259 }
8051 } 8260 }
8052 8261
8053 core.Map<core.String, core.Object> toJson() { 8262 core.Map<core.String, core.Object> toJson() {
8054 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8263 final core.Map<core.String, core.Object> _json =
8264 new core.Map<core.String, core.Object>();
8055 if (index != null) { 8265 if (index != null) {
8056 _json["index"] = index; 8266 _json["index"] = index;
8057 } 8267 }
8058 if (newIndex != null) { 8268 if (newIndex != null) {
8059 _json["newIndex"] = newIndex; 8269 _json["newIndex"] = newIndex;
8060 } 8270 }
8061 if (rule != null) { 8271 if (rule != null) {
8062 _json["rule"] = (rule).toJson(); 8272 _json["rule"] = (rule).toJson();
8063 } 8273 }
8064 if (sheetId != null) { 8274 if (sheetId != null) {
8065 _json["sheetId"] = sheetId; 8275 _json["sheetId"] = sheetId;
8066 } 8276 }
8067 return _json; 8277 return _json;
8068 } 8278 }
8069 } 8279 }
8070 8280
8071 /** The result of updating a conditional format rule. */ 8281 /// The result of updating a conditional format rule.
8072 class UpdateConditionalFormatRuleResponse { 8282 class UpdateConditionalFormatRuleResponse {
8073 /** The index of the new rule. */ 8283 /// The index of the new rule.
8074 core.int newIndex; 8284 core.int newIndex;
8075 /** 8285
8076 * The new rule that replaced the old rule (if replacing), 8286 /// The new rule that replaced the old rule (if replacing),
8077 * or the rule that was moved (if moved) 8287 /// or the rule that was moved (if moved)
8078 */
8079 ConditionalFormatRule newRule; 8288 ConditionalFormatRule newRule;
8080 /** 8289
8081 * The old index of the rule. Not set if a rule was replaced 8290 /// The old index of the rule. Not set if a rule was replaced
8082 * (because it is the same as new_index). 8291 /// (because it is the same as new_index).
8083 */
8084 core.int oldIndex; 8292 core.int oldIndex;
8085 /** 8293
8086 * The old (deleted) rule. Not set if a rule was moved 8294 /// The old (deleted) rule. Not set if a rule was moved
8087 * (because it is the same as new_rule). 8295 /// (because it is the same as new_rule).
8088 */
8089 ConditionalFormatRule oldRule; 8296 ConditionalFormatRule oldRule;
8090 8297
8091 UpdateConditionalFormatRuleResponse(); 8298 UpdateConditionalFormatRuleResponse();
8092 8299
8093 UpdateConditionalFormatRuleResponse.fromJson(core.Map _json) { 8300 UpdateConditionalFormatRuleResponse.fromJson(core.Map _json) {
8094 if (_json.containsKey("newIndex")) { 8301 if (_json.containsKey("newIndex")) {
8095 newIndex = _json["newIndex"]; 8302 newIndex = _json["newIndex"];
8096 } 8303 }
8097 if (_json.containsKey("newRule")) { 8304 if (_json.containsKey("newRule")) {
8098 newRule = new ConditionalFormatRule.fromJson(_json["newRule"]); 8305 newRule = new ConditionalFormatRule.fromJson(_json["newRule"]);
8099 } 8306 }
8100 if (_json.containsKey("oldIndex")) { 8307 if (_json.containsKey("oldIndex")) {
8101 oldIndex = _json["oldIndex"]; 8308 oldIndex = _json["oldIndex"];
8102 } 8309 }
8103 if (_json.containsKey("oldRule")) { 8310 if (_json.containsKey("oldRule")) {
8104 oldRule = new ConditionalFormatRule.fromJson(_json["oldRule"]); 8311 oldRule = new ConditionalFormatRule.fromJson(_json["oldRule"]);
8105 } 8312 }
8106 } 8313 }
8107 8314
8108 core.Map<core.String, core.Object> toJson() { 8315 core.Map<core.String, core.Object> toJson() {
8109 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8316 final core.Map<core.String, core.Object> _json =
8317 new core.Map<core.String, core.Object>();
8110 if (newIndex != null) { 8318 if (newIndex != null) {
8111 _json["newIndex"] = newIndex; 8319 _json["newIndex"] = newIndex;
8112 } 8320 }
8113 if (newRule != null) { 8321 if (newRule != null) {
8114 _json["newRule"] = (newRule).toJson(); 8322 _json["newRule"] = (newRule).toJson();
8115 } 8323 }
8116 if (oldIndex != null) { 8324 if (oldIndex != null) {
8117 _json["oldIndex"] = oldIndex; 8325 _json["oldIndex"] = oldIndex;
8118 } 8326 }
8119 if (oldRule != null) { 8327 if (oldRule != null) {
8120 _json["oldRule"] = (oldRule).toJson(); 8328 _json["oldRule"] = (oldRule).toJson();
8121 } 8329 }
8122 return _json; 8330 return _json;
8123 } 8331 }
8124 } 8332 }
8125 8333
8126 /** Updates properties of dimensions within the specified range. */ 8334 /// Updates properties of dimensions within the specified range.
8127 class UpdateDimensionPropertiesRequest { 8335 class UpdateDimensionPropertiesRequest {
8128 /** 8336 /// The fields that should be updated. At least one field must be specified.
8129 * The fields that should be updated. At least one field must be specified. 8337 /// The root `properties` is implied and should not be specified.
8130 * The root `properties` is implied and should not be specified. 8338 /// A single `"*"` can be used as short-hand for listing every field.
8131 * A single `"*"` can be used as short-hand for listing every field.
8132 */
8133 core.String fields; 8339 core.String fields;
8134 /** Properties to update. */ 8340
8341 /// Properties to update.
8135 DimensionProperties properties; 8342 DimensionProperties properties;
8136 /** The rows or columns to update. */ 8343
8344 /// The rows or columns to update.
8137 DimensionRange range; 8345 DimensionRange range;
8138 8346
8139 UpdateDimensionPropertiesRequest(); 8347 UpdateDimensionPropertiesRequest();
8140 8348
8141 UpdateDimensionPropertiesRequest.fromJson(core.Map _json) { 8349 UpdateDimensionPropertiesRequest.fromJson(core.Map _json) {
8142 if (_json.containsKey("fields")) { 8350 if (_json.containsKey("fields")) {
8143 fields = _json["fields"]; 8351 fields = _json["fields"];
8144 } 8352 }
8145 if (_json.containsKey("properties")) { 8353 if (_json.containsKey("properties")) {
8146 properties = new DimensionProperties.fromJson(_json["properties"]); 8354 properties = new DimensionProperties.fromJson(_json["properties"]);
8147 } 8355 }
8148 if (_json.containsKey("range")) { 8356 if (_json.containsKey("range")) {
8149 range = new DimensionRange.fromJson(_json["range"]); 8357 range = new DimensionRange.fromJson(_json["range"]);
8150 } 8358 }
8151 } 8359 }
8152 8360
8153 core.Map<core.String, core.Object> toJson() { 8361 core.Map<core.String, core.Object> toJson() {
8154 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8362 final core.Map<core.String, core.Object> _json =
8363 new core.Map<core.String, core.Object>();
8155 if (fields != null) { 8364 if (fields != null) {
8156 _json["fields"] = fields; 8365 _json["fields"] = fields;
8157 } 8366 }
8158 if (properties != null) { 8367 if (properties != null) {
8159 _json["properties"] = (properties).toJson(); 8368 _json["properties"] = (properties).toJson();
8160 } 8369 }
8161 if (range != null) { 8370 if (range != null) {
8162 _json["range"] = (range).toJson(); 8371 _json["range"] = (range).toJson();
8163 } 8372 }
8164 return _json; 8373 return _json;
8165 } 8374 }
8166 } 8375 }
8167 8376
8168 /** 8377 /// Update an embedded object's position (such as a moving or resizing a
8169 * Update an embedded object's position (such as a moving or resizing a 8378 /// chart or image).
8170 * chart or image).
8171 */
8172 class UpdateEmbeddedObjectPositionRequest { 8379 class UpdateEmbeddedObjectPositionRequest {
8173 /** 8380 /// The fields of OverlayPosition
8174 * The fields of OverlayPosition 8381 /// that should be updated when setting a new position. Used only if
8175 * that should be updated when setting a new position. Used only if 8382 /// newPosition.overlayPosition
8176 * newPosition.overlayPosition 8383 /// is set, in which case at least one field must
8177 * is set, in which case at least one field must 8384 /// be specified. The root `newPosition.overlayPosition` is implied and
8178 * be specified. The root `newPosition.overlayPosition` is implied and 8385 /// should not be specified.
8179 * should not be specified. 8386 /// A single `"*"` can be used as short-hand for listing every field.
8180 * A single `"*"` can be used as short-hand for listing every field.
8181 */
8182 core.String fields; 8387 core.String fields;
8183 /** 8388
8184 * An explicit position to move the embedded object to. 8389 /// An explicit position to move the embedded object to.
8185 * If newPosition.sheetId is set, 8390 /// If newPosition.sheetId is set,
8186 * a new sheet with that ID will be created. 8391 /// a new sheet with that ID will be created.
8187 * If newPosition.newSheet is set to true, 8392 /// If newPosition.newSheet is set to true,
8188 * a new sheet will be created with an ID that will be chosen for you. 8393 /// a new sheet will be created with an ID that will be chosen for you.
8189 */
8190 EmbeddedObjectPosition newPosition; 8394 EmbeddedObjectPosition newPosition;
8191 /** The ID of the object to moved. */ 8395
8396 /// The ID of the object to moved.
8192 core.int objectId; 8397 core.int objectId;
8193 8398
8194 UpdateEmbeddedObjectPositionRequest(); 8399 UpdateEmbeddedObjectPositionRequest();
8195 8400
8196 UpdateEmbeddedObjectPositionRequest.fromJson(core.Map _json) { 8401 UpdateEmbeddedObjectPositionRequest.fromJson(core.Map _json) {
8197 if (_json.containsKey("fields")) { 8402 if (_json.containsKey("fields")) {
8198 fields = _json["fields"]; 8403 fields = _json["fields"];
8199 } 8404 }
8200 if (_json.containsKey("newPosition")) { 8405 if (_json.containsKey("newPosition")) {
8201 newPosition = new EmbeddedObjectPosition.fromJson(_json["newPosition"]); 8406 newPosition = new EmbeddedObjectPosition.fromJson(_json["newPosition"]);
8202 } 8407 }
8203 if (_json.containsKey("objectId")) { 8408 if (_json.containsKey("objectId")) {
8204 objectId = _json["objectId"]; 8409 objectId = _json["objectId"];
8205 } 8410 }
8206 } 8411 }
8207 8412
8208 core.Map<core.String, core.Object> toJson() { 8413 core.Map<core.String, core.Object> toJson() {
8209 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8414 final core.Map<core.String, core.Object> _json =
8415 new core.Map<core.String, core.Object>();
8210 if (fields != null) { 8416 if (fields != null) {
8211 _json["fields"] = fields; 8417 _json["fields"] = fields;
8212 } 8418 }
8213 if (newPosition != null) { 8419 if (newPosition != null) {
8214 _json["newPosition"] = (newPosition).toJson(); 8420 _json["newPosition"] = (newPosition).toJson();
8215 } 8421 }
8216 if (objectId != null) { 8422 if (objectId != null) {
8217 _json["objectId"] = objectId; 8423 _json["objectId"] = objectId;
8218 } 8424 }
8219 return _json; 8425 return _json;
8220 } 8426 }
8221 } 8427 }
8222 8428
8223 /** The result of updating an embedded object's position. */ 8429 /// The result of updating an embedded object's position.
8224 class UpdateEmbeddedObjectPositionResponse { 8430 class UpdateEmbeddedObjectPositionResponse {
8225 /** The new position of the embedded object. */ 8431 /// The new position of the embedded object.
8226 EmbeddedObjectPosition position; 8432 EmbeddedObjectPosition position;
8227 8433
8228 UpdateEmbeddedObjectPositionResponse(); 8434 UpdateEmbeddedObjectPositionResponse();
8229 8435
8230 UpdateEmbeddedObjectPositionResponse.fromJson(core.Map _json) { 8436 UpdateEmbeddedObjectPositionResponse.fromJson(core.Map _json) {
8231 if (_json.containsKey("position")) { 8437 if (_json.containsKey("position")) {
8232 position = new EmbeddedObjectPosition.fromJson(_json["position"]); 8438 position = new EmbeddedObjectPosition.fromJson(_json["position"]);
8233 } 8439 }
8234 } 8440 }
8235 8441
8236 core.Map<core.String, core.Object> toJson() { 8442 core.Map<core.String, core.Object> toJson() {
8237 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8443 final core.Map<core.String, core.Object> _json =
8444 new core.Map<core.String, core.Object>();
8238 if (position != null) { 8445 if (position != null) {
8239 _json["position"] = (position).toJson(); 8446 _json["position"] = (position).toJson();
8240 } 8447 }
8241 return _json; 8448 return _json;
8242 } 8449 }
8243 } 8450 }
8244 8451
8245 /** Updates properties of the filter view. */ 8452 /// Updates properties of the filter view.
8246 class UpdateFilterViewRequest { 8453 class UpdateFilterViewRequest {
8247 /** 8454 /// The fields that should be updated. At least one field must be specified.
8248 * The fields that should be updated. At least one field must be specified. 8455 /// The root `filter` is implied and should not be specified.
8249 * The root `filter` is implied and should not be specified. 8456 /// A single `"*"` can be used as short-hand for listing every field.
8250 * A single `"*"` can be used as short-hand for listing every field.
8251 */
8252 core.String fields; 8457 core.String fields;
8253 /** The new properties of the filter view. */ 8458
8459 /// The new properties of the filter view.
8254 FilterView filter; 8460 FilterView filter;
8255 8461
8256 UpdateFilterViewRequest(); 8462 UpdateFilterViewRequest();
8257 8463
8258 UpdateFilterViewRequest.fromJson(core.Map _json) { 8464 UpdateFilterViewRequest.fromJson(core.Map _json) {
8259 if (_json.containsKey("fields")) { 8465 if (_json.containsKey("fields")) {
8260 fields = _json["fields"]; 8466 fields = _json["fields"];
8261 } 8467 }
8262 if (_json.containsKey("filter")) { 8468 if (_json.containsKey("filter")) {
8263 filter = new FilterView.fromJson(_json["filter"]); 8469 filter = new FilterView.fromJson(_json["filter"]);
8264 } 8470 }
8265 } 8471 }
8266 8472
8267 core.Map<core.String, core.Object> toJson() { 8473 core.Map<core.String, core.Object> toJson() {
8268 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8474 final core.Map<core.String, core.Object> _json =
8475 new core.Map<core.String, core.Object>();
8269 if (fields != null) { 8476 if (fields != null) {
8270 _json["fields"] = fields; 8477 _json["fields"] = fields;
8271 } 8478 }
8272 if (filter != null) { 8479 if (filter != null) {
8273 _json["filter"] = (filter).toJson(); 8480 _json["filter"] = (filter).toJson();
8274 } 8481 }
8275 return _json; 8482 return _json;
8276 } 8483 }
8277 } 8484 }
8278 8485
8279 /** 8486 /// Updates properties of the named range with the specified
8280 * Updates properties of the named range with the specified 8487 /// namedRangeId.
8281 * namedRangeId.
8282 */
8283 class UpdateNamedRangeRequest { 8488 class UpdateNamedRangeRequest {
8284 /** 8489 /// The fields that should be updated. At least one field must be specified.
8285 * The fields that should be updated. At least one field must be specified. 8490 /// The root `namedRange` is implied and should not be specified.
8286 * The root `namedRange` is implied and should not be specified. 8491 /// A single `"*"` can be used as short-hand for listing every field.
8287 * A single `"*"` can be used as short-hand for listing every field.
8288 */
8289 core.String fields; 8492 core.String fields;
8290 /** The named range to update with the new properties. */ 8493
8494 /// The named range to update with the new properties.
8291 NamedRange namedRange; 8495 NamedRange namedRange;
8292 8496
8293 UpdateNamedRangeRequest(); 8497 UpdateNamedRangeRequest();
8294 8498
8295 UpdateNamedRangeRequest.fromJson(core.Map _json) { 8499 UpdateNamedRangeRequest.fromJson(core.Map _json) {
8296 if (_json.containsKey("fields")) { 8500 if (_json.containsKey("fields")) {
8297 fields = _json["fields"]; 8501 fields = _json["fields"];
8298 } 8502 }
8299 if (_json.containsKey("namedRange")) { 8503 if (_json.containsKey("namedRange")) {
8300 namedRange = new NamedRange.fromJson(_json["namedRange"]); 8504 namedRange = new NamedRange.fromJson(_json["namedRange"]);
8301 } 8505 }
8302 } 8506 }
8303 8507
8304 core.Map<core.String, core.Object> toJson() { 8508 core.Map<core.String, core.Object> toJson() {
8305 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8509 final core.Map<core.String, core.Object> _json =
8510 new core.Map<core.String, core.Object>();
8306 if (fields != null) { 8511 if (fields != null) {
8307 _json["fields"] = fields; 8512 _json["fields"] = fields;
8308 } 8513 }
8309 if (namedRange != null) { 8514 if (namedRange != null) {
8310 _json["namedRange"] = (namedRange).toJson(); 8515 _json["namedRange"] = (namedRange).toJson();
8311 } 8516 }
8312 return _json; 8517 return _json;
8313 } 8518 }
8314 } 8519 }
8315 8520
8316 /** 8521 /// Updates an existing protected range with the specified
8317 * Updates an existing protected range with the specified 8522 /// protectedRangeId.
8318 * protectedRangeId.
8319 */
8320 class UpdateProtectedRangeRequest { 8523 class UpdateProtectedRangeRequest {
8321 /** 8524 /// The fields that should be updated. At least one field must be specified.
8322 * The fields that should be updated. At least one field must be specified. 8525 /// The root `protectedRange` is implied and should not be specified.
8323 * The root `protectedRange` is implied and should not be specified. 8526 /// A single `"*"` can be used as short-hand for listing every field.
8324 * A single `"*"` can be used as short-hand for listing every field.
8325 */
8326 core.String fields; 8527 core.String fields;
8327 /** The protected range to update with the new properties. */ 8528
8529 /// The protected range to update with the new properties.
8328 ProtectedRange protectedRange; 8530 ProtectedRange protectedRange;
8329 8531
8330 UpdateProtectedRangeRequest(); 8532 UpdateProtectedRangeRequest();
8331 8533
8332 UpdateProtectedRangeRequest.fromJson(core.Map _json) { 8534 UpdateProtectedRangeRequest.fromJson(core.Map _json) {
8333 if (_json.containsKey("fields")) { 8535 if (_json.containsKey("fields")) {
8334 fields = _json["fields"]; 8536 fields = _json["fields"];
8335 } 8537 }
8336 if (_json.containsKey("protectedRange")) { 8538 if (_json.containsKey("protectedRange")) {
8337 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]); 8539 protectedRange = new ProtectedRange.fromJson(_json["protectedRange"]);
8338 } 8540 }
8339 } 8541 }
8340 8542
8341 core.Map<core.String, core.Object> toJson() { 8543 core.Map<core.String, core.Object> toJson() {
8342 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8544 final core.Map<core.String, core.Object> _json =
8545 new core.Map<core.String, core.Object>();
8343 if (fields != null) { 8546 if (fields != null) {
8344 _json["fields"] = fields; 8547 _json["fields"] = fields;
8345 } 8548 }
8346 if (protectedRange != null) { 8549 if (protectedRange != null) {
8347 _json["protectedRange"] = (protectedRange).toJson(); 8550 _json["protectedRange"] = (protectedRange).toJson();
8348 } 8551 }
8349 return _json; 8552 return _json;
8350 } 8553 }
8351 } 8554 }
8352 8555
8353 /** 8556 /// Updates properties of the sheet with the specified
8354 * Updates properties of the sheet with the specified 8557 /// sheetId.
8355 * sheetId.
8356 */
8357 class UpdateSheetPropertiesRequest { 8558 class UpdateSheetPropertiesRequest {
8358 /** 8559 /// The fields that should be updated. At least one field must be specified.
8359 * The fields that should be updated. At least one field must be specified. 8560 /// The root `properties` is implied and should not be specified.
8360 * The root `properties` is implied and should not be specified. 8561 /// A single `"*"` can be used as short-hand for listing every field.
8361 * A single `"*"` can be used as short-hand for listing every field.
8362 */
8363 core.String fields; 8562 core.String fields;
8364 /** The properties to update. */ 8563
8564 /// The properties to update.
8365 SheetProperties properties; 8565 SheetProperties properties;
8366 8566
8367 UpdateSheetPropertiesRequest(); 8567 UpdateSheetPropertiesRequest();
8368 8568
8369 UpdateSheetPropertiesRequest.fromJson(core.Map _json) { 8569 UpdateSheetPropertiesRequest.fromJson(core.Map _json) {
8370 if (_json.containsKey("fields")) { 8570 if (_json.containsKey("fields")) {
8371 fields = _json["fields"]; 8571 fields = _json["fields"];
8372 } 8572 }
8373 if (_json.containsKey("properties")) { 8573 if (_json.containsKey("properties")) {
8374 properties = new SheetProperties.fromJson(_json["properties"]); 8574 properties = new SheetProperties.fromJson(_json["properties"]);
8375 } 8575 }
8376 } 8576 }
8377 8577
8378 core.Map<core.String, core.Object> toJson() { 8578 core.Map<core.String, core.Object> toJson() {
8379 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8579 final core.Map<core.String, core.Object> _json =
8580 new core.Map<core.String, core.Object>();
8380 if (fields != null) { 8581 if (fields != null) {
8381 _json["fields"] = fields; 8582 _json["fields"] = fields;
8382 } 8583 }
8383 if (properties != null) { 8584 if (properties != null) {
8384 _json["properties"] = (properties).toJson(); 8585 _json["properties"] = (properties).toJson();
8385 } 8586 }
8386 return _json; 8587 return _json;
8387 } 8588 }
8388 } 8589 }
8389 8590
8390 /** Updates properties of a spreadsheet. */ 8591 /// Updates properties of a spreadsheet.
8391 class UpdateSpreadsheetPropertiesRequest { 8592 class UpdateSpreadsheetPropertiesRequest {
8392 /** 8593 /// The fields that should be updated. At least one field must be specified.
8393 * The fields that should be updated. At least one field must be specified. 8594 /// The root 'properties' is implied and should not be specified.
8394 * The root 'properties' is implied and should not be specified. 8595 /// A single `"*"` can be used as short-hand for listing every field.
8395 * A single `"*"` can be used as short-hand for listing every field.
8396 */
8397 core.String fields; 8596 core.String fields;
8398 /** The properties to update. */ 8597
8598 /// The properties to update.
8399 SpreadsheetProperties properties; 8599 SpreadsheetProperties properties;
8400 8600
8401 UpdateSpreadsheetPropertiesRequest(); 8601 UpdateSpreadsheetPropertiesRequest();
8402 8602
8403 UpdateSpreadsheetPropertiesRequest.fromJson(core.Map _json) { 8603 UpdateSpreadsheetPropertiesRequest.fromJson(core.Map _json) {
8404 if (_json.containsKey("fields")) { 8604 if (_json.containsKey("fields")) {
8405 fields = _json["fields"]; 8605 fields = _json["fields"];
8406 } 8606 }
8407 if (_json.containsKey("properties")) { 8607 if (_json.containsKey("properties")) {
8408 properties = new SpreadsheetProperties.fromJson(_json["properties"]); 8608 properties = new SpreadsheetProperties.fromJson(_json["properties"]);
8409 } 8609 }
8410 } 8610 }
8411 8611
8412 core.Map<core.String, core.Object> toJson() { 8612 core.Map<core.String, core.Object> toJson() {
8413 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8613 final core.Map<core.String, core.Object> _json =
8614 new core.Map<core.String, core.Object>();
8414 if (fields != null) { 8615 if (fields != null) {
8415 _json["fields"] = fields; 8616 _json["fields"] = fields;
8416 } 8617 }
8417 if (properties != null) { 8618 if (properties != null) {
8418 _json["properties"] = (properties).toJson(); 8619 _json["properties"] = (properties).toJson();
8419 } 8620 }
8420 return _json; 8621 return _json;
8421 } 8622 }
8422 } 8623 }
8423 8624
8424 /** The response when updating a range of values in a spreadsheet. */ 8625 /// The response when updating a range of values in a spreadsheet.
8425 class UpdateValuesResponse { 8626 class UpdateValuesResponse {
8426 /** The spreadsheet the updates were applied to. */ 8627 /// The spreadsheet the updates were applied to.
8427 core.String spreadsheetId; 8628 core.String spreadsheetId;
8428 /** The number of cells updated. */ 8629
8630 /// The number of cells updated.
8429 core.int updatedCells; 8631 core.int updatedCells;
8430 /** 8632
8431 * The number of columns where at least one cell in the column was updated. 8633 /// The number of columns where at least one cell in the column was updated.
8432 */
8433 core.int updatedColumns; 8634 core.int updatedColumns;
8434 /** 8635
8435 * The values of the cells after updates were applied. 8636 /// The values of the cells after updates were applied.
8436 * This is only included if the request's `includeValuesInResponse` field 8637 /// This is only included if the request's `includeValuesInResponse` field
8437 * was `true`. 8638 /// was `true`.
8438 */
8439 ValueRange updatedData; 8639 ValueRange updatedData;
8440 /** The range (in A1 notation) that updates were applied to. */ 8640
8641 /// The range (in A1 notation) that updates were applied to.
8441 core.String updatedRange; 8642 core.String updatedRange;
8442 /** The number of rows where at least one cell in the row was updated. */ 8643
8644 /// The number of rows where at least one cell in the row was updated.
8443 core.int updatedRows; 8645 core.int updatedRows;
8444 8646
8445 UpdateValuesResponse(); 8647 UpdateValuesResponse();
8446 8648
8447 UpdateValuesResponse.fromJson(core.Map _json) { 8649 UpdateValuesResponse.fromJson(core.Map _json) {
8448 if (_json.containsKey("spreadsheetId")) { 8650 if (_json.containsKey("spreadsheetId")) {
8449 spreadsheetId = _json["spreadsheetId"]; 8651 spreadsheetId = _json["spreadsheetId"];
8450 } 8652 }
8451 if (_json.containsKey("updatedCells")) { 8653 if (_json.containsKey("updatedCells")) {
8452 updatedCells = _json["updatedCells"]; 8654 updatedCells = _json["updatedCells"];
8453 } 8655 }
8454 if (_json.containsKey("updatedColumns")) { 8656 if (_json.containsKey("updatedColumns")) {
8455 updatedColumns = _json["updatedColumns"]; 8657 updatedColumns = _json["updatedColumns"];
8456 } 8658 }
8457 if (_json.containsKey("updatedData")) { 8659 if (_json.containsKey("updatedData")) {
8458 updatedData = new ValueRange.fromJson(_json["updatedData"]); 8660 updatedData = new ValueRange.fromJson(_json["updatedData"]);
8459 } 8661 }
8460 if (_json.containsKey("updatedRange")) { 8662 if (_json.containsKey("updatedRange")) {
8461 updatedRange = _json["updatedRange"]; 8663 updatedRange = _json["updatedRange"];
8462 } 8664 }
8463 if (_json.containsKey("updatedRows")) { 8665 if (_json.containsKey("updatedRows")) {
8464 updatedRows = _json["updatedRows"]; 8666 updatedRows = _json["updatedRows"];
8465 } 8667 }
8466 } 8668 }
8467 8669
8468 core.Map<core.String, core.Object> toJson() { 8670 core.Map<core.String, core.Object> toJson() {
8469 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8671 final core.Map<core.String, core.Object> _json =
8672 new core.Map<core.String, core.Object>();
8470 if (spreadsheetId != null) { 8673 if (spreadsheetId != null) {
8471 _json["spreadsheetId"] = spreadsheetId; 8674 _json["spreadsheetId"] = spreadsheetId;
8472 } 8675 }
8473 if (updatedCells != null) { 8676 if (updatedCells != null) {
8474 _json["updatedCells"] = updatedCells; 8677 _json["updatedCells"] = updatedCells;
8475 } 8678 }
8476 if (updatedColumns != null) { 8679 if (updatedColumns != null) {
8477 _json["updatedColumns"] = updatedColumns; 8680 _json["updatedColumns"] = updatedColumns;
8478 } 8681 }
8479 if (updatedData != null) { 8682 if (updatedData != null) {
8480 _json["updatedData"] = (updatedData).toJson(); 8683 _json["updatedData"] = (updatedData).toJson();
8481 } 8684 }
8482 if (updatedRange != null) { 8685 if (updatedRange != null) {
8483 _json["updatedRange"] = updatedRange; 8686 _json["updatedRange"] = updatedRange;
8484 } 8687 }
8485 if (updatedRows != null) { 8688 if (updatedRows != null) {
8486 _json["updatedRows"] = updatedRows; 8689 _json["updatedRows"] = updatedRows;
8487 } 8690 }
8488 return _json; 8691 return _json;
8489 } 8692 }
8490 } 8693 }
8491 8694
8492 /** Data within a range of the spreadsheet. */ 8695 /// Data within a range of the spreadsheet.
8493 class ValueRange { 8696 class ValueRange {
8494 /** 8697 /// The major dimension of the values.
8495 * The major dimension of the values. 8698 ///
8496 * 8699 /// For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
8497 * For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, 8700 /// then requesting `range=A1:B2,majorDimension=ROWS` will return
8498 * then requesting `range=A1:B2,majorDimension=ROWS` will return 8701 /// `[[1,2],[3,4]]`,
8499 * `[[1,2],[3,4]]`, 8702 /// whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
8500 * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return 8703 /// `[[1,3],[2,4]]`.
8501 * `[[1,3],[2,4]]`. 8704 ///
8502 * 8705 /// For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]`
8503 * For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` 8706 /// will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS`
8504 * will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` 8707 /// then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`.
8505 * then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. 8708 ///
8506 * 8709 /// When writing, if this field is not set, it defaults to ROWS.
8507 * When writing, if this field is not set, it defaults to ROWS. 8710 /// Possible string values are:
8508 * Possible string values are: 8711 /// - "DIMENSION_UNSPECIFIED" : The default value, do not use.
8509 * - "DIMENSION_UNSPECIFIED" : The default value, do not use. 8712 /// - "ROWS" : Operates on the rows of a sheet.
8510 * - "ROWS" : Operates on the rows of a sheet. 8713 /// - "COLUMNS" : Operates on the columns of a sheet.
8511 * - "COLUMNS" : Operates on the columns of a sheet.
8512 */
8513 core.String majorDimension; 8714 core.String majorDimension;
8514 /** 8715
8515 * The range the values cover, in A1 notation. 8716 /// The range the values cover, in A1 notation.
8516 * For output, this range indicates the entire requested range, 8717 /// For output, this range indicates the entire requested range,
8517 * even though the values will exclude trailing rows and columns. 8718 /// even though the values will exclude trailing rows and columns.
8518 * When appending values, this field represents the range to search for a 8719 /// When appending values, this field represents the range to search for a
8519 * table, after which values will be appended. 8720 /// table, after which values will be appended.
8520 */
8521 core.String range; 8721 core.String range;
8522 /** 8722
8523 * The data that was read or to be written. This is an array of arrays, 8723 /// The data that was read or to be written. This is an array of arrays,
8524 * the outer array representing all the data and each inner array 8724 /// the outer array representing all the data and each inner array
8525 * representing a major dimension. Each item in the inner array 8725 /// representing a major dimension. Each item in the inner array
8526 * corresponds with one cell. 8726 /// corresponds with one cell.
8527 * 8727 ///
8528 * For output, empty trailing rows and columns will not be included. 8728 /// For output, empty trailing rows and columns will not be included.
8529 * 8729 ///
8530 * For input, supported value types are: bool, string, and double. 8730 /// For input, supported value types are: bool, string, and double.
8531 * Null values will be skipped. 8731 /// Null values will be skipped.
8532 * To set a cell to an empty value, set the string value to an empty string. 8732 /// To set a cell to an empty value, set the string value to an empty string.
8533 * 8733 ///
8534 * The values for Object must be JSON objects. It can consist of `num`, 8734 /// The values for Object must be JSON objects. It can consist of `num`,
8535 * `String`, `bool` and `null` as well as `Map` and `List` values. 8735 /// `String`, `bool` and `null` as well as `Map` and `List` values.
8536 */
8537 core.List<core.List<core.Object>> values; 8736 core.List<core.List<core.Object>> values;
8538 8737
8539 ValueRange(); 8738 ValueRange();
8540 8739
8541 ValueRange.fromJson(core.Map _json) { 8740 ValueRange.fromJson(core.Map _json) {
8542 if (_json.containsKey("majorDimension")) { 8741 if (_json.containsKey("majorDimension")) {
8543 majorDimension = _json["majorDimension"]; 8742 majorDimension = _json["majorDimension"];
8544 } 8743 }
8545 if (_json.containsKey("range")) { 8744 if (_json.containsKey("range")) {
8546 range = _json["range"]; 8745 range = _json["range"];
8547 } 8746 }
8548 if (_json.containsKey("values")) { 8747 if (_json.containsKey("values")) {
8549 values = _json["values"]; 8748 values = _json["values"];
8550 } 8749 }
8551 } 8750 }
8552 8751
8553 core.Map<core.String, core.Object> toJson() { 8752 core.Map<core.String, core.Object> toJson() {
8554 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 8753 final core.Map<core.String, core.Object> _json =
8754 new core.Map<core.String, core.Object>();
8555 if (majorDimension != null) { 8755 if (majorDimension != null) {
8556 _json["majorDimension"] = majorDimension; 8756 _json["majorDimension"] = majorDimension;
8557 } 8757 }
8558 if (range != null) { 8758 if (range != null) {
8559 _json["range"] = range; 8759 _json["range"] = range;
8560 } 8760 }
8561 if (values != null) { 8761 if (values != null) {
8562 _json["values"] = values; 8762 _json["values"] = values;
8563 } 8763 }
8564 return _json; 8764 return _json;
8565 } 8765 }
8566 } 8766 }
OLDNEW
« no previous file with comments | « generated/googleapis/lib/serviceuser/v1.dart ('k') | generated/googleapis/lib/siteverification/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698