@gudhub/core 1.1.9 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,13 +40,32 @@ export function compiler(scheme, item, util, variables) {
40
40
  );
41
41
 
42
42
  if(scheme.isSortable && scheme.field_id_to_sort && scheme.field_id_to_sort !== '') {
43
- filteredItems = filteredItems.sort((a, b) => {
43
+
44
+ let itemsWithValue = filteredItems.flatMap(item => {
45
+ let fieldToSort = item.fields.find(field => field.field_id == scheme.field_id_to_sort);
46
+ if(!fieldToSort || fieldToSort.field_value == '') {
47
+ return [];
48
+ } else {
49
+ return item;
50
+ }
51
+ });
52
+
53
+ let itemsWithoutValue = filteredItems.filter(item => {
54
+ if(!itemsWithValue.includes(item)) {
55
+ return item;
56
+ }
57
+ });
58
+
59
+ itemsWithValue = itemsWithValue.sort((a, b) => {
44
60
  if(scheme.sortType == 'desc') {
45
61
  return b.fields.find(field => field.field_id == scheme.field_id_to_sort).field_value - a.fields.find(field => field.field_id == scheme.field_id_to_sort).field_value;
46
62
  } else {
47
63
  return a.fields.find(field => field.field_id == scheme.field_id_to_sort).field_value - b.fields.find(field => field.field_id == scheme.field_id_to_sort).field_value;
48
64
  }
49
- });
65
+ })
66
+
67
+ filteredItems = [ ...itemsWithValue, ...itemsWithoutValue ];
68
+
50
69
  }
51
70
 
52
71
  const arrayOfItemsWithProperties = filteredItems.map(async (item) => {
@@ -115,9 +134,10 @@ export function compiler(scheme, item, util, variables) {
115
134
  }
116
135
  }
117
136
 
118
- async function getFilteredItems(filtersList, app_id, item_id, itemsList) {
137
+ async function getFilteredItems(filtersList, element_app_id, app_id, item_id, itemsList) {
119
138
  const modified_filters_list = await util.gudhub.prefilter(
120
139
  filtersList,
140
+ element_app_id,
121
141
  app_id,
122
142
  item_id,
123
143
  variables
@@ -135,6 +155,7 @@ export function compiler(scheme, item, util, variables) {
135
155
  return filtersList.length ? getFilteredItems(
136
156
  filtersList,
137
157
  app.app_id,
158
+ app.app_id,
138
159
  item.item_id,
139
160
  itemsList
140
161
  ) : [...itemsList ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gudhub/core",
3
- "version": "1.1.9",
3
+ "version": "1.1.12",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -167,7 +167,7 @@ var e,t=arguments[3],n=require("process");!function(n){if("object"==typeof expor
167
167
  },{}],"xR4c":[function(require,module,exports) {
168
168
  "use strict";function e(){return'function createList(items) {\n return items.reduce(\n (acc, item) => {\n acc.list[item.item_id] = item;\n acc.ids.push(item.item_id);\n return acc;\n },\n { ids: [], list: {} }\n );\n };\n function compareItemsLists(oldItems, newItems) {\n const { ids: oldIds, list: oldList } = createList(oldItems);\n const { ids: newIds, list: newList } = createList(newItems);\n\n const deletedItemsIds = oldIds.filter((id) => !newIds.includes(id));\n const recentItemsIds = oldIds.filter((id) => !deletedItemsIds.includes(id));\n const newItemsIds = newIds.filter((id) => !oldIds.includes(id));\n\n const diff_fields_items = {};\n const diff_fields_items_Ids = [];\n \n recentItemsIds.forEach((id) => {\n const newItem = newList[id];\n const oldItem = oldList[id];\n\n oldItem.fields.forEach((field1) => {\n const sameField = newItem.fields.find(\n (field2) => Number(field2.field_id) === Number(field1.field_id)\n );\n\n if (!sameField) {\n if (!diff_fields_items[newItem.item_id]) {\n diff_fields_items[newItem.item_id] = [];\n diff_fields_items_Ids.push(newItem.item_id);\n }\n\n return diff_fields_items[newItem.item_id].push(field1);\n }\n\n if (field1.field_value != sameField.field_value) {\n if (!diff_fields_items[newItem.item_id]) {\n diff_fields_items[newItem.item_id] = [];\n diff_fields_items_Ids.push(newItem.item_id);\n }\n return diff_fields_items[newItem.item_id].push(field1);\n }\n });\n });\n\n return {\n newItems: newItemsIds.reduce((acc, id) => {\n acc.push(newList[id]);\n return acc;\n }, []),\n deletedItems: deletedItemsIds.reduce((acc, id) => {\n acc.push(oldList[id]);\n return acc;\n }, []),\n diff_fields_items_Ids,\n diff_fields_items,\n diff_items: diff_fields_items_Ids.reduce((acc, id) => {\n acc.push(oldList[id]);\n return acc;\n }, []),\n };\n }\n\n self.addEventListener("message", (event) => {\n const { items_list1, items_list2 } = event.data;\n\n const diff = compareItemsLists(items_list1, items_list2);\n self.postMessage({ diff });\n });'}Object.defineProperty(exports,"__esModule",{value:!0}),exports.compare_items_lists_Worker=e;
169
169
  },{}],"nKaW":[function(require,module,exports) {
170
- "use strict";function e(e){return u(e)||n(e)||t(e)||r()}function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function t(e,r){if(e){if("string"==typeof e)return i(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}function n(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function u(e){if(Array.isArray(e))return i(e)}function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach(function(r){c(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r,t,n,u,i,a){try{var o=e[i](a),c=o.value}catch(s){return void t(s)}o.done?r(c):Promise.resolve(c).then(n,u)}function p(e){return function(){var r=this,t=arguments;return new Promise(function(n,u){var i=e.apply(r,t);function a(e){s(i,n,u,a,o,"next",e)}function o(e){s(i,n,u,a,o,"throw",e)}a(void 0)})}}function f(r,t,n,u){function i(e,r,t){return a.apply(this,arguments)}function a(){return(a=p(regeneratorRuntime.mark(function e(r,t,n){var u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(u=null,"array"!==r.type){e.next=13;break}if(!Number(r.is_static)){e.next=10;break}return e.t0=Array,e.next=6,b(r.childs,t,n);case 6:e.t1=e.sent,u=new e.t0(e.t1),e.next=13;break;case 10:return e.next=12,s(r,t,n);case 12:u=e.sent;case 13:if("object"!==r.type){e.next=23;break}if(!Number(r.current_item)){e.next=20;break}return e.next=17,l(r,t);case 17:u=e.sent,e.next=23;break;case 20:return e.next=22,b(r.childs,t,n);case 22:u=e.sent;case 23:if("property"!==r.type){e.next=27;break}return e.next=26,y(r,t,n);case 26:u=e.sent;case 27:return e.abrupt("return",c({},r.property_name,u));case 28:case"end":return e.stop()}},e)}))).apply(this,arguments)}function s(e,r,t){return f.apply(this,arguments)}function f(){return(f=p(regeneratorRuntime.mark(function e(r,t,u){var i,a,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.gudhub.getApp(Number(r.app_id));case 2:return i=e.sent,e.next=5,g(r.filter,i.items_list,u,t);case 5:return a=e.sent,r.isSortable&&r.field_id_to_sort&&""!==r.field_id_to_sort&&(a=a.sort(function(e,t){return"desc"==r.sortType?t.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value-e.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value:e.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value-t.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value})),o=a.map(function(){var e=p(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",b(r.childs,t,i));case 1:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(o));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function l(e,r){return d.apply(this,arguments)}function d(){return(d=p(regeneratorRuntime.mark(function e(r,t){var u,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.gudhub.getApp(r.app_id);case 2:return u=e.sent,i=u.items_list||[],e.abrupt("return",b(r.childs,t||i[0],u));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e,r,t){return m.apply(this,arguments)}function m(){return(m=p(regeneratorRuntime.mark(function e(r,t,n){var u,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.map(function(){var e=p(regeneratorRuntime.mark(function e(r){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i(r,t,n));case 1:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}());case 2:return u=e.sent,e.next=5,Promise.all(u);case 5:return a=e.sent,e.abrupt("return",a.reduce(function(e,r){return o(o({},e),r)},{}));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e,r,t){return h.apply(this,arguments)}function h(){return(h=p(regeneratorRuntime.mark(function r(t,u,i){var a,o,c,s,p;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:r.t0=t.property_type,r.next="static"===r.t0?3:"variable"===r.t0?4:"field_id"===r.t0?9:"function"===r.t0?10:(r.t0,20);break;case 3:return r.abrupt("return",t.static_field_value);case 4:r.t1=t.variable_type,r.next="app_id"===r.t1?7:(r.t1,8);break;case 7:return r.abrupt("return",i.app_id);case 8:return r.abrupt("return","".concat(i.app_id,".").concat(u.item_id));case 9:return r.abrupt("return",t.field_id);case 10:if("function"!=typeof t.function){r.next=15;break}return a=t.function.apply(t,[u,i].concat(e(t.args))),r.abrupt("return",a);case 15:return o=new Function("item, app","return (async "+t.function+")(item, app)"),r.next=18,o(u,i);case 18:return c=r.sent,r.abrupt("return",c);case 20:if(!Boolean(Number(t.interpretation))){r.next=27;break}return r.next=23,n.gudhub.getInterpretationById(Number(i.app_id),Number(u.item_id),Number(t.field_id),"value");case 23:return s=r.sent,r.abrupt("return",s);case 27:return r.next=29,n.gudhub.getFieldValue(Number(i.app_id),Number(u.item_id),Number(t.field_id));case 29:return p=r.sent,r.abrupt("return",p);case 31:case"end":return r.stop()}},r)}))).apply(this,arguments)}function _(e,r,t,n){return v.apply(this,arguments)}function v(){return(v=p(regeneratorRuntime.mark(function r(t,i,a,o){var c;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,n.gudhub.prefilter(t,i,a,u);case 2:return c=r.sent,r.abrupt("return",n.gudhub.filter(o,[].concat(e(c),e(t))));case 4:case"end":return r.stop()}},r)}))).apply(this,arguments)}function g(){return x.apply(this,arguments)}function x(){return(x=p(regeneratorRuntime.mark(function r(){var t,n,u,i,a=arguments;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:[],n=a.length>1&&void 0!==a[1]?a[1]:[],u=a.length>2&&void 0!==a[2]?a[2]:{},i=a.length>3&&void 0!==a[3]?a[3]:{},r.abrupt("return",t.length?_(t,u.app_id,i.item_id,n):e(n));case 5:case"end":return r.stop()}},r)}))).apply(this,arguments)}return i(r,t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.compiler=f;
170
+ "use strict";function e(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function r(r){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?e(Object(n),!0).forEach(function(e){c(r,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})}return r}function t(e){return a(e)||i(e)||u(e)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}function i(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function a(e){if(Array.isArray(e))return o(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r,t,n,u,i,a){try{var o=e[i](a),c=o.value}catch(s){return void t(s)}o.done?r(c):Promise.resolve(c).then(n,u)}function p(e){return function(){var r=this,t=arguments;return new Promise(function(n,u){var i=e.apply(r,t);function a(e){s(i,n,u,a,o,"next",e)}function o(e){s(i,n,u,a,o,"throw",e)}a(void 0)})}}function f(e,n,u,i){function a(e,r,t){return o.apply(this,arguments)}function o(){return(o=p(regeneratorRuntime.mark(function e(r,t,n){var u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(u=null,"array"!==r.type){e.next=13;break}if(!Number(r.is_static)){e.next=10;break}return e.t0=Array,e.next=6,b(r.childs,t,n);case 6:e.t1=e.sent,u=new e.t0(e.t1),e.next=13;break;case 10:return e.next=12,s(r,t,n);case 12:u=e.sent;case 13:if("object"!==r.type){e.next=23;break}if(!Number(r.current_item)){e.next=20;break}return e.next=17,l(r,t);case 17:u=e.sent,e.next=23;break;case 20:return e.next=22,b(r.childs,t,n);case 22:u=e.sent;case 23:if("property"!==r.type){e.next=27;break}return e.next=26,y(r,t,n);case 26:u=e.sent;case 27:return e.abrupt("return",c({},r.property_name,u));case 28:case"end":return e.stop()}},e)}))).apply(this,arguments)}function s(e,r,t){return f.apply(this,arguments)}function f(){return(f=p(regeneratorRuntime.mark(function e(r,n,i){var a,o,c,s,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.gudhub.getApp(Number(r.app_id));case 2:return a=e.sent,e.next=5,g(r.filter,a.items_list,i,n);case 5:return o=e.sent,r.isSortable&&r.field_id_to_sort&&""!==r.field_id_to_sort&&(c=o.flatMap(function(e){var t=e.fields.find(function(e){return e.field_id==r.field_id_to_sort});return t&&""!=t.field_value?e:[]}),s=o.filter(function(e){if(!c.includes(e))return e}),c=c.sort(function(e,t){return"desc"==r.sortType?t.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value-e.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value:e.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value-t.fields.find(function(e){return e.field_id==r.field_id_to_sort}).field_value}),o=[].concat(t(c),t(s))),f=o.map(function(){var e=p(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",b(r.childs,t,a));case 1:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(f));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function l(e,r){return d.apply(this,arguments)}function d(){return(d=p(regeneratorRuntime.mark(function e(r,t){var n,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.gudhub.getApp(r.app_id);case 2:return n=e.sent,i=n.items_list||[],e.abrupt("return",b(r.childs,t||i[0],n));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e,r,t){return m.apply(this,arguments)}function m(){return(m=p(regeneratorRuntime.mark(function e(t,n,u){var i,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.map(function(){var e=p(regeneratorRuntime.mark(function e(r){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",a(r,n,u));case 1:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}());case 2:return i=e.sent,e.next=5,Promise.all(i);case 5:return o=e.sent,e.abrupt("return",o.reduce(function(e,t){return r(r({},e),t)},{}));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e,r,t){return _.apply(this,arguments)}function _(){return(_=p(regeneratorRuntime.mark(function e(r,n,i){var a,o,c,s,p;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r.property_type,e.next="static"===e.t0?3:"variable"===e.t0?4:"field_id"===e.t0?9:"function"===e.t0?10:(e.t0,20);break;case 3:return e.abrupt("return",r.static_field_value);case 4:e.t1=r.variable_type,e.next="app_id"===e.t1?7:(e.t1,8);break;case 7:return e.abrupt("return",i.app_id);case 8:return e.abrupt("return","".concat(i.app_id,".").concat(n.item_id));case 9:return e.abrupt("return",r.field_id);case 10:if("function"!=typeof r.function){e.next=15;break}return a=r.function.apply(r,[n,i].concat(t(r.args))),e.abrupt("return",a);case 15:return o=new Function("item, app","return (async "+r.function+")(item, app)"),e.next=18,o(n,i);case 18:return c=e.sent,e.abrupt("return",c);case 20:if(!Boolean(Number(r.interpretation))){e.next=27;break}return e.next=23,u.gudhub.getInterpretationById(Number(i.app_id),Number(n.item_id),Number(r.field_id),"value");case 23:return s=e.sent,e.abrupt("return",s);case 27:return e.next=29,u.gudhub.getFieldValue(Number(i.app_id),Number(n.item_id),Number(r.field_id));case 29:return p=e.sent,e.abrupt("return",p);case 31:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e,r,t,n,u){return v.apply(this,arguments)}function v(){return(v=p(regeneratorRuntime.mark(function e(r,n,a,o,c){var s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.gudhub.prefilter(r,n,a,o,i);case 2:return s=e.sent,e.abrupt("return",u.gudhub.filter(c,[].concat(t(s),t(r))));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function g(){return x.apply(this,arguments)}function x(){return(x=p(regeneratorRuntime.mark(function e(){var r,n,u,i,a=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>0&&void 0!==a[0]?a[0]:[],n=a.length>1&&void 0!==a[1]?a[1]:[],u=a.length>2&&void 0!==a[2]?a[2]:{},i=a.length>3&&void 0!==a[3]?a[3]:{},e.abrupt("return",r.length?h(r,u.app_id,u.app_id,i.item_id,n):t(n));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}return a(e,n)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.compiler=f;
171
171
  },{}],"zqOZ":[function(require,module,exports) {
172
172
  "use strict";function e(e,n,i,t,a,r,o){try{var c=e[r](o),p=c.value}catch(u){return void i(u)}c.done?n(p):Promise.resolve(p).then(t,a)}function n(n){return function(){var i=this,t=arguments;return new Promise(function(a,r){var o=n.apply(i,t);function c(n){e(o,a,r,c,p,"next",n)}function p(n){e(o,a,r,c,p,"throw",n)}c(void 0)})}}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function a(e,n){for(var i=0;i<n.length;i++){var t=n[i];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function r(e,n,i){return n&&a(e.prototype,n),i&&a(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var o=function(){function e(n){t(this,e),this.gudhub=n,this.appsConnectingMap={apps:[],fields:[],items:[],views:[]}}return r(e,[{key:"createAppsFromTemplate",value:function(e,n,t){var a=this,r=this;return new Promise(function(o){var c=100/(6*e.apps.length),p=0;r.createApps(e,function(e){p+=1,t.call(a,{percent:p*c,status:e})}).then(function(e){r.createItems(e,n,function(e){"string"==typeof e?(p+=1,t.call(a,{percent:p*c,status:e})):"object"===i(e)&&t.call(a,{status:"Done",apps:e})}).then(function(){o()})})})}},{key:"createItems",value:function(e,n,i){var t=this;return new Promise(function(a){var r=n||1e5,o=t,c=[],p=[];e.forEach(function(e){p.push(new Promise(function(n){o.gudhub.getApp(o._searchOldAppId(e.app_id,o.appsConnectingMap.apps)).then(function(a){i&&i.call(t,"GET APP: ".concat(a.app_name," (Items steps)"));var p=JSON.parse(JSON.stringify(a)),u=p.items_list.map(function(e){return{index_number:e.index_number,item_id:0,fields:[]}}).filter(function(e,n){return n<=r});o.gudhub.addNewItems(e.app_id,u).then(function(r){i&&i.call(t,"ADD NEW ITEMS: ".concat(a.app_name," (Items steps)")),0===r.length&&(i&&i.call(t,"NO ITEMS TO REPLACE VALUE: ".concat(a.app_name," (Items steps)")),n()),e.items_list=r,o._updateMap(e.items_list,p.items_list),o._addFieldValue(p.items_list,e.items_list,o.appsConnectingMap),c.push(e),o.appsConnectingMap.apps.length===c.length&&(c.forEach(function(e){e.items_list.forEach(function(e){e.fields.forEach(function(e){o.appsConnectingMap.fields.forEach(function(n){e.field_id===n.old_field_id&&(e.field_id=n.new_field_id,e.element_id=n.new_field_id)})})})}),o.deleteField(c),o.replaceValue(c,o.appsConnectingMap).then(function(){i&&i.call(t,"REPLACE VALUE: ".concat(a.app_name," (Items steps)")),c.forEach(function(e){var i=e.items_list.map(function(e){return e.fields.forEach(function(e){delete e.data_id}),e});o.gudhub.updateItems(e.app_id,i).then(function(){n()})})}))})})}))}),Promise.all(p).then(function(){var n=e.map(function(e){return e.app_id});i.call(t,n),a()})})}},{key:"deleteField",value:function(e){e.forEach(function(e){e.items_list.forEach(function(n){n.fields=n.fields.filter(function(n){return e.field_list.findIndex(function(e){return e.field_id==n.field_id})>-1})})})}},{key:"replaceValue",value:function(e,i){var t=this;return new Promise(function(){var a=n(regeneratorRuntime.mark(function n(a){var r,o;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=[],o=t,e.forEach(function(e){e.field_list.forEach(function(n){"item_ref"===n.data_type&&o._replaceValueItemRef(e,n,i),r.push(o.gudhub.ghconstructor.getInstance(n.data_type).then(function(i){return"file"==i.getTemplate().constructor?o.gudhub.util.fileInstallerHelper(e.app_id,e.items_list,n.field_id).then(function(e){return e}):"document"!=i.getTemplate().constructor?i:void o.documentInstallerHelper(e.app_id,e.items_list,n.field_id).then(function(e){return i})}))})}),r.length>0?Promise.all(r).then(function(e){a(e)}):a(result);case 4:case"end":return n.stop()}},n)}));return function(e){return a.apply(this,arguments)}}())}},{key:"documentInstallerHelper",value:function(e,i,t){var a=this;return new Promise(function(){var r=n(regeneratorRuntime.mark(function n(r){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:i.forEach(function(n){var i=n.item_id,o=n.fields.find(function(e){return e.element_id===t});o&&o.field_value&&o.field_value.length>0&&a.gudhub.getDocument({_id:o.field_value}).then(function(n){a.gudhub.createDocument({app_id:e,item_id:i,element_id:t,data:n.data}).then(function(e){o.field_value=e._id,r()})})});case 1:case"end":return n.stop()}},n)}));return function(e){return r.apply(this,arguments)}}())}},{key:"_replaceValueItemRef",value:function(e,n,i){e.items_list.forEach(function(e){e.fields.forEach(function(e){if(e.field_id===n.field_id&&e.field_value){var t=e.field_value.split(",");t.forEach(function(e,n){var a=e.split(".");i.apps.forEach(function(e){a[0]==e.old_app_id&&(a[0]=e.new_app_id)}),i.items.forEach(function(e){a[1]==e.old_item_id&&(a[1]=e.new_item_id)}),t[n]=a.join(".")}),e.field_value=t.join(",")}})})}},{key:"_addFieldValue",value:function(e,n,i){n.forEach(function(n){i.items.forEach(function(i){n.item_id===i.new_item_id&&e.forEach(function(e){i.old_item_id===e.item_id&&(n.fields=e.fields)})})})}},{key:"_updateMap",value:function(e,n){var i=this;n.forEach(function(n){e.forEach(function(e){n.index_number===e.index_number&&i.appsConnectingMap.items.push({old_item_id:n.item_id,new_item_id:e.item_id})})})}},{key:"_searchOldAppId",value:function(e,n){var i=0;return n.forEach(function(n){n.new_app_id===e&&(i=n.old_app_id)}),i}},{key:"createApps",value:function(e,n){var i=this,t=this,a={step_size:100/(3*e.apps.length),apps:[]};return new Promise(function(r){var o={},c=[],p=[];e.apps.forEach(function(u){t.gudhub.getApp(u).then(function(u){n&&n.call(i,"GET APP: ".concat(u.app_name," (App steps)"));var f=JSON.parse(JSON.stringify(u));o[f.app_id]=f,a.apps.push(f.icon);var l=t.prepareAppTemplate(f);l.app_name=l.app_name+" New",l.privacy=1,t.resetViewsIds(l),t.gudhub.createNewApp(l).then(function(a){n&&n.call(i,"CREATE NEW APP: ".concat(u.app_name," (App steps)")),c.push(a),t.mapApp(f,a,t.appsConnectingMap),e.apps.length==c.length&&(t.connectApps(c,t.appsConnectingMap,o),c.forEach(function(a){t.gudhub.updateApp(a).then(function(t){n&&n.call(i,"UPDATE APP: ".concat(u.app_name," (App steps)")),p.push(t),e.apps.length==p.length&&r(p)})}))})})})})}},{key:"mapApp",value:function(e,n,i){i.apps.push({old_app_id:e.app_id,new_app_id:n.app_id,old_view_init:e.view_init,new_view_init:n.view_init}),e.field_list.forEach(function(e){n.field_list.forEach(function(n){e.name_space==n.name_space&&i.fields.push({name_space:e.name_space,old_field_id:e.field_id,new_field_id:n.field_id})})}),e.views_list.forEach(function(e){n.views_list.forEach(function(n){e.name==n.name&&i.views.push({name:e.name,old_view_id:e.view_id,new_view_id:n.view_id})})})}},{key:"crawling",value:function(e,n){var i=null===e?[]:Object.keys(e),t=this;i.length>0&&i.forEach(function(i){var a=e[i];void 0!==a&&"string"!=typeof e&&(n(i,a,e),t.crawling(a,n))})}},{key:"resetViewsIds",value:function(e){e.view_init=0,this.crawling(e.views_list,function(e,n,i){"view_id"!=e&&"container_id"!=e||(i[e]=0)})}},{key:"connectApps",value:function(e,n,i){var t=this;return e.forEach(function(e){n.apps.forEach(function(i){e.view_init===i.new_view_init&&n.views.forEach(function(n){i.old_view_init===n.old_view_id&&(e.view_init=n.new_view_id)})}),t.crawling(e.field_list,function(a,r,o){if(-1!==a.indexOf("field_id")||-1!==a.indexOf("FieldId")||-1!==a.indexOf("destination_field")){var c=String(r).split(","),p=[];n.fields.forEach(function(e){c.forEach(function(n){n==e.old_field_id&&p.push(e.new_field_id)})}),p.length&&(o[a]=p.join(","))}if(-1==a.indexOf("app_id")&&-1==a.indexOf("AppId")&&-1==a.indexOf("destination_app")||n.apps.forEach(function(e){r==e.old_app_id&&(o[a]=e.new_app_id)}),-1!==a.indexOf("view_id")&&n.views.forEach(function(e){r==e.old_view_id&&(o[a]=e.new_view_id)}),-1!==a.indexOf("src")&&isFinite(r)){var u=n.apps.find(function(n){return n.new_app_id===e.app_id}).old_app_id,f=t.findPath(i[u].views_list,"container_id",r);o[a]="".concat(t.getValueByPath(e.views_list,f,"container_id"))}})}),e}},{key:"getValueByPath",value:function(e,n,i){var t=e;return n.split(".").forEach(function(e){t=t[e]}),t[i]}},{key:"findPath",value:function(e,n,t){var a=!1,r=!1,o=[];return this.crawling(e,function(e,c,p){r&&o.reverse().forEach(function(e){r&&(e.delete=!0,e.parent===p&&(r=!1,(o=o.filter(function(e){return!e.delete})).reverse()))}),a||("object"===i(p[e])&&o.push({prop:e,parent:p}),c==t&&n===e?a=!0:Object.keys(p).pop()===e&&"object"!==i(p[e])&&(r=!0))}),o.map(function(e){return e.prop}).join(".")}},{key:"prepareAppTemplate",value:function(e){var n=JSON.parse(JSON.stringify(e));return this.crawling(n.views_list,function(e,n,i){"element_id"==e&&(i.element_id=-Number(n),i.create_element=-Number(n))}),n.field_list.forEach(function(e){e.create_field=-Number(e.field_id),e.element_id=-Number(e.field_id),e.field_id=-Number(e.field_id),e.field_value=""}),n.items_list=[],delete n.app_id,delete n.icon.id,delete n.group_id,delete n.trash,delete n.last_update,delete n.file_list,n}}]),e}();exports.default=o;
173
173
  },{}],"E7yc":[function(require,module,exports) {