(function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.datasource"],n):n(jQuery)})(function(n){return n.ig.KnockoutDataSource=n.ig.KnockoutDataSource||n.ig.DataSource.extend({init:function(n){return n.observableDataSource===null||n.observableDataSource===undefined?(this.kods=n.dataSource,n.dataSource=ko.toJS(n.dataSource)):(this.kods=n.observableDataSource,n.dataSource=ko.toJS(n.observableDataSource)),this._super(n),this},setCellValue:function(n,t,i,r){return this._super(n,t,i,r)},_setCellValue:function(n,t,i){var e,f=this.settings.primaryKey,r=this.kods,u;if(r=ko.isObservable(r)?r():r,this.settings.responseDataKey&&(ko.isObservable(r[this.settings.responseDataKey])?r=r[this.settings.responseDataKey]():r[this.settings.responseDataKey]&&(r=r[this.settings.responseDataKey])),f){for(u=0;u<r.length;u++)if(e=ko.isObservable(r[u][f])?r[u][f]():r[u][f],String(e)===String(n)){ko.isObservable(r[u][t])?r[u][t](i):r[u][t]=i;break}}else r[n][t](i)},deleteRow:function(n,t){return t&&(this._ownUpdate=!this._ownUpdate),this._super(n,t)},_deleteRow:function(n){var i=this.settings.primaryKey,t=this.kods;this.settings.responseDataKey&&t[this.settings.responseDataKey]&&(t=t[this.settings.responseDataKey]);ko.isObservable(t)?this._koUpdate?this._koUpdate=!1:t.remove(function(t){return String(ko.isObservable(t[i])?t[i]():t[i])===String(n)}):this._super(n)},addRow:function(n,t,i){return i&&(this._ownUpdate=!this._ownUpdate),this._super(n,t,i)},_addRow:function(n,t,i){var r=this.kods,u,f=jQuery.extend({},n);if(this.settings.responseDataKey&&r[this.settings.responseDataKey]&&(r=r[this.settings.responseDataKey]),ko.isObservable(r))if(this._koUpdate)this._koUpdate=!1,this._super(n,t,i);else{for(u in f)f.hasOwnProperty(u)&&!ko.isObservable(u)&&(f[u]=ko.observable(f[u]));this._super(n,t,i);r.push(f)}else r.push(n),this._super(n,t,i)},updateRow:function(n,t,i){return i&&(this._ownUpdate=!this._ownUpdate),this._super(n,t,i)},_updateRow:function(n,t){var e,f=this.settings.primaryKey,i=this.kods,r,u;if(this.settings.responseDataKey&&i[this.settings.responseDataKey]&&(i=i[this.settings.responseDataKey]),i=ko.isObservable(i)?i():i,f){for(u=0;u<i.length;u++)if(e=ko.isObservable(i[u][f])?i[u][f]():i[u][f],String(e)===String(n)){for(r in t)t.hasOwnProperty(r)&&(ko.isObservable(i[u][r])?i[u][r](t[r]):i[u][r]=t[r]);break}}else for(r in t)t.hasOwnProperty(r)&&(ko.isObservable(i[n][r])?i[n][r](t[r]):i[n][r]=t[r])},_commitTransaction:function(t){var u,f,e,r,i=this.settings.localSchemaTransform?this._origDs:null;if(i===this._data&&(i=null),this._ownUpdate=!0,this.settings.primaryKey===null?(e=this._data[parseInt(t.rowId,10)],i&&(r=i[parseInt(t.rowId,10)])):(e=this.findRecordByKey(t.rowId),i&&(r=this.findRecordByKey(t.rowId,i))),t.type==="cell")e[t.col]=t.value,r&&(r[t.col]=t.value),this._setCellValue(t.rowId,t.col,t.value);else if(t.type==="row"){if(n.type(t.row)==="array")for(u=0;u<t.row.length;u++)e[u]=t.row[u],r&&(r[u]=t.row[u]);else if(e){for(f in t.row)t.row.hasOwnProperty(f)&&(e[f]=t.row[f],r&&(r[f]=t.row[f]));this._updateRow(t.rowId,t.row)}}else t.type==="deleterow"?(this.settings.primaryKey===null?this.removeRecordByIndex(parseInt(t.rowId,10),i):this.removeRecordByKey(t.rowId,i),this._deleteRow(t.rowId)):t.type==="newrow"?this._addRow(t.row,t.rowId,i):t.type==="insertrow"&&this._addRow(t.row,t.rowIndex,i);this._removeTransactionByTransactionId(t.tid)},dataAt:function(t,i){for(var f=this.kods,s=t.split("/"),p=i.split("/"),e,r,h,u=null,l=this.settings.primaryKey,c="",y=[],a=[],v=!1,f=ko.isObservable(f)?f():f,o=0;o<s.length;o++)if(l=s[o].split(":")[0],c=s[o].split(":")[1],s[o]!==""){for(h=0;f&&h<f.length;h++){if(l&&l.indexOf(",")!==-1){for(y=l.split(","),a=c.split(","),e=0;e<y.length;e++)if(r=f[h][y[e]],r=ko.isObservable(r)?r():r,!r.charAt&&a[e].charAt&&(a[e]=parseInt(a[e],10)),v=r===a[e],!v)break}else r=f[h][l],r=ko.isObservable(r)?r():r,r!==undefined&&!r.charAt&&c.charAt&&(c=parseInt(c,10)),v=r===c;if(v){u=f[h][p[o]];s.length>1&&o<s.length-1&&this.settings.responseDataKey&&n.type(u)!=="array"&&u[this.settings.responseDataKey]&&(u=ko.isObservable(u[this.settings.responseDataKey])?u[this.settings.responseDataKey]():u[this.settings.responseDataKey]);break}}f=ko.isObservable(u)?u():u}return u}}),n.ig.KnockoutDataSource}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.ui.editors"],n):n(jQuery)}(function(n){function t(t,i,r,u){var o=new RegExp(i+"\\s*:\\s*(?:{.*,?\\s*value\\s*:\\s*)?([^{},\\s]+)"),f,e=n(t).attr("data-bind").match(o);e&&(f=e[1],r[f]&&(r[f]=u))}ko.bindingHandlers.igTextEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igTextEditor(e),e.updateMode===undefined)e.updateMode="onChange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);e.updateMode.toLowerCase()==="onchange"?o.bind("igtexteditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.newValue):t(i,"igTextEditor",f,u.newValue)}):(o.bind("igtexteditortextchanged",function(n,u){o.data("igTextEditor")._doNotUpdate=!0;ko.isObservable(r().value)?r().value(u.text):t(i,"igTextEditor",f,u.text)}),e.listItems!==undefined&&o.bind("igtexteditordropdownitemselecting",function(n,u){ko.isObservable(r().value)&&u.item!==undefined?r().value(u.item.innerText):u.item!==undefined&&t(i,"igTextEditor",f,u.item.innerText)}));ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igTextEditor("destroy")})},update:function(t,i){var u,f,r=n(t);u=ko.utils.unwrapObservable(i().value);f=r.igTextEditor("value");f===u||r.data("igTextEditor")._doNotUpdate||r.igTextEditor("value",u);delete r.data("igTextEditor")._doNotUpdate}};ko.bindingHandlers.igDatePicker={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igDatePicker(e),e.updateMode===undefined)e.updateMode="onchange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);if(e.updateMode.toLowerCase()==="onchange")o.bind("igdatepickervaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.owner.value()):t(i,"igDatePicker",f,u.owner.value())});else throw new Error(n.ig.Editor.locale.updateModeNotSupported);ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igDatePicker("destroy")})},update:function(t,i){var r,f,e=n(t),o,u;r=ko.utils.unwrapObservable(i().value);r===null||r===undefined||r===""?e.igDatePicker("value",r):(r=r.toString().replace(/_(\d)/g,"$1"),o=Date.parse(r),r.toString().indexOf("/Date(")===0?(r=new Date(parseInt(r.replace(/\/Date\((.*?)\)\//gi,"$1"),10)),r.toString()==="Invalid Date"&&(r=undefined)):isNaN(o)&&(u=new Date(r),u&&isNaN(u)&&u.toString()!=="Invalid Date"&&(u=n.ig.util.dateFromISO(r)),r=u,r.toString()==="Invalid Date"&&(r=undefined)),f=e.igDatePicker("value"),f=Date.parse(f),f!==o&&(r!==undefined&&r!==e.igDatePicker("displayValue")&&(r=new Date(r)),e.igDatePicker("value",r)))}};ko.bindingHandlers.igDateEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igDateEditor(e),e.updateMode===undefined)e.updateMode="onchange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);if(e.updateMode.toLowerCase()==="onchange")o.bind("igdateeditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.owner.value()):t(i,"igDateEditor",f,u.owner.value())});else throw new Error(n.ig.Editor.locale.updateModeNotSupported);ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igDateEditor("destroy")})},update:function(t,i){var r,f,e=n(t),o,u;r=ko.utils.unwrapObservable(i().value);r===null||r===undefined||r===""?e.igDateEditor("value",r):(r=String(r).replace(/_(\d)/g,"$1"),o=Date.parse(r),r.toString().indexOf("/Date(")===0?(r=new Date(parseInt(r.replace(/\/Date\((.*?)\)\//gi,"$1"),10)),r.toString()==="Invalid Date"&&(r=undefined)):isNaN(o)&&(u=new Date(r),u&&isNaN(u)&&u.toString()!=="Invalid Date"&&(u=n.ig.util.dateFromISO(r)),r=u,r.toString()==="Invalid Date"&&(r=undefined)),f=e.igDateEditor("value"),f=Date.parse(f),f!==o&&(r!==undefined&&r!==e.igDateEditor("displayValue")&&(r=new Date(r)),e.igDateEditor("value",r)))}};ko.bindingHandlers.igNumericEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igNumericEditor(e),e.updateMode===undefined)e.updateMode="onchange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);e.updateMode.toLowerCase()==="onchange"?o.bind("ignumericeditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.newValue):t(i,"igNumericEditor",f,u.newValue)}):o.bind("ignumericeditortextchanged",function(n,u){u.owner._processValueChanging(u.text);o.data("igNumericEditor")._doNotUpdate=!0;ko.isObservable(r().value)?r().value(u.owner.value()):t(i,"igNumericEditor",f,u.owner.value())});ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igNumericEditor("destroy")})},update:function(t,i){var r,f,u=n(t);r=ko.utils.unwrapObservable(i().value);isNaN(r)&&(r=undefined);f=u.igNumericEditor("value");f===r||u.data("igNumericEditor")._doNotUpdate||u.igNumericEditor("value",r);delete u.data("igNumericEditor")._doNotUpdate}};ko.bindingHandlers.igCurrencyEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igCurrencyEditor(e),e.updateMode===undefined)e.updateMode="onchange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);e.updateMode.toLowerCase()==="onchange"?o.bind("igcurrencyeditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.newValue):t(i,"igCurrencyEditor",f,u.newValue)}):o.bind("igcurrencyeditortextchanged",function(n,u){u.owner._processValueChanging(u.text);o.data("igCurrencyEditor")._doNotUpdate=!0;ko.isObservable(r().value)?r().value(u.owner.value()):t(i,"igCurrencyEditor",f,u.owner.value())});ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igCurrencyEditor("destroy")})},update:function(t,i){var r,f,u=n(t);r=ko.utils.unwrapObservable(i().value);isNaN(r)&&(r=undefined);f=u.igCurrencyEditor("value");f===r||u.data("igCurrencyEditor")._doNotUpdate||u.igCurrencyEditor("value",r);delete u.data("igCurrencyEditor")._doNotUpdate}};ko.bindingHandlers.igPercentEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igPercentEditor(e),e.updateMode===undefined)e.updateMode="onChange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);e.updateMode.toLowerCase()==="onchange"?o.bind("igpercenteditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.newValue):t(i,"igPercentEditor",f,u.newValue)}):o.bind("igpercenteditortextchanged",function(n,u){u.owner._processValueChanging(u.text);o.data("igPercentEditor")._doNotUpdate=!0;ko.isObservable(r().value)?r().value(u.owner.value()):t(i,"igPercentEditor",f,u.owner.value())});ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igPercentEditor("destroy")})},update:function(t,i){var r,f,u=n(t);r=ko.utils.unwrapObservable(i().value);isNaN(r)&&(r=undefined);f=u.igPercentEditor("value");f===r||u.data("igPercentEditor")._doNotUpdate||u.igPercentEditor("value",r);delete u.data("igPercentEditor")._doNotUpdate}};ko.bindingHandlers.igMaskEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.value=ko.utils.unwrapObservable(e.value),o.igMaskEditor(e),e.updateMode===undefined)e.updateMode="onChange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);if(e.updateMode.toLowerCase()==="onchange")o.bind("igmaskeditorvaluechanged",function(n,u){ko.isObservable(r().value)?r().value(u.newValue):t(i,"igMaskEditor",f,u.newValue)});else throw new Error(n.ig.Editor.locale.updateModeNotSupported);ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igMaskEditor("destroy")})},update:function(t,i){var r,u,f=n(t);r=ko.utils.unwrapObservable(i().value);u=f.igMaskEditor("value");u!==r&&f.igMaskEditor("value",r)}};ko.bindingHandlers.igCheckboxEditor={init:function(i,r,u,f){var o=n(i),e;if(e=n.extend({},r()),e.checked=ko.utils.unwrapObservable(e.checked),o.igCheckboxEditor(e),e.updateMode===undefined)e.updateMode="onchange";else if(e.updateMode.toLowerCase()!=="onchange"&&e.updateMode.toLowerCase()!=="immediate")throw new Error(n.ig.Editor.locale.updateModeUnsupportedValue);o.bind("igcheckboxeditorvaluechanged",function(n,u){ko.isObservable(r().checked)?r().checked(u.newValue):t(i,"igCheckboxEditor",f,u.newValue)});ko.utils.domNodeDisposal.addDisposeCallback(i,function(){n(i).igCheckboxEditor("destroy")})},update:function(t,i){var r,u,f=n(t);r=ko.utils.unwrapObservable(i().checked());u=f.igCheckboxEditor("value");u!==r&&f.igCheckboxEditor("value",r)}}}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.datasource","../modules/infragistics.ui.combo"],n):n(jQuery)}(function(n){function t(n,t){var e=n.igCombo("option","valueKey"),u=[],r,i,f;if(t){for(t=ko.utils.unwrapObservable(t),r=0;r<t.length;r++)i=t[r],typeof i=="function"&&(i=i()),f=typeof i=="object"?i[e]:i,u.push(f);n.igCombo("value",u)}}ko.bindingHandlers.igCombo={init:function(t,i){var r=n(t),f=i(),u=i().selectedItems;r.igCombo(f);ko.applyBindingsToNode(t,{igComboSelection:{selectedItems:u}},u);ko.applyBindingsToNode(r.data("igCombo")._options.$dropDownCont[0],{igComboList:{combo:r,options:f,dataSource:i().dataSource,selectedItems:u}},i().dataSource);ko.utils.registerEventHandler(t,"igcomboselectionchanged",function(n,t){var a=t.owner.options.valueKey,r=t.items,u=i().selectedItems,o=i().selectedItemType,c=[],l,f,s,e,h;if(r&&u&&ko.isObservable(u))for(u=ko.utils.unwrapObservable(u),o||(u.length>0?(s=u[0],typeof s=="function"&&(s=s()),o=typeof s=="object"?"object":"primitive"):o="primitive"),r=typeof r=="function"?r():r,h=0;h<r.length;h++)l=r[h],f=l.data,typeof f=="function"&&(f=f()),o==="object"?e=f:o==="primitive"&&(e=f[a]),typeof e=="function"&&(e=e()),c.push(e);ko.isObservable(i().selectedItems)&&i().selectedItems(c)})}};ko.bindingHandlers.igComboSelection={update:function(i,r){t(n(i),r().selectedItems)}};ko.bindingHandlers.igComboList={init:function(n,t){var u=t().combo,f=u.igCombo("listItems"),e=t().options,r=ko.utils.unwrapObservable(t().dataSource),i;if(r)for(i=0;i<f.length;i++)ko.applyBindingsToNode(f[i],{igComboItem:{combo:u,value:r[i],index:i,options:e}},r[i])},update:function(i,r){var f=n(r().combo),s=f.igCombo("listItems").length,h=r().options,e=ko.utils.unwrapObservable(r().dataSource),o,u;if(s!==e.length){f.one("igcomboitemsrendered",function(){if(o=f.igCombo("listItems"),e)for(u=0;u<o.length;u++)ko.applyBindingsToNode(o[u],{igComboItem:{combo:f,value:e[u],index:u,options:h}},e[u]);t(f,r().selectedItems)});f.igCombo("option","dataSource",e)}}};ko.bindingHandlers.igComboItem={update:function(n,t){var i=t().combo,e=t().options.textKey,o=t().options.valueKey,r,u,f;(o!==undefined||e!==undefined)&&(u=t().index,f=t().value,r=i.igCombo("itemsFromIndex",u).element,i.data("igCombo")._updateItem(r,f),i.data("igCombo")._updateInputValues())}};ko.bindingHandlers.igComboVisible={update:function(t,i){var r=i(),u=n(t);ko.isObservable(r)&&u.css("display",r()?"inline-block":"none")}}}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.datasource","../modules/infragistics.ui.chart"],n):n(jQuery)}(function(n){ko.bindingHandlers.igDataChart={init:function(t,i){var r=n.extend(!0,{},ko.utils.unwrapObservable(i())),u,f,s,h,e,o;for(s=function(i,u){var o=r.dataSource,s,e;s=n(t).find("#rootElem");e=n("<li><ul><\/ul><\/li>");u===0?s.prepend(e):u===o.length-1?s.append(e):n(n(s).children()[u]).before(e);n(t).igDataChart("notifyInsertItem",r.dataSource,u,i);ko.applyBindingsToNode(e[0],{igDataChartRecord:{value:o[u],chartInstance:n(t),dataSourceInstance:o}},o[f])},h=function(i,u){var e=r.dataSource,f;f=n(t).find("#rootElem");u===0?n(f).children().first().remove():u===e.length?n(f).children().last().remove():n(n(f).children()[u]).remove();n(t).igDataChart("notifyRemoveItem",r.dataSource,u,i)},ko.isObservable(r.dataSource)?(u=r.dataSource(),r.dataSource.subscribeArrayChanged(s,h),r.dataSource=ko.utils.unwrapObservable(r.dataSource)):u=r.dataSource,r.expectFunctions!==!0&&(r.expectFunctions=!0),n(t).igDataChart(r),e=n("<ul id='rootElem'><\/ul>"),n("<div style='display: none !important'><\/div>").appendTo(t).append(e),f=0;f<u.length;f++)o=n("<li><ul><\/ul><\/li>"),e.append(o),ko.applyBindingsToNode(o[0],{igDataChartRecord:{value:u[f],chartInstance:n(t),dataSourceInstance:u}},u[f]);ko.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).igDataChart("destroy")})}};ko.bindingHandlers.igDataChartRecord={init:function(t,i){var e=i(),r,f,u=e.value;for(r in u)u.hasOwnProperty(r)&&ko.isObservable(u[r])&&(f=n("<li class='property'><\/li>"),n(t).find("ul").append(f),ko.applyBindingsToNode(f[0],{igDataChartItem:{value:u[r],chartInstance:i().chartInstance,dataSourceInstance:i().dataSourceInstance}},u[r]))}};ko.bindingHandlers.igDataChartItem={update:function(t,i){var e,r,u,f;f=n(t).parent().parent().index();r=i().dataSourceInstance;e=i().chartInstance;u=r[f];n(e).igDataChart("notifySetItem",r,f,u,u)}};ko.observableArray.fn.subscribeArrayChanged=function(n,t){var i=null;this.subscribe(function(n){i===null&&(i=n.slice(0))},undefined,"beforeChange");this.subscribe(function(r){for(var f=ko.utils.compareArrays(i,r,!0),u=0;u<f.length;u++)switch(f[u].status){case"deleted":t&&(t(f[u].value,f[u].index),i.splice(f[u].index,1));break;case"added":n&&(n(r[u],f[u].index),i.splice(f[u].index,0,r[u]))}})}}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.datasource","../modules/infragistics.ui.grid.framework"],n):n(jQuery)}(function(n){ko.bindingHandlers.igGrid={init:function(t,i){var r=n(t),o=r.data("igGrid"),u,f,e;if(r.attr("data-create")!=="false"){u=ko.utils.unwrapObservable(i());f={};f.dataSource=new n.ig.KnockoutDataSource({dataSource:u.dataSource});for(e in u)u.hasOwnProperty(e)&&e!=="dataSource"&&(f[e]=u[e])}else u=f=o.options;return r.igGridKnockoutBridge(),r.attr("data-create")!=="false"?r.igGrid(f):r.igGridKnockoutBridge("rebindCells"),{controlsDescendantBindings:!0}},update:function(t,i){n(t).igGridKnockoutBridge("recordsUpdated",i)}};ko.visitPropertiesOrArrayEntries=function(n,t){var i,r;if(n instanceof Array)for(i=0;i<n.length;i++)t(i);else for(r in n)n.hasOwnProperty(r)&&t(r)};ko.bindingHandlers.igHierarchicalGrid={init:function(t,i){var e=n(t),r,u,o,s,f;r=ko.utils.unwrapObservable(i());u={};o=ko.isObservable(r.dataSource)?r.dataSource():r.dataSource;o instanceof n.ig.DataSource&&(o=o.data());u.dataSource=new n.ig.KnockoutDataSource({dataSource:r.dataSource});for(f in r)r.hasOwnProperty(f)&&f!=="dataSource"&&(u[f]=r[f]);e.igGridKnockoutBridge();e.igHierarchicalGrid(u);e.data("observableDataSource",u.dataSource);s=function(t,i){var f,r=i.options,u;i.element.data("igGrid")||(f=i.owner.element.data("observableDataSource"),u=f.dataAt(i.id,i.path),r.dataSource=new n.ig.KnockoutDataSource({primaryKey:r.primaryKey,dataSource:r.dataSource,observableDataSource:u,responseDataKey:r.responseDataKey}),i.element.igGridKnockoutBridge(),i.element.igGrid(r),r=i.element.data("igGrid").options,i.element.attr("data-create",!1),ko.applyBindingsToNode(i.element[0],{igGrid:{}},u))};e.on("igchildgridcreating","table",s);return{controlsDescendantBindings:!0}},update:ko.bindingHandlers.igGrid.update};ko.bindingHandlers.igCell={update:function(t,i,r,u){var e=n(t),f=e.closest(".ui-iggrid-table");f.attr("id").endsWith("_fixed")&&(f=f.closest(".ui-iggrid").find("[data-bind]:first"));f.igGridKnockoutBridge("cellUpdated",e,typeof i=="function"?i():i,u!==null&&ko.isObservable(u.$data)?u.$data():u)}};n.widget("ui.igGridKnockoutBridge",{options:{parent:null},_create:function(){this.options.parent||(this.options.parent=this.element.data("igGrid"));this._createHandlers();this._bridgeGrid(this.element)},destroy:function(){var t=this._rebindCellsHandler;return this.options.parent.renderNewRow=this._renderNewRowDefault,this._grb&&(this._grb._renderNewRow=this._renderNewRowGroupBy),this.element.unbind({iggridrendering:this._gridRenderingHandler,iggridrendered:this._gridRenderedHandler,iggriddatarendered:t,iggridvirtualrecordsrender:t,iggridcolumnscollectionmodified:t}),n.Widget.prototype.destroy.apply(this,arguments),this},renderNewRow:function(n,t){this._renderNewRowDefault.apply(this.options.parent,[n,t]);this._rebindCells(t)},_renderNewRowGroupByKo:function(n,t){this._renderNewRowGroupBy.apply(this._grb,[n,t]);this._rebindCells(t)},rebindCells:function(n){this._rebindCells(n)},_gridRendering:function(t,i){this.options.parent&&this.options.parent.id()!==i.owner.id()||(this.options.parent=i.owner,this.renderNewRow!==i.owner.renderNewRow&&(this._renderNewRowDefault=i.owner.renderNewRow,i.owner.renderNewRow=n.proxy(this.renderNewRow,this)))},_gridRendered:function(t,i){var r=n(i.owner.element).data("igGridGroupBy")||n("#"+i.owner.id()).data("igGridGroupBy");r&&this._renderNewRowGroupByKo!==r._renderNewRow&&(this._renderNewRowGroupBy=r._renderNewRow,r._renderNewRow=n.proxy(this._renderNewRowGroupByKo,this),this._grb=r)},_rebindCells:function(t){var f,i=this.options.parent,r=this.options.parent.element,o=r.data("igGridPaging")?r.data("igGridPaging").pageIndex():0,s=r.data("igGridPaging")?r.data("igGridPaging").pageSize():0,h=o*s,u=i.options,c=n.type(t)==="number"||n.type(t)==="string"?"[data-id='"+t+"']":"",e;f=ko.isObservable(i.dataSource.kods)?i.dataSource.kods():ko.isObservable(i.dataSource.kods[i.options.responseDataKey])?i.dataSource.kods[i.options.responseDataKey]():i.dataSource.dataSource();u.rowVirtualization||u.virtualization||(i._startRowIndex=h);e=r.hasClass("ui-iggrid-responsive-vertical")?this._bindingFunctionResponsiveVerticalColumns(f,i,u):this._bindingFunctionDefault(f,i,u);i.element.children("tbody").children("tr[data-grouprow!=true][data-container!=true]"+c).filter(function(){return this.style.visibility!=="hidden"}).map(e)},_bindingFunctionDefault:function(t,i,r){return function(u){var l=n(this).attr("data-id"),e,f,s,a,v,y,o,h,c;for(u=0;u<t.length;u++)if(e=t[u][i.options.primaryKey],ko.isObservable(e)&&(e=e()),String(e)===String(l)){h=t[u];break}if(h){for(v=n(this).children("td[data-parent!=true][data-parent!=false][data-skip!=true]"),y=n(this).closest(".ui-iggrid").find(".ui-iggrid-fixedcontainer tbody>tr[data-id='"+l+"']").children("td[data-parent!=true][data-parent!=false][data-skip!=true]"),s=0,a=0,f=0;f<r.columns.length;f++)if(!r.columns[f].hidden){if(r.columns[f].unbound){s++;continue}o=h[r.columns[f].key];c=r.columns[f].fixed?y[a++]:v[s++];ko.isObservable(o)&&(ko.hasOwnProperty("applyBindingAccessorsToNode")?ko.applyBindingAccessorsToNode(c,{igCell:{value:r.columns[f]}},{$data:o}):ko.applyBindingsToNode(c,{igCell:{value:r.columns[f]}},o))}}else n(this).remove()}},_bindingFunctionResponsiveVerticalColumns:function(t,i,r){return function(u){var a=n(this).attr("data-id"),e,f,l,o,s,h,c;for(u=0;u<t.length;u++)if(e=t[u][i.options.primaryKey],ko.isObservable(e)&&(e=e()),String(e)===String(a)){s=t[u];break}if(s){for(l=n(this).children("td[data-parent!=true][data-parent!=false][data-skip!=true]"),f=0;f<r.columns.length;f++)if((c=n(this).data("col-key"),r.columns[f].key===c)&&(o=s[c],ko.isObservable(o))){h=l[1];ko.hasOwnProperty("applyBindingAccessorsToNode")?ko.applyBindingAccessorsToNode(h,{igCell:{value:r.columns[f]}},{$data:o}):ko.applyBindingsToNode(h,{igCell:{value:r.columns[f]}},o);break}}else n(this).remove()}},recordsUpdated:function(t){var i=this.options.parent,u,s,e=n(this.options.parent.element).data("igGridUpdating")||n("#"+i.id()).data("igGridUpdating"),o,r,h,f,c=i.options.autoCommit;if(u=t().dataSource,u?i.dataSource.kods=u:u=i.options.responseDataKey?i.dataSource.kods[i.options.responseDataKey]:i.dataSource.kods,s=i.dataSource._knockoutState,i.dataSource._knockoutState=n.extend([],u()),s){if(e===null||e===undefined)throw new Error("two-way adding and deleting of rows with KnockoutJS requires the Updating feature to be defined");if(typeof u=="function"&&!i.dataSource._ownUpdate)for(h=ko.utils.compareArrays(s,u()),o=0;o<h.length;o++)f=h[o],f.status==="deleted"?(i.dataSource._koUpdate=!0,r=f.value[i.options.primaryKey],r=ko.isObservable(r)?r():r,i.options.autoCommit=!0,e.deleteRow(r),i.options.autoCommit=c):f.status==="added"&&(r=f.value[i.options.primaryKey],r=ko.isObservable(r)?r():r,i.dataSource._koUpdate=!0,i.options.autoCommit=!0,e.addRow(ko.toJS(f.value)),i.options.autoCommit=c);i.dataSource._ownUpdate=!1}},cellUpdated:function(t,i,r){var u=this.options.parent,f,a,e,o,h,c,y,p,v,s,l;if(f=i.value.key,o=t.closest("tr"),y=u.columnByKey(u.options.primaryKey),o.attr("data-id")!==null&&o.attr("data-id")!==undefined)y.dataType==="number"||y.dataType===undefined?(c=parseInt(o.attr("data-id"),10),f===u.options.primaryKey&&(r=parseInt(r,10))):c=o.attr("data-id"),s=u.dataSource.settings.localSchemaTransform?u.dataSource._origDs:null,h=u.dataSource.findRecordByKey(c),s&&s!==u.dataSource._data&&(l=u.dataSource.findRecordByKey(c,s)),h===null&&(h=u.dataSource.findRecordByKey(r),s&&s!==u.dataSource._data&&(l=u.dataSource.findRecordByKey(c,s))),f===u.options.primaryKey&&(o.attr("data-id",r),o.data().id=r),h[f]=r,l&&(l[f]=r);else throw new Error("Updating the data source requires a primary key to be defined");v=u.columnByKey(f);v&&v.template&&v.template.length>0?(a=l||{},a.hasOwnProperty(f)||(a[f]=r),e=u._renderTemplatedCell(a,i.value),e&&e.startsWith("<td")&&(e=n(e).html())):e=u._renderCell(r,i.value,h);p=t.children(".ui-iggrid-editor").detach();t.html(e);p.length>0&&t.prepend(p);u.dataSource._ownUpdate=!1},_bridgeGrid:function(n){var t=this._rebindCellsHandler;n.bind({iggridrendering:this._gridRenderingHandler,iggridrendered:this._gridRenderedHandler,iggriddatarendered:t,iggridvirtualrecordsrender:t,iggridcolumnscollectionmodified:t,iggridcolumnfixingcolumnfixed:t})},_createHandlers:function(){this._rebindCellsHandler=n.proxy(this._rebindCells,this);this._gridRenderingHandler=n.proxy(this._gridRendering,this);this._gridRenderedHandler=n.proxy(this._gridRendered,this)}})}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui","knockout","../modules/infragistics.util","../modules/infragistics.datasource","../modules/infragistics.templating","../modules/infragistics.ui.shared","../modules/infragistics.ui.tree"],n):n(jQuery)}(function(n){ko.bindingHandlers.igTree={init:function(t,i){var r=n.extend(!0,{},ko.utils.unwrapObservable(i())),u=r.dataSource,f,e;f=function(i,f){f.element.attr("data-path").split(f.owner.options.pathSeparator).length<=1&&(u.valueHasMutated(),n(t).find(".ui-igtree-noderoot").each(function(n,t){ko.applyBindingsToNode(t,{igTreeNode:{value:u()[n],bindings:r.bindings}},u()[n])}))};e=function(){u.valueHasMutated()};r.dataSource=ko.utils.unwrapObservable(r.dataSource);r.nodeAdded=f;r.nodeDeleted=e;n(t).igTree(r);n(t).find(".ui-igtree-noderoot").each(function(n,t){ko.applyBindingsToNode(t,{igTreeNode:{value:u()[n],bindings:r.bindings}},u()[n])});ko.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).igTree("destroy")})},update:function(t,i){var r=ko.utils.unwrapObservable(i()),u=r.dataSource,f=n(t);r.dataSource=ko.utils.unwrapObservable(r.dataSource);f.find(".ui-igtree-noderoot").length!==u().length&&(f.igTree("option","dataSource",r.dataSource),f.find(".ui-igtree-noderoot").each(function(n,t){ko.applyBindingsToNode(t,{igTreeNode:{value:u()[n],bindings:r.bindings}},u()[n])}))}};ko.bindingHandlers.igTreeNodeCollection={init:function(t,i){var f=i(),u=f.bindings,r=f.value,s=n(t).children("li"),e,o;e=function(i,f){f.element.attr("data-path").split(f.owner.options.pathSeparator).length>1&&n(t).children("li").each(function(n,t){ko.applyBindingsToNode(t,{igTreeNode:{value:r()[n],bindings:u.bindings||u}},r()[n])})};o=function(){n(t).children("li").length!==r().length&&r.valueHasMutated()};n(t).closest(".ui-igtree").on("igtreenodeadded",e);n(t).closest(".ui-igtree").on("igtreenodedeleted",o);s.each(function(n,t){ko.applyBindingsToNode(t,{igTreeNode:{value:r()[n],bindings:u.bindings||u}},r()[n])})},update:function(t,i){var u=i(),f=n(t).children("li"),r=u.value;f.length!==r().length&&(n(t).empty(),n(t).closest(".ui-igtree").igTree("addNode",r(),n(t).parent("li")))}};ko.bindingHandlers.igTreeNode={init:function(t,i){var u=i(),r=u.bindings,f=u.value,e=n(t).children("ul");e.length>0&&ko.applyBindingsToNode(e[0],{igTreeNodeCollection:{value:f[r.childDataProperty],bindings:r}},f[r.childDataProperty])},update:function(t,i){n(t).closest(".ui-igtree").igTree("applyChangesToNode",n(t),i().value)}}})