gc.spread.sheets.bindings.10.0.1.min.js 12 KB

12345678910111213
  1. /*!
  2. *
  3. * Spread.Sheets Library 10.0.1
  4. *
  5. * Copyright(c) GrapeCity, Inc. All rights reserved.
  6. *
  7. * Licensed under the SpreadJS Commercial License.
  8. * spread.sales@grapecity.com
  9. * http://spread.grapecity.com/spreadjs/eula/
  10. *
  11. *
  12. */
  13. var GC=GC||{};GC.Spread=GC.Spread||{},GC.Spread.Sheets=GC.Spread.Sheets||{},GC.Spread.Sheets.Bindings=function(a){var b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}return c.m=a,c.c=b,c.p="/assets/",c(0)}([function(a,b,c){var d,e,f;b={},c(1),d=c(2),g(b,d),e=c(5),g(b,e),f=c(6),g(b,f),b.SR={},b.SR.en=c(7),a.exports=b;function g(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}},function(a,b,c){var d,e,f,g,h,i,j,k,l,m;function n(a){return a.nq()}function o(a,b,c){"string"==typeof c&&(c={name:c}),n(a).Kp(b,c);var d=c&&c.formatter,e=c&&c.cellType;d&&a.setFormatter&&a.setFormatter(-1,b,d),e&&a.setCellType(-1,b,e),c&&c.width&&a.setColumnWidth(b,c.width)}d=c(2).qL,e=c(4).j.Fa,f=c(3),g=f.Worksheet,h=f.GC$.isEmptyObject,i=g.prototype,j=null,k="bindingPath",l={getDataSource:function(){var a=this.wq;return a?a.getSource():j},setDataSource:function(a,b){var c,e,g,h,i,j=this,k=j.wq;if(k&&k.getSource()!==a){if(b&&j.vs(),a){if(k=j.wq,c=k.bind(a),!c&&(j.setRowCountCore(k.getRowCount()),j.autoGenerateColumns&&(j.setColumnCount(k.getColumnCount()),e=n(j),g=k.rL())))for(h=0,i=g.length;h<i;h++)e.Kp(h,{name:g[h]})}else j.wq=new d(j);j.clearPendingChanges(),f.X3&&j.recalcAll(),j.$p()}},bindColumn:function(a,b){var c=this;c.suspendPaint();try{o(c,a,b)}finally{c.resumePaint()}},bindColumns:function(a){var b,c,d=this;d.suspendPaint();try{if(a)for(b=a.length,isNaN(b)||d.setColumnCount(b),c=0;c<b;c++)o(d,c,a[c])}finally{d.resumePaint()}},getDataItem:function(a){var b,c,d,e,f,g,h=this,i=h.wq,k=n(h);if(!i||0===i.getRowCount())return j;if(b=h.getColumnCount(),c={},d=i.ru(a))for(e in d)d.hasOwnProperty(e)&&"function"!=typeof e&&(c[e]=d[e]);for(f=0;f<b;f++)g=k.Jp(f),g&&g.name&&g.name.length>0&&(c[g.name]=h.getValue(a,f));return c},getDataColumnName:function(a){var b,c=this;return 0<=a&&a<c.getColumnCount()&&c.getDataSource()?(b=n(c).Jp(a),b&&(b.displayName||b.name)):j},getBindingPath:function(a,b){var c=this.Mp();return c.getValueForKey(a,b,k)},setBindingPath:function(a,b,c){var d=this,e=d.Mp();return e.setValueForKey(a,b,k,c),d.$p(),d}},f.GC$.extend(i,l),m=f.CellRange,m.prototype.bindingPath=m.Pl(i.getBindingPath,i.setBindingPath),g.$n("binding",{init:function(){var a=this;a.autoGenerateColumns=!0,a.wq=new d(a)},dispose:function(a){var b=this;a!==!1&&(b.wq=j)},onLayoutChanged:function(a){var b,c,d,e,f,g,h,i=this,k=a.changeType,l=a.row,m=a.rowCount,n=a.sheetArea,o=i.wq;if("addingRows"===k)o&&o.sL()===!1?a.canAdd=!1:o&&o.tL()===!1&&(a.newRow=i.getRowCount());else if("addRows"===k)o&&o.uL(l,m);else if("deletingRows"===k){if(o)if(o.vL()===!1)a.canDelete=!1;else for(b=i.Ts||(i.Ts=[]),c=i.Mp(),d=o.getRowCount(),e=0;e<m&&l+e<c.getRowCount();e++)f=j,l+e<d&&(f=o.ru(l+e)),g=j,h=c.dataTable,h&&h[l+e]&&(g=h[l+e].key),b.push({row:l+e,data:f,key:g})}else"deleteRows"===k?o&&o.wL(l,m):"settingRowCount"===k&&(!o.getSource()||o.xL()||3!==n&&2!==n||(a.canSet=!1))},toJson:function(a,b){var c,d,f,g,i,j;function k(a,b,c,d){var f,g,h,i=a.wq;for(f=0;f<c;f++)for(g=0;g<d;g++)h=i.getValue(f,g).value,e(h)||a.qI(b,f,g,h)}function l(a,b,c,d){var f,g,h,i,j,k=a.nq().Hp(),l=a.options.colHeaderAutoTextIndex;for(f=0;f<c;f++)if(l>=0&&f===l||l===-1&&f===c-1)for(g=0;g<d;g++)h=b[f]&&b[f][g]&&b[f][g].value,i=k[g],e(h)&&i&&(j=i.displayName||i.name,j&&a.qI(b,f,g,j))}c=this,d=c.getColumnCount(),f=c.getDataSource(),b&&b.includeBindingSource&&f&&(g=a.data.dataTable||{},k(c,g,c.getRowCount(),d),h(g)||(a.data.dataTable=g),i=a.colHeaderData.dataTable||{},l(c,i,c.getRowCount(1),d),h(i)||(a.colHeaderData.dataTable=i)),j=c.autoGenerateColumns,j!==!0&&(a.autoGenerateColumns=c.autoGenerateColumns)},fromJson:function(a,b){var c,f,g,h,i=this;i.wq=new d(i),b&&(c=i.wq,f=a.dataSource,g=a.dataBinding,f&&c.bind(f),g&&c.fromJSON(g,b)),h=a.autoGenerateColumns,e(h)||(i.autoGenerateColumns=h)},preFromJson:function(){this.wq=new d(this)}})},function(a,b,c){var d,e,f,g,h,i,j=c(3),k=c(4),l=j.GC$,m=l.isFunction,n=l.getType,o=l.isNumeric,p=k.j.Fa,q=j.Events;b={},d=null,e=void 0,f="string",g=b.yL={},h="cellBinding",i=function(){return k.C(b.SR)()};function r(a){this.xf=a}r.prototype={setValue:function(a,b){A(this.xf,a,b)},getValue:function(a){return B(this.xf,a)},getSource:function(){return this.xf}},b.CellBindingSource=r;function s(a){this.ad(a)}s.prototype={bind:function(a){var b,c,d,e=this,f=e.kj,g=e.Ou;if(g&&m(g.dispose)&&g.dispose(),e.zL(e.AL),e.zL(e.BL),e.ad(f),e.Ou=a,a){if(b=e.CL=x(a),!b)throw Error(i().Exp_NotSupportedDataSource);e.DL=e.EL(),f&&(c=e.AL,d=a.currentPosition,a.subscribe&&c.push(a.subscribe(e.FL,e)),d&&d.subscribe&&c.push(d.subscribe(e.GL,e)),e.Lx()),e.HL=y(a,b)}return u(f,a)},Lx:function(){var a,b,c,e,f,g=this,i=g.kj,j=g.Ou;if(i&&j&&(a=g.CL,j&&(g.zL(g.BL),b=d,a!==h&&(c=i.getActiveRowIndex(),j.currentPosition?(-1<=c&&c<j.count()&&j.currentPosition(c),b=j.currentItem()):b=g.ru(c)),b))){e=function(){var a=g.kj;a&&a.repaint()};for(f in b)b[f]&&m(b[f].subscribe)&&g.BL.push(b[f].subscribe(e,d,d))}},zL:function(a){var b,c;if(a)for(b=0;b<a.length;b++)c=a[b],c&&m(c.dispose)&&c.dispose()},getRowCount:function(){var a=this,b=a.Ou,c=a.CL,d=0;return b&&c&&c!==h&&(d=g[c].getDataLength(b)),d},getColumnCount:function(){var a,b,c,d=this.HL;return d?d.length:(a=this.Ou,a&&(b=a[0],c=n(b),"null"===c||c===f||"number"===c)?1:0)},getSource:function(){return this.Ou},rL:function(){return this.HL},ru:function(a){var b=this.Ou,c=this.CL,e=d;return b&&c&&c!==h&&(e=g[c].getDataItem(b,a)),e},EL:function(){var a,b,c,d=this;if(!d.DL)for(a=d.getRowCount(),b=0;b<a;b++)if(c=d.ru(b)){d.DL=c.entityAspect&&c.entityType||c.constructor;break}return d.DL},getValue:function(a,b){return w(this,a,b)},setValue:function(a,b,c){return w(this,a,b,c)},sL:function(){var a=g[this.CL];return a&&a.canAdd&&a.canAdd()},tL:function(){var a=g[this.CL];return a&&a.canInsert&&a.canInsert()},vL:function(){var a=g[this.CL];return a&&a.canRemove&&a.canRemove()},uL:function(a,b){var c,d,e=this,f=e.Ou;!f||a>e.getRowCount()||(c=e.CL,d=e.EL(),c&&c!==h&&(e.IL||(e.JL=!0,g[c].addItems(f,a,b,d),e.JL=!1)))},wL:function(a,b){var c=this,d=c.CL,e=c.getRowCount(),f=c.Ou;!f||a>=e||d&&d!==h&&(c.IL||(c.JL=!0,g[d].removeItems(f,a,b),c.JL=!1))},xL:function(a){return z(a||this.Ou)},ad:function(a){var b=this;b.Ou=d,b.CL="",b.DL=d,b.HL=d,b.AL=[],b.BL=[],b.kj=a,t(a)},FL:function(a){var b,c,d,e,f=this,g=f.kj;if(g&&!f.JL){if(a){if(f.IL=!0,!isNaN(a.length)&&(g.setRowCountCore(a.length),p(f.HL)&&0===v(g).Hp().length&&(f.HL=y(f.Ou),g.setColumnCount(f.getColumnCount()),b=v(g),c=f.rL())))for(d=0,e=c.length;d<e;d++)b.Kp(d,{name:c[d]});f.IL=!1}g.$p()}},GL:function(){var a,b=this,c=b.kj,d=b.Ou;c&&d&&d.currentPosition&&(a=d.currentPosition(),c.Jl!==a&&(c.Sr(a,c.Kl,e,e,2),c.$p()))},toJSON:function(){var a,b=this.Ou;return b?(a=this.CL,b=a===h?b.getSource():g[a].toJSON(b),{type:a,source:b}):d},fromJSON:function(a){var b,c,d=a&&a.source;d&&(b=a.type,c=d,c=b===h?new r(d):g[b].fromJSON(d),c&&this.bind(c))}},b.qL=s;function t(a){var b=a&&a.wq;b&&b.xL()&&a.Wq(q.ResetBinding,{sheet:a})}function u(a,b){var c=a&&a.wq;return!(!c||!c.xL(b))&&(a.clearPendingChanges(),a.Wq(q.InitBinding,{sheet:a,data:b}),!0)}function v(a){return a.nq()}function w(a,b,c,e){var f,i,j,k,l,n,o,p,q,r=3===arguments.length,s=a,t=s.Ou,u={value:d,hasBinding:!1},w=!1;if(!t)return r?u:w;if(f=s.kj,i=s.CL,i===h){if(l=f?f.getBindingPath(b,c):d){if(r)return{value:t.getValue(l),hasBinding:!0};t.setValue(l,e),w=!0}}else{if(b<0||a.getRowCount()<=b)return r?u:w;if(n=f?f.getColumnCount():a.getColumnCount(),c<0||n<=c)return r?u:w;if(f?(j=v(f).Hp()[c],j&&(k=j.name)):a.HL&&(k=a.HL[c]),i){if(o=g[i],p=j&&j.value,q=m(p)?p:d,r)return o.getValue(t,q,k,b,c);w=o.setValue(t,q,k,b,c,e)}}return r?u:w}function x(a){var b=d;return a&&(z(a)?b=h:l.each(g,function(c,d){if(d.isDataSource(a))return b=c,!1})),b}function y(a,b){return a&&b&&b!==h?g[b].getProperties(a):d}function z(a){return r&&a instanceof r}function A(a,b,c){var d,e,f,g;if(a&&b)for(d=b.split("."),e=d.length,f=0;f<e&&(g=d[f],a);f++)f===e-1?m(a[g])?a[g](c):a[g]=c:a=m(a[g])?a[g]():a[g]}b.KL=A;function B(a,b){var c,e,f,g;if(!a||!b)return d;c=b.split("."),e=c.length,f=0;do if(g=c[f],a=m(a[g])?a[g]():a[g],p(a))return d;while(++f<e);return a}b.LL=B;function C(){}C.prototype={isDataSource:function(a){return l.isArray(a)},getDataLength:function(a){return a.length},getDataItem:function(a,b){return a[b]},addItems:function(a,b,c,e){var f,g;for(f=0;f<c;f++)g=d,e&&(g=e.createEntity?e.createEntity():new e),a.splice(b,0,g)},removeItems:function(a,b,c){var d=this.getDataLength(a);b<d&&a.splice(b,Math.min(c,d-b))},getProperties:function(a){var b,c,e=a.length,f=d;if(e>0){f=[],b=a[0];for(c in b)m(b[c])||f.push(c)}return f},getValue:function(a,b,c,e,g){var h=d,i=!1,j=this.getDataItem(a,e);return p(j)||(b?(h=b(j),i=!0):c?(h=B(j,c),i=!0):(n(j)===f||o(j))&&0===g&&(h=j,i=!0)),{value:h,hasBinding:i}},setValue:function(a,b,c,d,e,g){var h=!1,i=this.getDataItem(a,d);return p(i)||(b?(b(i,g),h=!0):c?(A(i,c,g),h=!0):(n(i)===f||o(i))&&0===e&&(a[d]=g,h=!0)),h},fromJSON:function(a){return a},toJSON:function(a){return a}},g.defaultBindingSource=new C,a.exports=b},function(a,b){a.exports=GC.Spread.Sheets},function(a,b){a.exports=GC.Spread.Common},function(a,b,c){var d=c(4),e=c(2),f=d.j.Fa,g=null;function h(){}h.prototype={isDataSource:function(a){var b=window.wijmo;return b&&b.data&&b.data.isDataView&&b.data.isDataView(a)},getDataLength:function(a){return a.count()},getDataItem:function(a,b){return a.item(b)},addItems:function(a,b,c,d){if(d){for(var e=0;e<c;e++)a.add(d.createEntity?d.createEntity():new d);a.commitEdit()}},removeItems:function(a,b,c){var d,e,f=this.getDataLength(a);if(b<f)for(d=Math.min(c,f-b),e=0;e<d;e++)a.remove(a.item(b))},getProperties:function(a){var b,c=0,d=g,e=a.getProperties();if(e&&e.length>0)for(c=e.length,d=[],b=0;b<c;b++)d.push(e[b].name);return d},canInsert:function(){return!1},getValue:function(a,b,c,d,e){var h=g,i=!1,j=this.getDataItem(a,d);return f(j)||(b?(h=b(j),i=!0):c&&(h=a.getProperty(j,c),i=!0)),{value:h,hasBinding:i}},setValue:function(a,b,c,d,e,g){var h=!1,i=this.getDataItem(a,d);return f(i)||(b?(b(i,g),h=!0):c&&(a.setProperty(i,c,g),h=!0)),h},fromJSON:function(a){return a},toJSON:function(a){return a.local}},e.yL.dataViewBinding=new h,a.exports=e},function(a,b,c){var d,e=c(3),f=c(4),g=c(2),h=f.j.Fa,i=e.GC$,j=i.isFunction,k=i.getType,l=i.isNumeric,m=null,n="string",o=window.ko;function p(){}p.prototype={isDataSource:function(a){return o&&o.isObservable(a)},getDataLength:function(a){return a().length},getDataItem:function(a,b){return a()[b]},addItems:function(a,b,c,d){var e,f;for(e=0;e<c;e++)f=m,d&&(f=d.createEntity?d.createEntity():new d),a.splice(b,0,f)},removeItems:function(a,b,c){var d=this.getDataLength(a);b<d&&a.splice(b,Math.min(c,d-b))},getProperties:function(a){var b,c,d=a(),e=d.length,f=[];if(e>0){b=d[0];for(c in b)j(b[c])?o&&o.isObservable(b[c])&&f.push(c):f.push(c)}return f},getValue:function(a,b,c,d,e){var f=m,i=!1,j=this.getDataItem(a,d);return h(j)||(b?(f=b(j),i=!0):c?(f=g.LL(j,c),i=!0):(k(j)===n||l(j))&&0===e&&(f=j,i=!0)),{value:f,hasBinding:i}},setValue:function(a,b,c,d,e,f){var i=!1,j=this.getDataItem(a,d);return h(j)||(b?(b(j,f),i=!0):c?(g.KL(j,c,f),i=!0):(k(j)===n||l(j))&&0===e&&(a()[d]=f,i=!0)),i},fromJSON:function(a){return o?o.observableArray(a):m},toJSON:function(a){return a()}},g.yL.koBinding=new p,o&&(d=o.bindingHandlers,d["gc-spread-sheets"]=d["gcspread-sheets"]=d.wijspread={init:function(a,b,c,d){var f,g,h,j,k,l,m,o,p,q=b(),r=q&&q.sheets,s=new e.Workbook(i("#"+a.id)[0],q);if(r){for(h=r.length,j=s.getSheetCount();j<h;)f=s.vv(s.wv(j)),s.ow(j,0,f),j=s.getSheetCount();for(k=0;k<h;k++)f=s.getSheet(k),g=r[k],l=g.name,m=g.autoGenerateColumns,o=g.data,p=g.columns,typeof l===n&&l.length>0&&(f.Cj=l),"boolean"==typeof m&&(f.autoGenerateColumns=m),o&&f.setDataSource(o),p&&p.length>0&&(f.autoGenerateColumns=!1,f.bindColumns(p))}},update:function(a,b,c,d){}}),a.exports=g},function(a,b){a.exports={Exp_NotSupportedDataSource:"The data source is not supported!"}}]);