Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

download.js 50KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Apps;
  13. (function (Apps) {
  14. let Collaboration;
  15. (function (Collaboration) {
  16. let Components;
  17. (function (Components) {
  18. let Common;
  19. (function (Common) {
  20. class Download extends Unibase.Platform.Core.BaseComponent {
  21. constructor() {
  22. super(...arguments);
  23. this.requestId = 0;
  24. this.actionsWhileCreatingNewFile = [];
  25. }
  26. downloadDocumentFile(FileId, documentGroup, documnetfilename, savetype, documentContainer) {
  27. if (documentGroup == "Word") {
  28. this.fileCacheHelper.loadJsFile("platform/analytics/components/chartviewer/chartviewer.js", () => __awaiter(this, void 0, void 0, function* () {
  29. Unibase.Apps.Collaboration.DocumentManager.Instance().getDocumentFileInfo(FileId).then((response) => {
  30. var result = response.result;
  31. var fileName = result.FileTitle;
  32. var filetype = result.FileType;
  33. documentContainer.save(fileName, savetype);
  34. });
  35. }));
  36. }
  37. else if (documentGroup == "Excel") {
  38. let instance = document.getElementById('DocumentViewer').ej2_instances[0];
  39. instance.saveAsJson().then((res) => {
  40. this.dataForJson = res;
  41. var JSONData = JSON.stringify(this.dataForJson.jsonObject.Workbook);
  42. var sheetIndex = Unibase.Apps.Collaboration.Components.Sheets.Base.Instance().ssObj.activeSheetIndex;
  43. this.data = {
  44. FileId: FileId,
  45. SaveTypeID: savetype,
  46. SheetIndex: sheetIndex,
  47. };
  48. Unibase.Apps.Collaboration.DocumentManager.Instance().spreadSheetDownload(this.data).then((response) => {
  49. this.fileCacheHelper.loadJsFile("tenants/themes/compact/components/notifications/notification.js", () => __awaiter(this, void 0, void 0, function* () {
  50. var path = encodeURIComponent(response.result);
  51. Unibase.Themes.Compact.Components.Notification.Instance().Downloadfile(path);
  52. }));
  53. });
  54. });
  55. }
  56. }
  57. saveDocumentFile(FileId, documentGroup, documentContainer, args, sheetBaseIns) {
  58. return __awaiter(this, void 0, void 0, function* () {
  59. document.getElementsByClassName('biz-ss-saving')[0].style.display = 'inline-block';
  60. if (document.getElementsByClassName("biz-ss-saveicon")[0].classList.contains("biz-ss-cloudsave")) {
  61. document.getElementsByClassName("biz-ss-saveicon")[0].style.display = 'none';
  62. document.getElementsByClassName("biz-ss-cloudloading")[0].style.display = 'inline-block';
  63. }
  64. if (documentGroup == "Word") {
  65. this.data = {
  66. Content: documentContainer.serialize(),
  67. FileId: FileId
  68. };
  69. yield Unibase.Apps.Collaboration.DocumentManager.Instance().saveWord(this.data).then((response) => {
  70. var result = response;
  71. Unibase.Apps.Collaboration.Components.DocEditor.Base.Instance().editDetails();
  72. });
  73. }
  74. else if (documentGroup == "Excel") {
  75. this.ssAutoSave(args, sheetBaseIns, true);
  76. }
  77. setTimeout(function () {
  78. return __awaiter(this, void 0, void 0, function* () {
  79. if (document.getElementsByClassName("biz-ss-saveicon")[0].classList.contains("biz-ss-cloudsave")) {
  80. document.getElementsByClassName("biz-ss-saveicon")[0].style.display = 'inline-block';
  81. document.getElementsByClassName("biz-ss-cloudloading")[0].style.display = 'none';
  82. document.getElementsByClassName('biz-ss-saving')[0].style.display = 'none';
  83. }
  84. });
  85. }, 1000);
  86. });
  87. }
  88. getCellWithRowAndColByRange(range, sheet) {
  89. let idx = ej.spreadsheet.getIndexesFromAddress(range);
  90. return { SheetIndex: this.baseIns.ssObj.biz.getSheetIndexByname(sheet.name), row: idx[0], cell: idx[1], cellInfo: this.baseIns.ssObj.biz.getCell(idx[0], idx[1], sheet) };
  91. }
  92. ssAutoSave(args, base, saveversion, callback) {
  93. if (base.permissionLevel !== Unibase.Apps.Collaboration.Enums.Share.Viewer) {
  94. this.requestId++;
  95. let refId;
  96. let action = args.action;
  97. let data;
  98. this.baseIns = base;
  99. let indexes = base.ssObj.biz.getIndexes();
  100. let sheet = base.ssObj.biz.getActiveSheet();
  101. let sheetIdx = base.getSheetIndex();
  102. let saveType = "cell";
  103. let isCreateNewFile = false;
  104. let changedValue = [];
  105. let isCut = false;
  106. console.log("Save start " + action + " " + Date());
  107. if (args.action == "resize") {
  108. (args.eventArgs.isCol) ? action = "colResize" : action = "rowResize";
  109. }
  110. ;
  111. (args.eventArgs) && (args.eventArgs.modelType) && (args.eventArgs.modelType == "Sheet" && action == "insert") && (action = "insertSheet");
  112. (args.action == "delete") && (args.eventArgs.modelType == "Row") && (action = "deleteRow");
  113. (args.action == "delete") && (args.eventArgs.modelType == "Column") && (action = "deleteCol");
  114. if (args.action == "insertshiftright" || args.action == "deleteshiftleft") {
  115. action = "shiftright&left";
  116. }
  117. if (args.action == "insertshiftdown" || args.action == "deleteshiftup") {
  118. action = "shiftup&down";
  119. }
  120. if (args.action != "import" && args.action != "gotoSheet" && !this.baseIns.isCreatingNewFile) {
  121. !(base.FileId) && (isCreateNewFile = true, this.baseIns.isCreatingNewFile = true, refId = Unibase.Themes.Providers.DetailHelper.recordId);
  122. switch (action) {
  123. case "cellSave":
  124. indexes = this.baseIns.getIndexesFromAddress(args.eventArgs.address.split("!")[1]);
  125. changedValue = [{ Row: indexes[0], Cell: indexes[3], CellInfo: sheet.rows[indexes[0]].cells[indexes[3]] }];
  126. data = {
  127. changedvalues: changedValue,
  128. iscreatenewfile: isCreateNewFile,
  129. FileId: base.FileId,
  130. sheetIndex: sheetIdx,
  131. autosavetype: saveType,
  132. requestId: this.requestId,
  133. };
  134. break;
  135. case "format":
  136. case "validation":
  137. case "shortcuts":
  138. case "autofill":
  139. case "removeDuplicates":
  140. case "trim":
  141. for (var i = indexes[0]; i <= indexes[2]; i++) {
  142. for (var j = indexes[1]; j <= indexes[3]; j++) {
  143. var cellInfo = ej.spreadsheet.getCell(i, j, sheet);
  144. let obj = { Row: i, cell: j, CellInfo: cellInfo };
  145. (obj.CellInfo) && (obj.CellInfo.validation) && (obj.CellInfo.validation.inCellDropDown == null) && (obj.CellInfo.validation.inCellDropDown = false);
  146. changedValue.push(obj);
  147. }
  148. }
  149. data = {
  150. changedvalues: changedValue,
  151. iscreatenewfile: isCreateNewFile,
  152. FileId: base.FileId,
  153. sheetIndex: sheetIdx,
  154. autosavetype: saveType,
  155. modelType: (args.eventArgs) ? args.eventArgs.modelType : null,
  156. requestId: this.requestId,
  157. saveversions: saveversion,
  158. };
  159. break;
  160. case "insertImage":
  161. case "deleteChart":
  162. case "cellDelete":
  163. case "insertChart":
  164. case "multipleCells":
  165. setTimeout(() => {
  166. (action == "deleteChart") && (indexes = base.getIndexesFromAddress(args.eventArgs.range.split("!")[1]));
  167. for (var i = indexes[0]; i <= indexes[2]; i++) {
  168. for (var j = indexes[1]; j <= indexes[3]; j++) {
  169. var cellInfo = ej.spreadsheet.getCell(i, j, sheet);
  170. let obj = { Row: i, cell: j, CellInfo: cellInfo };
  171. (action == "deleteChart") && (cellInfo.chart) && (cellInfo.chart.pop(cellInfo.chart.find(x => x.id = args.eventArgs.id))) && (cellInfo.chart.length == 0) && (cellInfo.chart = null);
  172. (obj.CellInfo) && (obj.CellInfo.validation) && (obj.CellInfo.validation.inCellDropDown == null) && (obj.CellInfo.validation.inCellDropDown = false);
  173. if (action == "insertImage") {
  174. cellInfo.image.forEach(image => {
  175. image.left = parseInt(image.left);
  176. image.height = parseInt(image.height);
  177. image.top = parseInt(image.top);
  178. image.width = parseInt(image.width);
  179. });
  180. }
  181. else if (action == "cellDelete" && cellInfo && cellInfo.image && cellInfo.image[0] && cellInfo.image.findIndex(x => x.id.startsWith("biz_image_in_cell")) !== -1) {
  182. let index = cellInfo.image.findIndex(x => x.id.startsWith("biz_image_in_cell"));
  183. cellInfo.image.splice(index, 1);
  184. }
  185. changedValue.push(obj);
  186. }
  187. }
  188. data = {
  189. changedvalues: changedValue,
  190. iscreatenewfile: isCreateNewFile,
  191. FileId: base.FileId,
  192. sheetIndex: sheetIdx,
  193. saveversions: saveversion,
  194. autosavetype: saveType,
  195. modelType: (args.eventArgs) ? args.eventArgs.modelType : null,
  196. requestId: this.requestId,
  197. };
  198. (isCreateNewFile) && (data["folderId"] = this.baseIns.folderId);
  199. (data) && Unibase.Apps.Collaboration.DocumentManager.Instance().ssAutoSave(data);
  200. }, 10);
  201. break;
  202. case "imageRefresh":
  203. data = {
  204. changedvalues: args.changedValues,
  205. iscreatenewfile: isCreateNewFile,
  206. FileId: base.FileId,
  207. sheetIndex: sheetIdx,
  208. autosavetype: saveType,
  209. requestId: this.requestId,
  210. saveversions: saveversion,
  211. };
  212. break;
  213. case "insert":
  214. saveType = "addRowsAndColumn";
  215. data = {
  216. Indexes: this.baseIns.ssObj.biz.getIndexes(),
  217. iscreatenewfile: isCreateNewFile,
  218. FileId: base.FileId,
  219. sheetIndex: sheet.index,
  220. autosavetype: saveType,
  221. modelType: args.eventArgs.modelType,
  222. saveversions: saveversion,
  223. requestId: this.requestId,
  224. RowIndex: args.eventArgs.index,
  225. InsertType: args.eventArgs.insertType,
  226. };
  227. break;
  228. case "moveSheet":
  229. saveType = "moveSheet";
  230. data = {
  231. FileId: base.FileId,
  232. sheetIndex: sheet.index,
  233. autosavetype: saveType,
  234. saveversions: saveversion,
  235. requestId: this.requestId,
  236. Indexes: [args.sheetIndexes.pop(), args.position],
  237. };
  238. break;
  239. case "deleteRow":
  240. saveType = "deleteRow";
  241. data = {
  242. Indexes: [args.eventArgs.startIndex, args.eventArgs.endIndex - args.eventArgs.startIndex + 1],
  243. iscreatenewfile: isCreateNewFile,
  244. FileId: base.FileId,
  245. saveversions: saveversion,
  246. sheetIndex: sheetIdx,
  247. autosavetype: saveType,
  248. requestId: this.requestId,
  249. };
  250. break;
  251. case "deleteCol":
  252. saveType = "deleteColumn";
  253. var usedrangeindex = [];
  254. var usedrange = this.baseIns.ssObj.getActiveSheet().usedRange;
  255. usedrangeindex.push(usedrange.colIndex);
  256. usedrangeindex.push(usedrange.rowIndex);
  257. data = {
  258. Indexes: [args.eventArgs.startIndex, args.eventArgs.endIndex - args.eventArgs.startIndex + 1],
  259. iscreatenewfile: isCreateNewFile,
  260. FileId: base.FileId,
  261. sheetIndex: sheetIdx,
  262. autosavetype: saveType,
  263. saveversions: saveversion,
  264. requestId: this.requestId,
  265. RowIndex: args.eventArgs.index,
  266. };
  267. break;
  268. case "shiftright&left":
  269. saveType = "shiftright&left";
  270. data = {
  271. Indexes: this.baseIns.ssObj.biz.getIndexes(),
  272. iscreatenewfile: isCreateNewFile,
  273. FileId: base.FileId,
  274. sheetIndex: sheetIdx,
  275. autosavetype: saveType,
  276. saveversions: saveversion,
  277. requestId: this.requestId,
  278. Action: args.action,
  279. UsedRange: usedrangeindex,
  280. };
  281. break;
  282. case "shiftup&down":
  283. setTimeout(() => {
  284. saveType = "shiftup&down";
  285. var usedrangeindex = [];
  286. var usedrange = this.baseIns.ssObj.getActiveSheet().usedRange;
  287. usedrangeindex.push(usedrange.rowIndex);
  288. usedrangeindex.push(usedrange.colIndex);
  289. data = {
  290. Indexes: this.baseIns.ssObj.biz.getIndexes(),
  291. iscreatenewfile: isCreateNewFile,
  292. FileId: base.FileId,
  293. sheetIndex: sheetIdx,
  294. autosavetype: saveType,
  295. saveversions: saveversion,
  296. requestId: this.requestId,
  297. Action: args.action,
  298. UsedRange: usedrangeindex,
  299. };
  300. (isCreateNewFile) && (data["folderId"] = this.baseIns.folderId);
  301. (data) && Unibase.Apps.Collaboration.DocumentManager.Instance().ssAutoSave(data);
  302. }, 0);
  303. break;
  304. case "headers":
  305. saveType = "headers";
  306. data = {
  307. FileId: base.FileId,
  308. iscreatenewfile: isCreateNewFile,
  309. sheetIndex: args.eventArgs.sheetIdx,
  310. showHeader: args.eventArgs.isShow,
  311. autosavetype: saveType,
  312. saveversions: saveversion,
  313. requestId: this.requestId,
  314. };
  315. break;
  316. case "gridLines":
  317. saveType = "gridlines";
  318. data = {
  319. FileId: base.FileId,
  320. iscreatenewfile: isCreateNewFile,
  321. sheetIndex: args.eventArgs.sheetIdx,
  322. showGridlines: args.eventArgs.isShow,
  323. autosavetype: saveType,
  324. saveversions: saveversion,
  325. requestId: this.requestId,
  326. };
  327. break;
  328. case "freezePanes":
  329. saveType = "freezepanes";
  330. data = {
  331. FileId: base.FileId,
  332. iscreatenewfile: isCreateNewFile,
  333. sheetIndex: args.eventArgs.sheetIdx,
  334. freezeRow: args.eventArgs.row,
  335. freezeColumn: args.eventArgs.column,
  336. autosavetype: saveType,
  337. saveversions: saveversion,
  338. requestId: this.requestId,
  339. };
  340. break;
  341. case "insertCell":
  342. saveType = "selectedRows";
  343. data = {
  344. FileId: base.FileId,
  345. iscreatenewfile: isCreateNewFile,
  346. sheetIndex: sheetIdx,
  347. autosavetype: saveType,
  348. rowInfo: sheet.rows[indexes[0]],
  349. indexes: indexes,
  350. saveversions: saveversion,
  351. requestId: this.requestId,
  352. };
  353. break;
  354. case "conditionalFormat":
  355. saveType = "conditionalFormat";
  356. changedValue = [{ Row: indexes[0], Cell: indexes[3], ConditionalFormat: sheet.conditionalFormats }];
  357. data = {
  358. changedvalues: changedValue,
  359. iscreatenewfile: isCreateNewFile,
  360. FileId: base.FileId,
  361. sheetIndex: sheetIdx,
  362. autosavetype: saveType,
  363. saveversions: saveversion,
  364. requestId: this.requestId,
  365. };
  366. break;
  367. case "clipboard":
  368. if (args.eventArgs && args.eventArgs.copiedInfo && args.eventArgs.copiedInfo.isCut == true) {
  369. isCut = true;
  370. var cutSheetIndex = base.ssObj.biz.getSheetIndexByname(args.eventArgs.copiedRange.split("!")[0]);
  371. var cutCellIndexes = base.swapRange(ej.spreadsheet.getIndexesFromAddress(args.eventArgs.copiedRange.split("!")[1]));
  372. }
  373. for (var i = indexes[0]; i <= indexes[2]; i++) {
  374. for (var j = indexes[1]; j <= indexes[3]; j++) {
  375. var cellInfo = ej.spreadsheet.getCell(i, j, sheet);
  376. let obj = { Row: i, cell: j, CellInfo: cellInfo };
  377. changedValue.push(obj);
  378. }
  379. }
  380. data = {
  381. changedvalues: changedValue,
  382. iscreatenewfile: isCreateNewFile,
  383. FileId: base.FileId,
  384. sheetIndex: args.eventArgs.pasteSheetIndex,
  385. autosavetype: saveType,
  386. cutSheetIndex: cutSheetIndex,
  387. cutCellIndexes: cutCellIndexes,
  388. isCut: isCut,
  389. saveversions: saveversion,
  390. requestId: this.requestId,
  391. };
  392. break;
  393. case "cellDrag":
  394. data = {
  395. changedvalues: args.changedValue,
  396. iscreatenewfile: isCreateNewFile,
  397. FileId: base.FileId,
  398. sheetIndex: sheetIdx,
  399. autosavetype: saveType,
  400. cutSheetIndex: sheetIdx,
  401. cutCellIndexes: args.cutCellIdxs,
  402. isCut: true,
  403. saveversions: saveversion,
  404. requestId: this.requestId,
  405. };
  406. break;
  407. case "newspreadsheet":
  408. saveType = "newspreadsheet";
  409. data = {
  410. FileId: 0,
  411. iscreatenewfile: isCreateNewFile,
  412. autosavetype: saveType,
  413. requestId: this.requestId,
  414. saveversions: saveversion,
  415. };
  416. break;
  417. case "replaceAll":
  418. case "replace":
  419. saveType = "replaceAll";
  420. if (action == "replaceAll") {
  421. args.eventArgs.addressCollection.forEach((e) => {
  422. let sheet = this.baseIns.ssObj.biz.getSheetByName(e.split("!")[0]);
  423. changedValue.push(this.getCellWithRowAndColByRange(e.split("!")[1], sheet));
  424. });
  425. }
  426. else {
  427. let sheet = this.baseIns.ssObj.biz.getSheetByName(args.eventArgs.address.split("!")[0]);
  428. changedValue.push(this.getCellWithRowAndColByRange(args.eventArgs.address.split("!")[1], sheet));
  429. }
  430. data = {
  431. changedvalues: changedValue,
  432. FileId: base.FileId,
  433. sheetIndex: args.eventArgs.pasteSheetIndex,
  434. autosavetype: saveType,
  435. saveversions: saveversion,
  436. requestId: this.requestId,
  437. };
  438. break;
  439. case "insertSheet":
  440. let sheetIndex = args.eventArgs.index;
  441. sheet = base.ssObj.sheets[sheetIndex];
  442. saveType = "insertsheet";
  443. data = {
  444. FileId: base.FileId,
  445. iscreatenewfile: isCreateNewFile,
  446. autosavetype: saveType,
  447. sheet: sheet,
  448. sheetIndex: sheetIndex,
  449. saveversions: saveversion,
  450. requestId: this.requestId,
  451. };
  452. break;
  453. case "removeSheet":
  454. saveType = "removeSheet";
  455. data = {
  456. FileId: base.FileId,
  457. autosavetype: saveType,
  458. sheetIndex: args.sheetIndex,
  459. saveversions: saveversion,
  460. requestId: this.requestId,
  461. };
  462. break;
  463. case "applyFilter":
  464. saveType = "applyFilter";
  465. data = {
  466. FileId: base.FileId,
  467. autosavetype: saveType,
  468. filter: args.collection,
  469. requestId: this.requestId,
  470. };
  471. break;
  472. case "removeFilter":
  473. saveType = "removeFilter";
  474. data = {
  475. FileId: base.FileId,
  476. autosavetype: saveType,
  477. sheetIndex: args.sheetIndex,
  478. requestId: this.requestId,
  479. };
  480. break;
  481. case "updateFilter":
  482. saveType = "updateFilter";
  483. data = {
  484. FileId: base.FileId,
  485. autosavetype: saveType,
  486. filter: args.collection,
  487. requestId: this.requestId,
  488. sheetIndex: sheetIdx,
  489. };
  490. break;
  491. case "renameSheet":
  492. saveType = "renameSheet";
  493. data = {
  494. FileId: base.FileId,
  495. autosavetype: saveType,
  496. SheetIndex: sheetIdx,
  497. SheetName: args.eventArgs.value,
  498. requestId: this.requestId,
  499. };
  500. break;
  501. case 'destroy':
  502. var contId = $("._bizgaze_popup_container:visible").attr("id");
  503. $('#' + contId).modal('hide');
  504. $('#' + contId).remove();
  505. window.close();
  506. break;
  507. case "copytonewspreadsheet":
  508. saveType = "newwbsheets";
  509. let currentSheet = base.ssObj.workbookSaveModule.getStringifyObject(base.ssObj.sheets[sheetIdx]);
  510. let sheetName = base.FileName;
  511. data = {
  512. FileId: 0,
  513. iscreatenewfile: isCreateNewFile,
  514. autosavetype: saveType,
  515. sheet: currentSheet,
  516. requestId: this.requestId,
  517. saveversions: saveversion,
  518. sheetName: sheetName,
  519. };
  520. break;
  521. case "colResize":
  522. setTimeout(() => {
  523. saveType = "colResize";
  524. if (args.eventArgs.index && !args.indexes)
  525. args['indexes'] = [0, args.eventArgs.index, 0, args.eventArgs.index];
  526. else if (!(args.indexes && args.eventArgs.index))
  527. args['indexes'] = this.baseIns.ssObj.biz.getIndexes();
  528. data = {
  529. FileId: base.FileId,
  530. iscreatenewfile: isCreateNewFile,
  531. autosavetype: saveType,
  532. sheetIndex: sheetIdx,
  533. requestId: this.requestId,
  534. width: parseInt(args.eventArgs.width),
  535. saveversions: saveversion,
  536. indexes: args.indexes,
  537. };
  538. (isCreateNewFile) && (data["folderId"] = this.baseIns.folderId);
  539. (data) && Unibase.Apps.Collaboration.DocumentManager.Instance().ssAutoSave(data);
  540. }, 100);
  541. break;
  542. case "rowResize":
  543. setTimeout(() => {
  544. saveType = "rowResize";
  545. if (args.eventArgs.index && !args.indexes)
  546. args['indexes'] = [args.eventArgs.index, 0, args.eventArgs.index, 0];
  547. else if (!(args.indexes && args.eventArgs.index))
  548. args['indexes'] = this.baseIns.ssObj.biz.getIndexes();
  549. data = {
  550. FileId: base.FileId,
  551. iscreatenewfile: isCreateNewFile,
  552. autosavetype: saveType,
  553. sheetIndex: sheetIdx,
  554. requestId: this.requestId,
  555. height: parseInt(args.eventArgs.height),
  556. indexes: args.indexes,
  557. saveversions: saveversion,
  558. };
  559. (isCreateNewFile) && (data["folderId"] = this.baseIns.folderId);
  560. (data) && Unibase.Apps.Collaboration.DocumentManager.Instance().ssAutoSave(data);
  561. }, 100);
  562. break;
  563. case "imageincell":
  564. data = {
  565. FileId: base.FileId,
  566. iscreatenewfile: isCreateNewFile,
  567. autosavetype: saveType,
  568. requestId: this.requestId,
  569. sheetIndex: sheetIdx,
  570. saveversions: saveversion,
  571. changedvalues: args.changedValues,
  572. };
  573. break;
  574. case "createNewSpreadsheet":
  575. isCreateNewFile = true;
  576. saveType = "createNewSpreadsheet";
  577. data = {
  578. iscreatenewfile: isCreateNewFile,
  579. autosavetype: saveType,
  580. requestId: this.requestId,
  581. sheetname: document.getElementsByClassName("biz-ss-filename")[0].value
  582. };
  583. break;
  584. case "headerResize":
  585. saveType = "headerResize";
  586. data = {
  587. FileId: base.FileId,
  588. iscreatenewfile: isCreateNewFile,
  589. autosavetype: saveType,
  590. requestId: this.requestId,
  591. sheetIndex: sheetIdx,
  592. saveversions: saveversion,
  593. multipleheaderresize: args.resizedHeaders
  594. };
  595. break;
  596. case "duplicateSheet":
  597. saveType = "duplicateSheet";
  598. data = {
  599. FileId: base.FileId,
  600. autosavetype: saveType,
  601. requestId: this.requestId,
  602. sheetIndex: args.sheetIndex,
  603. saveversions: saveversion,
  604. };
  605. break;
  606. case "deleteImage":
  607. saveType = "deleteImage";
  608. data = {
  609. FileId: base.FileId,
  610. autosavetype: saveType,
  611. requestId: this.requestId,
  612. saveversions: saveversion,
  613. sheetIndex: sheetIdx,
  614. imageId: args.id,
  615. imageSource: args.src,
  616. };
  617. break;
  618. case "resizeToAutoFitColumn":
  619. saveType = "resizeToAutoFitColumn";
  620. data = {
  621. FileId: base.FileId,
  622. autosavetype: saveType,
  623. requestId: this.requestId,
  624. saveversions: saveversion,
  625. sheetIndex: sheetIdx,
  626. indexes: args.eventArgs.selectedRange,
  627. ColumnWidth: args.eventArgs.columns,
  628. };
  629. break;
  630. case "resizeToAutoFitRow":
  631. saveType = "resizeToAutoFitRow";
  632. data = {
  633. FileId: base.FileId,
  634. autosavetype: saveType,
  635. requestId: this.requestId,
  636. saveversions: saveversion,
  637. sheetIndex: sheetIdx,
  638. indexes: args.eventArgs.selectedRange,
  639. RowHeight: args.eventArgs.rows,
  640. };
  641. break;
  642. case "wrap":
  643. saveType = "wrap";
  644. let indxs = ej.spreadsheet.getIndexesFromAddress(args.eventArgs.address.split("!")[1]);
  645. data = {
  646. FileId: base.FileId,
  647. autosavetype: saveType,
  648. requestId: this.requestId,
  649. saveversions: saveversion,
  650. sheetIndex: sheetIdx,
  651. indexes: indxs,
  652. wrap: args.eventArgs.wrap,
  653. };
  654. break;
  655. }
  656. (isCreateNewFile) && (data["folderId"] = this.baseIns.folderId);
  657. (data) && Unibase.Apps.Collaboration.DocumentManager.Instance().ssAutoSave(data).then((response) => {
  658. this.baseIns.editDetails();
  659. console.log("Save end " + action + " " + Date());
  660. if (action === "insertSheet" || action === "removeSheet") {
  661. Unibase.Apps.Collaboration.DocumentManager.Instance().getCustomJsonData(base.FileId).then((res) => {
  662. base.customresult = res.result.tabcolors;
  663. });
  664. }
  665. else if (response.message == "New spreadsheet has been created" && action !== "copytonewspreadsheet") {
  666. this.baseIns.FileId = response.result.FileId;
  667. this.baseIns.fileurl = response.result.FileUrl;
  668. this.baseIns.FileName = response.result.FileTitle;
  669. this.baseIns.isCreatingNewFile = false;
  670. for (var i = 0; i < this.actionsWhileCreatingNewFile.length; i++) {
  671. this.ssAutoSave(this.actionsWhileCreatingNewFile[i], this.baseIns, true);
  672. }
  673. }
  674. else if ((action === "copytonewspreadsheet" && response.message === "New spreadsheet has been created")) {
  675. if (callback != null) {
  676. callback();
  677. }
  678. }
  679. });
  680. }
  681. else {
  682. this.actionsWhileCreatingNewFile.push(args);
  683. }
  684. }
  685. }
  686. static Instance() {
  687. if (this.instance === undefined) {
  688. this.instance = new Download();
  689. }
  690. return this.instance;
  691. }
  692. }
  693. Common.Download = Download;
  694. })(Common = Components.Common || (Components.Common = {}));
  695. })(Components = Collaboration.Components || (Collaboration.Components = {}));
  696. })(Collaboration = Apps.Collaboration || (Apps.Collaboration = {}));
  697. })(Apps = Unibase.Apps || (Unibase.Apps = {}));
  698. })(Unibase || (Unibase = {}));