From 13409374112da10cc60aea73b27b524126114e29 Mon Sep 17 00:00:00 2001 From: Stephan Wald Date: Fri, 9 Mar 2018 16:01:18 +0100 Subject: [PATCH] cherripicking from refactor-2 branch --- .bdtPath | 2 - .buildpath | 4 - .classpath | 8 - .gitignore | 2 - .project | 18 - BBjGridExWidget.bbj | 361 +- Demo/EditingDemo.bbj | 197 + Demo/sampledata.json | 13200 --------- js/.gitignore | 2 + js/BBjGridExWidget.js | 306 - js/ag-grid.js | 34063 ---------------------- js/ag-grid.min.js | 842 - js/bbj-masks.min.js | 1 - js/{ => dist}/ag-grid-enterprise.min.js | 0 js/dist/ag-grid.min.js | 854 + js/dist/agc-basic-bundle.min.js | 1 + js/dist/bbj-grid-widget.min.js | 1 + js/package.json | 27 + js/src/api.js | 12 + js/src/api/cells.js | 67 + js/src/api/columns.js | 57 + js/src/api/rows.js | 60 + js/src/api/state.js | 13 + js/src/events.js | 12 + js/src/events/editing.js | 73 + js/src/events/pollyfill.js | 15 + js/src/events/selections.js | 39 + js/src/events/utilities.js | 39 + js/src/index.js | 12 + js/src/init.js | 212 + js/src/utilities.js | 23 + js/webpack.config.js | 53 + 32 files changed, 2038 insertions(+), 48538 deletions(-) delete mode 100644 .bdtPath delete mode 100644 .buildpath delete mode 100644 .classpath delete mode 100644 .gitignore delete mode 100644 .project create mode 100644 Demo/EditingDemo.bbj delete mode 100644 Demo/sampledata.json create mode 100644 js/.gitignore delete mode 100644 js/BBjGridExWidget.js delete mode 100644 js/ag-grid.js delete mode 100644 js/ag-grid.min.js delete mode 100644 js/bbj-masks.min.js rename js/{ => dist}/ag-grid-enterprise.min.js (100%) create mode 100644 js/dist/ag-grid.min.js create mode 100644 js/dist/agc-basic-bundle.min.js create mode 100644 js/dist/bbj-grid-widget.min.js create mode 100644 js/package.json create mode 100644 js/src/api.js create mode 100644 js/src/api/cells.js create mode 100644 js/src/api/columns.js create mode 100644 js/src/api/rows.js create mode 100644 js/src/api/state.js create mode 100644 js/src/events.js create mode 100644 js/src/events/editing.js create mode 100644 js/src/events/pollyfill.js create mode 100644 js/src/events/selections.js create mode 100644 js/src/events/utilities.js create mode 100644 js/src/index.js create mode 100644 js/src/init.js create mode 100644 js/src/utilities.js create mode 100644 js/webpack.config.js diff --git a/.bdtPath b/.bdtPath deleted file mode 100644 index 8d014e13..00000000 --- a/.bdtPath +++ /dev/null @@ -1,2 +0,0 @@ -#Tue Sep 26 15:48:06 CEST 2017 -projectConfiguration={"environmentId"\:"BRE_CONTAINER","projectPrefix"\:"","tokenized"\:false,"outputFolderName"\:"bin","projectVersion"\:"17.0.0","deploymentDescriptor"\:"","properties"\:{},"compilerErrorLogging"\:false,"staticTypeChecking"\:false,"staticTypeWarnings"\:false,"defaultSourceOption"\:true,"maxParseSize"\:1048576} diff --git a/.buildpath b/.buildpath deleted file mode 100644 index 54720d8a..00000000 --- a/.buildpath +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/.classpath b/.classpath deleted file mode 100644 index 9fb5df0c..00000000 --- a/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9938a14b..00000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/.metadata/ -/.builaunches/ diff --git a/.project b/.project deleted file mode 100644 index 6dbdfd39..00000000 --- a/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - BBjGridExWidget - - - - - - org.eclipse.dltk.core.scriptbuilder - - - - - - com.basis.bdt.eclipse.core.nature - org.eclipse.jdt.core.javanature - - diff --git a/BBjGridExWidget.bbj b/BBjGridExWidget.bbj index abbdb725..8c08f878 100644 --- a/BBjGridExWidget.bbj +++ b/BBjGridExWidget.bbj @@ -38,6 +38,7 @@ class public BBjGridExWidgetSelectRowEvent field public BBjVector NewSelectedRows! = new BBjVector() field public BBjVector NewDeselectedRows! = new BBjVector() field public BBjVector SelectedRows! = new BBjVector() + rem /** rem * Get the number of affected rows by the last event @@ -114,9 +115,17 @@ class public BBjGridExWidgetSelectRowEvent classend class public BBjGridExWidgetDoubleClickRowEvent - field public BBjGridExWidgetRow Row! - +classend + +class public BBjGridWidgetCellEditingEvent + field public BBjGridExWidgetRow Row! + field public BBjString Column$ + field public BBjString Value$ +classend + +class public BBjGridWidgetRowEditingEvent + field public BBjGridExWidgetRow Row! classend class public BBjGridExWidgetColumnState @@ -155,6 +164,12 @@ class public BBjGridExWidget extends BBjWidget field private HashMap SelectedRowsMap! = new HashMap() + field private BBjNumber Editing! = 0 + field public BBjNumber Editable! = 0 + field public BBjNumber SingleClickEdit! = 0 + field public BBjNumber GroupEdit! = 0 + field public BBjString EditType$ = "" + field public BBjString EnterKeyBehavior$ = "" field public static BBjString LicenseKey$ rem --------------------- constructors ------------------------------------- @@ -190,7 +205,7 @@ class public BBjGridExWidget extends BBjWidget if (f_init!) then dummy$=stbl("!OPTIONS","JAVAFX_HTMLVIEW=true") - html$="
" + html$="
" htmlview! = #getCanvas().addHtmlView(101,0,0,#getCanvas().getWidth(),#getCanvas().getHeight(),"") htmlview!.setCallback(BBjAPI.ON_PAGE_LOADED,#this!,"onLoad") htmlview!.setCallback(BBjAPI.ON_NATIVE_JAVASCRIPT,#this!,"onNativeEvent") @@ -245,7 +260,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void setSelectedRow(BBjNumber x!) #deselectAll() - script$="bbj_grid_widget_set_selected_rows([" + str(x!) + "]);" + script$="gw_setSelectedRows([" + str(x!) + "]);" #executeScript(script$) methodend @@ -254,7 +269,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void setSelectedRows(BBjVector x!) #deselectAll() - script$="bbj_grid_widget_set_selected_rows([" + script$="gw_setSelectedRows([" it! = x!.iterator() first=1 while it!.hasNext() @@ -275,7 +290,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void selectAll() - script$="bbj_grid_widget_set_select_all(0);" + script$="gw_selectAll(0);" #executeScript(script$) methodend @@ -286,7 +301,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void selectAll(BBjNumber x!) - script$="bbj_grid_widget_set_select_all(" + str(x!) + ");" + script$="gw_selectAll(" + str(x!) + ");" #executeScript(script$) methodend @@ -296,7 +311,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void deselectAll() - script$="bbj_grid_widget_set_deselect_all(0);" + script$="gw_deselectAll(0);" #executeScript(script$) methodend @@ -307,7 +322,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void deselectAll(BBjNumber x!) - script$="bbj_grid_widget_set_deselect_all(" + str(x!) + ");" + script$="gw_deselectAll(" + str(x!) + ");" #executeScript(script$) methodend @@ -316,7 +331,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void expandAll() - script$="bbj_grid_widget_set_expand_all();" + script$="gw_expandAll();" #executeScript(script$) methodend @@ -326,7 +341,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void collapseAll() - script$="bbj_grid_widget_set_collapse_all();" + script$="gw_collapseAll();" #executeScript(script$) methodend @@ -347,7 +362,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void setVisibleRow(BBjNumber index! , BBjString position!) - script$="bbj_grid_widget_set_visible_row(" + str(index!) + ",'" + str(position!) +"');" + script$="gw_setVisibleRow(" + str(index!) + ",'" + str(position!) +"');" #executeScript(script$) methodend @@ -360,7 +375,7 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void setVisibleColumn(BBjString columnId!) - script$="bbj_grid_widget_set_visible_column('" + columnId! + "');" + script$="gw_setVisibleColumn('" + columnId! + "');" #executeScript(script$) methodend @@ -381,9 +396,31 @@ class public BBjGridExWidget extends BBjWidget case "grid-row-select" #handleGridSelectRowEvent(detail$) break + case "grid-row-doubleclick" #handleGridDoubleClickEvent(detail$) - break + break + + case "cellEditingStarted" + #Editing! = 1 + #handleGridCellEditingEvent(detail$,#ON_GRID_CELL_EDITING_STARTED()) + break + + case "cellEditingStopped" + #Editing! = 0 + #handleGridCellEditingEvent(detail$,#ON_GRID_CELL_EDITING_STOPPED()) + break + + case "rowEditingStarted" + #Editing! = 1 + #handleGridROWEditingEvent(detail$,#ON_GRID_ROW_EDITING_STARTED()) + break + + case "rowEditingStopped" + #Editing! = 0 + #handleGridROWEditingEvent(detail$,#ON_GRID_ROW_EDITING_STOPPED()) + break + swend methodend @@ -461,6 +498,48 @@ class public BBjGridExWidget extends BBjWidget #fireEvent(#ON_GRID_DOUBLE_CLICK(), event!) methodend + method private void handleGridCellEditingEvent(BBjString detail$ , BBjNumber type!) + + parser! = new JsonParser() + array! = parser!.parse(detail$).getAsJsonObject().get("0") + next! = array!.iterator().next().getAsJsonObject() + + rowAsJson! = next!.get("row").getAsJsonObject() + row! = new BBjGridExWidgetRow() + row!.setId(rowAsJson!.get("id").getAsString()) + row!.setChildIndex(rowAsJson!.get("childIndex").getAsInt()) + row!.setParentKey(rowAsJson!.get("parentKey").getAsString()) + row!.setData(rowAsJson!.get("data").getAsJsonObject()) + row!.setIsSelected(iff(rowAsJson!.get("selected").getAsString() = "true" , 1 , 0)) + + event! = new BBjGridWidgetCellEditingEvent() + event!.setRow(row!) + event!.setValue(next!.get("value").getAsString()) + event!.setColumn(next!.get("column").getAsString()) + + + #fireEvent(type!, event!) + methodend + + method private void handleGridRowEditingEvent(BBjString detail$ , BBjNumber type!) + + parser! = new JsonParser() + array! = parser!.parse(detail$).getAsJsonObject().get("0") + next! = array!.iterator().next().getAsJsonObject() + + row! = new BBjGridExWidgetRow() + row!.setId(next!.get("id").getAsString()) + row!.setChildIndex(next!.get("childIndex").getAsInt()) + row!.setParentKey(next!.get("parentKey").getAsString()) + row!.setData(next!.get("data").getAsJsonObject()) + row!.setIsSelected(iff(next!.get("selected").getAsString() = "true" , 1 , 0)) + + event! = new BBjGridExWidgetDoubleClickRowEvent() + event!.setRow(row!) + + #fireEvent(type!, event!) + methodend + method private void performGridDataUpdate() if (! #IsReady!) methodret @@ -486,18 +565,21 @@ class public BBjGridExWidget extends BBjWidget option!.addProperty("groupSelectsChildren",Boolean.valueOf(iff(#groupSelectsChildren = 1 , "true" ,"false"))) option!.addProperty("__getRowNodeId",#RowNodeId$) option!.addProperty("__getParentNodeId",#ParentNodeId$) + option!.addProperty("editType",#getEditType()) + option!.addProperty("singleClickEdit",#getSingleClickEdit()) + option!.addProperty("enableGroupEdit",#getGroupEdit()) + option!.addProperty("rowSelection",iff(#MultipleSelection = 1 , "multiple" ,"single")) + option!.addProperty("__enterKeyBehavior",#EnterKeyBehavior$) option!.add("columnDefs",cdef!) - if (#SelectionMode = BBjGrid.GRID_SELECT_ROW) then - option!.addProperty("rowSelection",iff(#MultipleSelection = 1 , "multiple" ,"single")) + if (#SelectionMode = BBjGrid.GRID_SELECT_ROW) and #MultipleSelection = 0 then + option!.addProperty("__navigateToNextCell",1) + else + option!.addProperty("__navigateToNextCell",0) fi - if #this!.getLicenseKey()>"" then - #HTMLView!.executeScript("bbj_grid_widget_set_data("+data$+","+gson!.toJson(option!)+",'"+#this!.getLicenseKey()+"')") - else - #HTMLView!.executeScript("bbj_grid_widget_set_data("+data$+","+gson!.toJson(option!)+")") - fi + #HTMLView!.executeScript("gw_setData("+data$+","+gson!.toJson(option!)+")") methodend @@ -555,6 +637,7 @@ class public BBjGridExWidget extends BBjWidget node! = new JsonObject() node!.addProperty("headerName",label$) node!.addProperty("field",f$) + pin$="" pin$=cd!.getFieldAttribute(f$,"PINNED",err=*next) @@ -568,33 +651,49 @@ class public BBjGridExWidget extends BBjWidget node!.addProperty("width",num(width$)) fi + if (#Editable! >0) then + editable!= num(cd!.getFieldAttribute(f$,"EDITABLE",err=*next)) + if editable! > 0 then + node!.addProperty("editable",1) + else + node!.addProperty("editable",0) + fi + fi + if first then node!.addProperty("checkboxSelection",Boolean.valueOf(iff(#showSelectionCheckbox = 1 , "true" ,"false"))) fi + + type! = "" + type!= cd!.getFieldAttribute(f$,"TYPE",err=*next) + if type! <> "" then + node!.addProperty("type",type!) - switch cd!.getFieldType(f$) - case Types.INTEGER - case Types.DECIMAL - case Types.DOUBLE - case Types.NUMERIC - node!.addProperty("type","numericColumn") - node!.addProperty("filter","agNumberColumnFilter") - break - case Types.DATE - case Types.TIMESTAMP - node!.addProperty("filter","date") - break - - case Types.BOOLEAN - node!.addProperty("filter","boolean") - break - - - case default - node!.addProperty("filter","agTextColumnFilter") - break - swend - + else + switch cd!.getFieldType(f$) + case Types.INTEGER + case Types.DECIMAL + case Types.DOUBLE + case Types.NUMERIC + node!.addProperty("type",#GRID_TYPE_BASIC_NUMBER()) + break + case Types.DATE + node!.addProperty("type",#GRID_TYPE_BASIC_DATE()) + break + case Types.TIMESTAMP + node!.addProperty("type",#GRID_TYPE_BASIC_TIMESTAMP()) + break + + case Types.BOOLEAN + node!.addProperty("type",#GRID_TYPE_BASIC_BOOLEAN()) + break + + case default + node!.addProperty("type",#GRID_TYPE_BASIC_STRING()) + break + swend + fi + bgc$="" bgc$=cd!.getFieldAttribute(f$,"BGCOLOR",err=*next) @@ -648,51 +747,31 @@ class public BBjGridExWidget extends BBjWidget ch=unt - if (BBjGridExWidget.getLicenseKey()>"") then - - rem loading the patched ag-grid in BUI until they will have fixed their code for the getDocument method - if INFO(3,6)="5" then - open (ch)"BBjGridExWidget/js/ag-grid-enterprise.min.js" - read record (ch,siz=5512000)script$ - close (ch) - #HTMLView!.injectScript(script$) - #HTMLView!.injectScript(script$,1) - else - open (ch)"BBjGridExWidget/js/ag-grid-enterprise.min.js" - read record (ch,siz=5512000)script$ - close (ch) - #HTMLView!.injectScript(script$,1) - fi - - else - - rem loading the patched ag-grid in BUI until they will have fixed their code for the getDocument method - if INFO(3,6)="5" then - rem open (ch)"BBjGridExWidget/js/ag-grid-enterprise.js" - rem open (ch)"BBjGridExWidget/js/ag-grid.js" - open (ch)"BBjGridExWidget/js/ag-grid.min.js" - read record (ch,siz=5512000)script$ - close (ch) - #HTMLView!.injectScript(script$) - #HTMLView!.injectScript(script$,1) - else - rem open (ch)"BBjGridExWidget/js/ag-grid-enterprise.js" - open (ch)"BBjGridExWidget/js/ag-grid.min.js" - read record (ch,siz=5512000)script$ - close (ch) - #HTMLView!.injectScript(script$,1) - fi - - endif + rem loading the patched ag-grid in BUI until they will have fixed their code for the getDocument method + if INFO(3,6)="5" then + rem open (ch)"BBjGridExWidget/js/ag-grid-enterprise.js" + rem open (ch)"BBjGridExWidget/js/ag-grid.js" + open (ch)"BBjGridExWidget/js/dist/ag-grid.min.js" + read record (ch,siz=5512000)script$ + close (ch) + #HTMLView!.injectScript(script$) + #HTMLView!.injectScript(script$,1) + else + rem open (ch)"BBjGridExWidget/js/ag-grid-enterprise.js" + open (ch)"BBjGridExWidget/js/dist/ag-grid.min.js" + read record (ch,siz=5512000)script$ + close (ch) + #HTMLView!.injectScript(script$,1) + fi ch=unt - open (ch)"BBjGridExWidget/js/bbj-masks.min.js" + open (ch)"BBjGridExWidget/js/dist/agc-basic-bundle.min.js" read record (ch,siz=5512000)script$ close (ch) #HTMLView!.injectScript(script$) ch=unt - open (ch)"BBjGridExWidget/js/BBjGridExWidget.js" + open (ch)"BBjGridExWidget/js/dist/bbj-grid-widget.min.js" read record (ch,siz=5512000)script$ close (ch) @@ -869,7 +948,7 @@ rem --------------------api methods-------------------------------- #ColumnDefinition!.removeFieldAttribute(Field$,"PINNED",err=*next) fi - script$="bbj_grid_widget_set_column_pin('" + Field$ + "','" + pin$ + "');" + script$="gw_pinColumn('" + Field$ + "','" + pin$ + "');" #executeScript(script$) methodend @@ -880,7 +959,7 @@ rem --------------------api methods-------------------------------- rem */ method public void setFitToGrid(BBjNumber fit!) #FitToGrid=fit! - ret! = #executeScript("bbj_grid_widget_fit_grid("+str(fit!)+")") + ret! = #executeScript("gw_sizeColumnsToFit("+str(fit!)+")") methodend @@ -910,7 +989,7 @@ rem --------------------api methods-------------------------------- method public void setColumnWidth(BBjString Field$, BBjNumber w!) if Field$="$TREENODE" then let Field$="__node__name" #ColumnDefinition!.setFieldAttribute(Field$,"WIDTH",num(w!),err=*next) - script$="bbj_grid_widget_set_column_width('" + Field$ + "'," + str(w!) + ");" + script$="gw_setColumnWidth('" + Field$ + "'," + str(w!) + ");" #executeScript(script$) methodend @@ -941,7 +1020,7 @@ rem --------------------api methods-------------------------------- methodend method public void moveColumn(BBjString Field$, BBjNumber toIndex!) - script$="bbj_grid_widget_set_column_move('" + Field$ + "'," + str(toIndex!) + ");" + script$="gw_moveColumn('" + Field$ + "'," + str(toIndex!) + ");" #executeScript(script$) methodend @@ -986,7 +1065,7 @@ rem --------------------api methods-------------------------------- rem * @param BBjNumber filter rem */ method public void setQuickFilter(BBjNumber filter) - #HTMLView!.executeScript("bbj_grid_widget_set_quick_filter("+ str(filter) +")") + #HTMLView!.executeScript("gw_setQuickFilter("+ str(filter) +")") methodend rem /** @@ -994,7 +1073,7 @@ rem --------------------api methods-------------------------------- rem * @param BBjNumber filter rem */ method public void setQuickFilter(BBjString filter!) - #HTMLView!.executeScript("bbj_grid_widget_set_quick_filter('"+ filter! +"')") + #HTMLView!.executeScript("gw_setQuickFilter('"+ filter! +"')") methodend rem /** @@ -1017,7 +1096,7 @@ rem --------------------api methods-------------------------------- method public BBjGridExWidgetColumnState getColumnState() state! = new BBjGridExWidgetColumnState() - json_string$ = str(#HTMLView!.executeScript("bbj_grid_widget_get_state()")) + json_string$ = str(#HTMLView!.executeScript("gw_getState()")) state!.setString(json_string$) methodret state! @@ -1026,10 +1105,42 @@ rem --------------------api methods-------------------------------- method public void setColumnState(BBjGridExWidgetColumnState state!) json_state$ = state!.getString() - #HTMLView!.executeScript("bbj_grid_widget_set_state("+json_state$+")") + #HTMLView!.executeScript("gw_setState("+json_state$+")") + + methodend + method public void setStartCellEditing(BBjNumber row! , BBjString colId$) + #HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "')") methodend + method public void setStartCellEditing(BBjNumber row! , BBjString colId$) + #HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "')") + methodend + + method public void setStartCellEditing(BBjNumber row! , BBjString colId$, BBjString char$) + #HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "','','" + char$ +"')") + methodend + + method public void setStartCellEditing(BBjNumber row! , BBjString colId$,BBjNumber key!) + #HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "','" + STR(key!)+ "')") + methodend + + method public void startNextCellEditing() + #HTMLView!.executeScript("gw_editNextCell()") + methodend + + method public void startPreviousCellEditing() + #HTMLView!.executeScript("gw_editPreviousCell()") + methodend + + method public void stopEditing() + #HTMLView!.executeScript("gw_stopEditing(0)") + methodend + + method public void stopEditing(BBjNumber cancel!) + #HTMLView!.executeScript("gw_stopEditing("+STR(cancel!)+ ")") + methodend + rem /** rem * @return Hashmap with the selected row indexes and items rem */ @@ -1037,7 +1148,7 @@ rem --------------------api methods-------------------------------- methodret #SelectedRowsMap! methodend - rem /** + rem /** rem * @return the selected row rem */ method public BBjGridExWidgetRow getSelectedRowInfo() @@ -1050,6 +1161,13 @@ rem --------------------api methods-------------------------------- methodret null() methodend + rem /** + rem * @return one if editing is eabled , false otherwise + rem */ + method public BBjNUmber isEditing() + return #Editing + methodend + rem /** rem * @return BBjVector with the selected row indexes and items rem */ @@ -1065,7 +1183,7 @@ rem --------------------api methods-------------------------------- methodend - rem /** + rem /** rem * @return the selected row rem */ method public BBjNumber getSelectedRow() @@ -1145,8 +1263,23 @@ rem --------------------api methods-------------------------------- method public static BBjNumber ON_GRID_DOUBLE_CLICK() methodret BBjAPI.ON_GRID_DOUBLE_CLICK methodend + + method public static BBjNumber ON_GRID_CELL_EDITING_STARTED() + methodret 5000 + methodend + method public static BBjNumber ON_GRID_CELL_EDITING_STOPPED() + methodret 5002 + methodend + + method public static BBjNumber ON_GRID_ROW_EDITING_STARTED() + methodret 5003 + methodend + method public static BBjNumber ON_GRID_ROW_EDITING_STOPPED() + methodret 5005 + methodend + rem /** rem * @return constant value to define row position rem */ @@ -1167,6 +1300,50 @@ rem --------------------api methods-------------------------------- method public static BBjString GRID_ROWPOS_BOTTOM() methodret "bottom" methodend + + method public static BBjString GRID_EDITTYPE_ROW() + methodret "fullRow" + methodend + + method public static BBjString GRID_EDITTYPE_CELL() + methodret "" + methodend + + + method public static BBjString GRID_TYPE_BASIC_STRING() + methodret "basic-string" + methodend + + method public static BBjString GRID_TYPE_BASIC_NUMBER() + methodret "basic-number" + methodend + method public static BBjString GRID_TYPE_BASIC_BOOLEAN() + methodret "basic-boolean" + methodend + + method public static BBjString GRID_TYPE_BASIC_DATE() + methodret "basic-date" + methodend + + method public static BBjString GRID_TYPE_BASIC_TIMESTAMP() + methodret "basic-timestamp" + methodend + + method public static BBjString GRID_TYPE_BASIC_IMAGE() + methodret "basic-image" + methodend + + method public static BBjString GRID_TYPE_BASIC_IMAGE_FILTERABLE() + methodret "basic-image-filterable" + methodend + + method public static BBjString GRID_ENTER_NEXT_CELL() + methodret "next" + methodend + + method public static BBjString GRID_ENTER_STOP_EDITING() + methodret "stop" + methodend classend diff --git a/Demo/EditingDemo.bbj b/Demo/EditingDemo.bbj new file mode 100644 index 00000000..ec6c9f9c --- /dev/null +++ b/Demo/EditingDemo.bbj @@ -0,0 +1,197 @@ +use ::BBjGridExWidget/BBjGridExWidget.bbj::BBjGridExWidget +use com.basiscomponents.bc.SqlQueryBC +use com.basiscomponents.db.ResultSet +use com.basiscomponents.db.DataRow +use java.sql.Types + +? 'HIDE' + +declare auto BBjTopLevelWindow wnd! +declare auto BBjListButton lb_db! +declare auto BBjListButton lb_tbl! +declare auto BBjToolButton btn_fit! +declare BBjGridExWidget grid! + +wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,1200,800,"BBj Grid Ex Demo") + +startEditingZero! = wnd!.addButton(300,10,10,200,25,"Start Editing (1 , DOUBLE)") +startEditingZero!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingZeroFunc") + +startEditingDelete! = wnd!.addButton(301,220,10,200,25,"Start Editing (1, DOUBLE , 46)") +startEditingDelete!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingDeleteFunc") + +startEditingFill! = wnd!.addButton(302,430,10,200,25,"Start Editing (1 , DOUBLE , '200')") +startEditingFill!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingFillFunc") + +stopEditing! = wnd!.addButton(303,640,10,100,25,"Stop Editing") +stopEditing!.setCallback(BBjAPI.ON_BUTTON_PUSH,"stopEditingFunc") + +stopEditing! = wnd!.addButton(304,750,10,130,25,"Stop And Cancel Editing") +stopEditing!.setCallback(BBjAPI.ON_BUTTON_PUSH,"stopAndCancelEditingFunc") + +nextEdit! = wnd!.addButton(305,10,40,130,25,"Next Cell Edit") +nextEdit!.setCallback(BBjAPI.ON_BUTTON_PUSH,"editNext") + +previousEdit! = wnd!.addButton(306,150,40,130,25,"Previous Cell Edit") +previousEdit!.setCallback(BBjAPI.ON_BUTTON_PUSH,"editPrevious") + +wnd!.setCallback(BBjAPI.ON_CLOSE,"byebye") +wnd!.setCallback(BBjAPI.ON_RESIZE,"resize") + +grid! = new BBjGridExWidget(wnd!,100,0,70,1200,800) +grid!.setEnableFilter(1) +grid!.setEnableFloatingFilter(1) + +rem enable grid editing based on EDITABLE flag in DataRow Attribute +grid!.setEditable(1) +grid!.setSingleClickEdit(1) +REM grid!.setEditType(grid!.GRID_EDITTYPE_ROW()) +REM grid!.setEnterKeyBehavior(grid!.GRID_ENTER_NEXT_CELL()) + +grid!.setCallback(grid!.ON_GRID_ROW_EDITING_STARTED(),"rowEditingStarted") +grid!.setCallback(grid!.ON_GRID_ROW_EDITING_STOPPED(),"rowEditingStopped") + +grid!.setCallback(grid!.ON_GRID_CELL_EDITING_STARTED(),"cellEditingStarted") +grid!.setCallback(grid!.ON_GRID_CELL_EDITING_STOPPED(),"cellEditingStopped") + +gosub fillGrid + +process_events + + +startEditingZeroFunc: + grid!.stopEditing(1) + grid!.setStartCellEditing(1,"DOUBLE") +return + +startEditingDeleteFunc: + grid!.stopEditing(1) + rem KEY CODE for DELETE key is 46 + grid!.setStartCellEditing(1,"DOUBLE",46) +return + +startEditingFillFunc: + grid!.stopEditing(1) + grid!.setStartCellEditing(1,"DOUBLE","200") +return + +stopEditingFunc: + grid!.stopEditing(0) +return + +stopAndCancelEditingFunc: + grid!.stopEditing(1) +return + +editNext: + grid!.startNextCellEditing() +return + +editPrevious: + grid!.startPreviousCellEditing() +return + +fillGrid: + + rs! = new ResultSet() + + + i=1 + x=2.13 + + for j=1 to 2 + + dr! = new DataRow() + dr!.setFieldValue("ID",java.sql.Types.VARCHAR, "ID_" + STR(i)) + dr!.setFieldValue("DATE",java.sql.Types.DATE,"1979-08-03") + dr!.setFieldValue("DOUBLE",java.sql.Types.DOUBLE,x) + dr!.setFieldValue("TIMESTAMP",java.sql.Types.TIMESTAMP,"2018-01-02 12:22:13") + dr!.setFieldValue("BOOLEAN",java.sql.Types.BOOLEAN,MOD(i,3)=0) + dr!.setFieldValue("INTEGER",java.sql.Types.INTEGER,i) + + if i=1 then + + dr!.setFieldAttribute("DOUBLE","EDITABLE","1") + dr!.setFieldAttribute("DOUBLE","RENDERER_MASK","-### ##0.0000") + + dr!.setFieldAttribute("BOOLEAN","EDITABLE","1") + + dr!.setFieldAttribute("DATE","RENDERER_MASK","%Dz.%Mz.%Yl") + dr!.setFieldAttribute("DATE","EDITOR_MASK","%Dz.%Mz.%Yl") + dr!.setFieldAttribute("DATE","EDITABLE","1") + + dr!.setFieldAttribute("TIMESTAMP","RENDERER_MASK","%Dz.%Mz.%Yl %Hz:%mz:%sz") + dr!.setFieldAttribute("TIMESTAMP","EDITOR_MASK","%Dz.%Mz.%Yl %Hz:%mz:%sz") + dr!.setFieldAttribute("TIMESTAMP","EDITABLE","1") + fi + + rs!.addItem(dr!) + + i=i+1 + x=x*-i + + dr! = new DataRow() + dr!.setFieldValue("ID",java.sql.Types.VARCHAR, "ID_" + STR(i)) + dr!.setFieldValue("DATE",java.sql.Types.DATE,"2013-02-01") + dr!.setFieldValue("DOUBLE",java.sql.Types.DOUBLE,x) + dr!.setFieldValue("TIMESTAMP",java.sql.Types.TIMESTAMP,"2016-11-12 23:22:00") + dr!.setFieldValue("BOOLEAN",java.sql.Types.BOOLEAN,MOD(i,3)=0) + dr!.setFieldValue("INTEGER",java.sql.Types.INTEGER,i) + + rs!.addItem(dr!) + grid!.setStartCellEditing(1,"DOUBLE") + + i=i+1 + x=x*-i + + next + + grid!.setData(rs!,"ID") + +return + +byebye: + bye + +resize: + ev! = BBjAPI().getLastEvent() + grid!.setSize(ev!.getWidth(),ev!.getHeight()) +return + + +rowEditingStarted: + + ev! = BBjAPI().getLastEvent() + ev! = ev!.getObject() + + print 'SHOW', "Row Editing Started : ID = " , ev!.getRow().getId() +return + +rowEditingStopped: + + ev! = BBjAPI().getLastEvent() + ev! = ev!.getObject() + + print 'SHOW', "Row Editing Stopped : ID = " , ev!.getRow().getId() +return + +cellEditingStarted: + + ev! = BBjAPI().getLastEvent() + ev! = ev!.getObject() + + print 'SHOW', "Cell Editing Started : ROW ID = " , ev!.getRow().getId() + print 'SHOW', " : Column = " , ev!.getColumn() + print 'SHOW', " : Cell Value = " , ev!.getValue() + +return + +cellEditingStopped: + + ev! = BBjAPI().getLastEvent() + ev! = ev!.getObject() + + print 'SHOW', "Cell Editing Stopped : ROW ID = " , ev!.getRow().getId() + print 'SHOW', " : Column = " , ev!.getColumn() + print 'SHOW', " : Cell Value = " , ev!.getValue() +return diff --git a/Demo/sampledata.json b/Demo/sampledata.json deleted file mode 100644 index 3bb4e4d6..00000000 --- a/Demo/sampledata.json +++ /dev/null @@ -1,13200 +0,0 @@ -[{ - "RELID": "1", - "RELID2": "001", - "RELUNID": "1001", - "SEARCHCODE": "BALIE", - "NAME1": "Contant klant", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "002", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "02", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2015-10-30T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Contant klant,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "A", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "09", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Af fabriek", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Contant klant", - "SALESREPDESC": "Frank Groot", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - - "meta": { - "RELID": { - "DOCU_DBFIELD": "RELNR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "6", - "DBFIELD": "RELNR", - "LABEL": "Relatie ID", - "DBTYPE": "1", - "EDITABLE": "2", - "TYPE": "12", - "FIELDVALIDATION": "1" - }, - "DESC": { - "ColumnType": "12", - "TYPE": "12" - }, - "RELID2": { - "DOCU_DBFIELD": "RELSRT", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "3", - "DBFIELD": "RELSRT", - "LABEL": "Relatiesoort", - "DBTYPE": "1", - "EDITABLE": "2", - "TYPE": "12" - }, - "RELUNID": { - "DOCU_DBFIELD": "RELNRSR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "9", - "DBFIELD": "RELNRSR", - "LABEL": "Relatie unieke key", - "DBTYPE": "1", - "TYPE": "12" - }, - "RELDESCLONG": { - "DBDESCKEY": "RELID", - "ColumnType": "12", - "DBDESCMETHOD": "CUSTOMERDESC4", - "LABEL": "Relatie", - "TYPE": "12" - }, - "SEARCHCODE": { - "DOCU_DBFIELD": "ALFK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "10", - "DBFIELD": "ALFK", - "LABEL": "Alfacode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "NAME1": { - "DOCU_DBFIELD": "NAAM1", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "MANDATORY": "1", - "DBFIELD": "NAAM1", - "LABEL": "Naam 1", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "NAME2": { - "DOCU_DBFIELD": "NAAM2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "DBFIELD": "NAAM2", - "LABEL": "Naam 2", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "NAME3": { - "DOCU_DBFIELD": "NAAM3", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "DBFIELD": "NAAM3", - "LABEL": "Naam 3", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VISITADR": { - "DOCU_DBFIELD": "ADRS_A1", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "50", - "DBFIELD": "ADRS_A1", - "LABEL": "Bezoekadres", - "DBTYPE": "1", - "TYPE": "12" - }, - "VISITADR2": { - "DOCU_DBFIELD": "BZADRS2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "50", - "DBFIELD": "BZADRS2", - "LABEL": "Bezoekadres 2", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VISITADRZIP": { - "DOCU_DBFIELD": "PSTK_A1", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "24", - "DBFIELD": "PSTK_A1", - "LABEL": "Bezoekadres postcode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VISITADRCITY": { - "DOCU_DBFIELD": "PLTS_A1", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "30", - "DBFIELD": "PLTS_A1", - "LABEL": "Bezoekadres woonplaats", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VISITADRCOUNTRYID": { - "DOCU_DBFIELD": "LDKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "LDKD", - "LABEL": "Bezoekadres landcode ID ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VISITADRCOUNTRYDESC": { - "DBDESCKEY": "VISITADRCOUNTRYID", - "ColumnType": "12", - "DBDESCMETHOD": "COUNTRYDESC", - "LABEL": "Bezoekadres landcode", - "TYPE": "12" - }, - "VISITADRCOUNTRYISO": { - "DBDESCKEY": "VISITADRCOUNTRYID", - "ColumnType": "12", - "DBDESCMETHOD": "COUNTRYISO", - "LABEL": "Bezoekadres landcode ID", - "TYPE": "12" - }, - "VISITADRSTATEID": { - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "LOOKUP_DEP": "VISITADRCOUNTRYID", - "DOCU_DBFIELD": "STATEBZ", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "STATEBZ", - "LABEL": "Staatcode bezoekadres ID", - "TYPE": "12" - }, - "VISITADRSTATEDESC": { - "DBDESCKEY": "VISITADRCOUNTRYID+VISITADRSTATEID", - "ColumnType": "12", - "DBDESCMETHOD": "STATEDESC", - "LABEL": "Staatcode bezoekadres", - "TYPE": "12" - }, - "POSTADR": { - "DOCU_DBFIELD": "ADRS_A2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "30", - "DBFIELD": "ADRS_A2", - "LABEL": "Postadres", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "POSTADR2": { - "DOCU_DBFIELD": "PBADRS2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "50", - "DBFIELD": "PBADRS2", - "LABEL": "Postadres 2", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "POSTADRZIP": { - "DOCU_DBFIELD": "PSTK_A2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "30", - "DBFIELD": "PSTK_A2", - "LABEL": "Postadres postcode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "POSTADRCITY": { - "DOCU_DBFIELD": "PLTS_A2", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "30", - "DBFIELD": "PLTS_A2", - "LABEL": "Postadres plaats", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "POSTADRCOUNTRYID": { - "DOCU_DBFIELD": "PB_LDKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "PB_LDKD", - "LABEL": "Postadres landcode ID ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "POSTADRCOUNTRYDESC": { - "DBDESCKEY": "POSTADRCOUNTRYID", - "ColumnType": "12", - "DBDESCMETHOD": "COUNTRYDESC", - "LABEL": "Postadres landcode", - "TYPE": "12" - }, - "POSTADRCOUNTRYISO": { - "DBDESCKEY": "POSTADRCOUNTRYID", - "ColumnType": "12", - "DBDESCMETHOD": "COUNTRYISO", - "LABEL": "Postadres landcode ID", - "TYPE": "12" - }, - "POSTADRSTATEID": { - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "LOOKUP_DEP": "POSTADRCOUNTRYID", - "DOCU_DBFIELD": "STATEPB", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "STATEPB", - "LABEL": "Staatcode postbusadres ID", - "TYPE": "12" - }, - "POSTADRSTATEDESC": { - "DBDESCKEY": "POSTADRCOUNTRYID+POSTADRSTATEID", - "ColumnType": "12", - "DBDESCMETHOD": "STATEDESC", - "LABEL": "Staatcode postbusadres", - "TYPE": "12" - }, - "PHONE": { - "DOCU_DBFIELD": "TELF", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "DBFIELD": "TELF", - "LABEL": "Telefoon", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "FAX": { - "DOCU_DBFIELD": "TFAX", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "DBFIELD": "TFAX", - "LABEL": "Fax", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "EMAIL": { - "DOCU_DBFIELD": "EMAIL", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "128", - "DBFIELD": "EMAIL", - "LABEL": "E-mail algemeen", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "WEBSITE": { - "DOCU_DBFIELD": "WEBLOK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "50", - "DBFIELD": "WEBLOK", - "LABEL": "Website", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VALIDFROM": { - "DOCU_DBFIELD": "VADT", - "ColumnType": "91", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "VADT", - "LABEL": "Geldig vanaf", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "91" - }, - "VALIDTO": { - "DOCU_DBFIELD": "TMDT", - "ColumnType": "91", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "TMDT", - "LABEL": "Geldig tm", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "91" - }, - "LANGUAGEID": { - "DOCU_DBFIELD": "TLKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "TLKD", - "LABEL": "Taalcode ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "LANGUAGEDESC": { - "DBDESCKEY": "LANGUAGEID", - "ColumnType": "12", - "DBDESCMETHOD": "LANGUAGEDESC", - "LABEL": "Taalcode", - "TYPE": "12" - }, - "ASSORTMENTID": { - "DOCU_DBFIELD": "FILA40", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "10", - "DBFIELD": "FILA40", - "LABEL": "Assortimentscode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "QUOTEMIN": { - "DOCU_DBFIELD": "MINB", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "8.2", - "DBFIELD": "MINB", - "LABEL": "Minimum offertebedrag", - "DBTYPE": "2", - "TYPE": "2" - }, - "QUOTEMAX": { - "DOCU_DBFIELD": "MAXB", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "8.2", - "DBFIELD": "MAXB", - "LABEL": "Maximum offertebedrag", - "DBTYPE": "2", - "TYPE": "2" - }, - "TEMPLATE": { - "DOCU_DBFIELD": "SJABLOON", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "SJABLOON", - "LABEL": "Sjabloon", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "PURCHORGID": { - "DOCU_DBFIELD": "INK_DEBNR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "6", - "DBFIELD": "INK_DEBNR", - "LABEL": "Inkoopcombinatie ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PURCHORGDESC": { - "DBDESCKEY": "PURCHORGID", - "ColumnType": "12", - "DBDESCMETHOD": "CUSTOMERDESC2", - "LABEL": "Inkoopcombinatie", - "TYPE": "12" - }, - "INVDEBTORID": { - "DOCU_DBFIELD": "FAK_DEBNR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "6", - "DBFIELD": "FAK_DEBNR", - "LABEL": "Factuurdebiteur ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "INVDEBTORDESC": { - "DBDESCKEY": "INVDEBTORID", - "ColumnType": "12", - "DBDESCMETHOD": "CUSTOMERDESC2", - "LABEL": "Factuurdebiteur", - "TYPE": "12" - }, - "STREET": { - "DOCU_DBFIELD": "STRT", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "40", - "DBFIELD": "STRT", - "LABEL": "Straat", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "NUMBER": { - "DOCU_DBFIELD": "STNR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "10", - "DBFIELD": "STNR", - "LABEL": "Huisnr", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "ELECTRONICID": { - "DOCU_DBFIELD": "ELID", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "15", - "DBFIELD": "ELID", - "LABEL": "Electronische ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VATID": { - "DOCU_DBFIELD": "BTWNR", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "20", - "DBFIELD": "BTWNR", - "LABEL": "BTW nr", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "AREAID": { - "DOCU_DBFIELD": "RYKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "RYKD", - "LABEL": "Rayon ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "AREADESC": { - "DBDESCKEY": "AREAID", - "ColumnType": "12", - "DBDESCMETHOD": "AREADESC", - "LABEL": "Rayon", - "TYPE": "12" - }, - "SALESREPID": { - "DOCU_DBFIELD": "VERT", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "VERT", - "LABEL": "Vertegenwoordiger ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "SALESREPDESC": { - "DBDESCKEY": "SALESREPID", - "ColumnType": "12", - "DBDESCMETHOD": "SALESREPDESC", - "LABEL": "Vertegenwoordiger", - "TYPE": "12" - }, - "CUSTGRPID": { - "DOCU_DBFIELD": "AFNK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "AFNK", - "LABEL": "Afnemersgroep ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "CUSTGRPDESC": { - "DBDESCKEY": "CUSTGRPID", - "ColumnType": "12", - "DBDESCMETHOD": "CUSTGRPDESC", - "LABEL": "Afnemersgroep", - "TYPE": "12" - }, - "PAYTERMSSALESID": { - "DOCU_DBFIELD": "VRK_BETK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "VRK_BETK", - "LABEL": "Betalingsconditie verkoop ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PAYTERMSSALESDESC": { - "DBDESCKEY": "PAYTERMSSALESID", - "ColumnType": "12", - "DBDESCMETHOD": "PAYTERMSSALESDESC", - "LABEL": "Betalingsconditie verkoop", - "TYPE": "12" - }, - "DLVTERMSSALESID": { - "DOCU_DBFIELD": "VRK_LEVK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "VRK_LEVK", - "LABEL": "Leveringsconditie verkoop ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "DLVTERMSSALESDESC": { - "DBDESCKEY": "DLVTERMSSALESID", - "ColumnType": "12", - "DBDESCMETHOD": "DLVTERMSSALESDESC", - "LABEL": "Leveringsconditie verkoop", - "TYPE": "12" - }, - "CURRENCYSALESID": { - "DOCU_DBFIELD": "VRK_VLKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "VRK_VLKD", - "LABEL": "Valutacode verkoop ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "CURRENCYSALESDESC": { - "DBDESCKEY": "CURRENCYSALESID", - "ColumnType": "12", - "DBDESCMETHOD": "CURRENCYDESC", - "LABEL": "Valutacode verkoop", - "TYPE": "12" - }, - "PRICELISTID": { - "DOCU_DBFIELD": "PRLK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "PRLK", - "LABEL": "Prijslijst", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VAT": { - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDBTW", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "SALESORDERVATCODES", - "DBFIELD": "KDBTW", - "LABEL": "BTW", - "TYPE": "12" - }, - "EU": { - "DOCU_DBFIELD": "KDEG", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "KDEG", - "LABEL": "EU", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "FOREIGNER": { - "DOCU_DBFIELD": "KDBL", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "KDBL", - "LABEL": "Buitenland", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "VATSYSTEMID": { - "DOCU_DBFIELD": "BTWS", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "3", - "DBFIELD": "BTWS", - "LABEL": "BTW stelsel", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "NUMBEROFQUOTES": { - "DOCU_DBFIELD": "AANTOFFERT", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "2", - "DBFIELD": "AANTOFFERT", - "LABEL": "Aantal documenten", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "CURRENCYPURCHASEID": { - "DOCU_DBFIELD": "INK_VLKD", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "2", - "DBFIELD": "INK_VLKD", - "LABEL": "Valutacode inkoop ID", - "DBTYPE": "1", - "TYPE": "12" - }, - "CURRENCYPURCHASEDESC": { - "DBDESCKEY": "CURRENCYPURCHASEID", - "ColumnType": "12", - "DBDESCMETHOD": "CURRENCYDESC", - "LABEL": "Valutacode inkoop", - "TYPE": "12" - }, - "PAYTERMSPURCHASEID": { - "DOCU_DBFIELD": "INK_BETK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "INK_BETK", - "LABEL": "Betalingsconditie inkoop ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PAYTERMSPURCHASEDESC": { - "DBDESCKEY": "PAYTERMSPURCHASEID", - "ColumnType": "12", - "DBDESCMETHOD": "PAYTERMSPURCHDESC", - "LABEL": "Betalingsconditie inkoop", - "TYPE": "12" - }, - "DLVTERMSPURCHASEID": { - "DOCU_DBFIELD": "INK_LEVK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "INK_LEVK", - "LABEL": "Leveringsconditie inkoop", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "DLVTERMSPURCHASEDESC": { - "DBDESCKEY": "DLVTERMSPURCHASEIDC", - "ColumnType": "12", - "DBDESCMETHOD": "DLVTERMSPURCHDESC", - "TYPE": "12" - }, - "PRICELIST2ID": { - "DOCU_DBFIELD": "FILA133", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "FILA133", - "LABEL": "Prijslijst 2", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "ISDEBTOR": { - "DOCU_DBFIELD": "ISDEB", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "ISDEB", - "LABEL": "Debiteur (ja/nee)", - "DBTYPE": "2", - "TYPE": "16" - }, - "ISCREDITOR": { - "DOCU_DBFIELD": "ISCRED", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "ISCRED", - "LABEL": "Crediteur (ja/nee)", - "DBTYPE": "2", - "TYPE": "16" - }, - "RELTYPEID": { - "DOCU_DBFIELD": "RELSID", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "5", - "DBFIELD": "RELSID", - "LABEL": "Soort relatie ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "RELTYPEDESC": { - "DBDESCKEY": "RELTYPEID", - "ColumnType": "12", - "DBDESCMETHOD": "RELTYPEDESC", - "LABEL": "Soort relatie", - "TYPE": "12" - }, - "SOURCEID": { - "DOCU_DBFIELD": "OORSPID", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LOOKUP": "1", - "LEN": "5", - "DBFIELD": "OORSPID", - "LABEL": "Herkomst ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "SOURCEDESC": { - "DBDESCKEY": "SOURCEID", - "ColumnType": "12", - "DBDESCMETHOD": "SOURCEDESC", - "LABEL": "Herkomst", - "TYPE": "12" - }, - "COCID": { - "DOCU_DBFIELD": "KVK", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "15", - "DBFIELD": "KVK", - "LABEL": "KvK nummer", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "CREA_DT": { - "DOCU_DBFIELD": "CRDT", - "ColumnType": "93", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "CRDT", - "LABEL": "Creatie datum", - "DBTYPE": "1", - "TYPE": "93" - }, - "CREA_BYID": { - "DOCU_DBFIELD": "CRMONT", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "10", - "DBFIELD": "CRMONT", - "LABEL": "Creatie door ID", - "DBTYPE": "1", - "TYPE": "12" - }, - "CREA_BYDESC": { - "DBDESCKEY": "CREA_BYID", - "ColumnType": "12", - "DBDESCMETHOD": "EMPLOYEEDESC", - "LABEL": "Creatie door", - "TYPE": "12" - }, - "MOD_DT": { - "DOCU_DBFIELD": "LMDT", - "ColumnType": "91", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "LMDT", - "LABEL": "Mutatiedatum", - "DBTYPE": "1", - "TYPE": "91" - }, - "MOD_BYID": { - "DOCU_DBFIELD": "MUMONT", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "10", - "DBFIELD": "MUMONT", - "LABEL": "Mutatie door ID", - "DBTYPE": "1", - "TYPE": "12" - }, - "MOD_BYDESC": { - "DBDESCKEY": "MOD_BYID", - "ColumnType": "12", - "DBDESCMETHOD": "EMPLOYEEDESC", - "LABEL": "Mutatie door", - "TYPE": "12" - }, - "CHEPACC": { - "DOCU_DBFIELD": "CHEPACC", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "10", - "DBFIELD": "CHEPACC", - "LABEL": "CHEP account", - "DBTYPE": "1", - "TYPE": "12" - }, - "SHORTNAME": { - "DOCU_DBFIELD": "VNAAM", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "30", - "DBFIELD": "VNAAM", - "LABEL": "Verkorte naam", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "SURRATE": { - "DOCU_DBFIELD": "SURRATE", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "5", - "DBFIELD": "SURRATE", - "LABEL": "Toeslag document", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "MINQUOTATIONVALUE": { - "DOCU_DBFIELD": "MINB", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "8.2", - "DBFIELD": "MINB", - "LABEL": "Minimum offertebedrag", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "MAXQUOTATIONVALUE": { - "DOCU_DBFIELD": "MAXB", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "8.2", - "DBFIELD": "MAXB", - "LABEL": "Maximum offertebedrag", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "QUOTATIONBLOCKINGID": { - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "MIMABLOK", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "RELATIONBLOCKQUOTATION", - "DBFIELD": "MIMABLOK", - "LABEL": "Blokkering min/max ID", - "TYPE": "12" - }, - "QUOTATIONBLOCKINGDESC": { - "DBDESCKEY": "QUOTATIONBLOCKINGID", - "ColumnType": "12", - "DBDESCMETHOD": "CONSTANT-RELATIONBLOCKQUOTATION", - "LABEL": "Blokkering min/max", - "TYPE": "12" - }, - "QUOTATIONDOCUMENT": { - "DOCU_DBFIELD": "DOKOFFRT", - "ColumnType": "16", - "DOCU_DBTABLE": "ORSTM01", - "DBFIELD": "DOKOFFRT", - "LABEL": "Offertedocument", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "SITEID": { - "DOCU_DBFIELD": "APP77", - "ColumnType": "12", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "2", - "DBFIELD": "APP77", - "LABEL": "Default vestiging ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "SITEDESC": { - "DBDESCKEY": "SITEID", - "ColumnType": "12", - "DBDESCMETHOD": "SITEDESC", - "LABEL": "Default vestiging", - "TYPE": "12" - }, - "DISCOUNT": { - "DOCU_DBFIELD": "BLK2_001", - "ColumnType": "8", - "DOCU_DBTABLE": "ORSTM01", - "LEN": "6", - "DBFIELD": "BLK2_001", - "LABEL": "Algemene korting", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "TOLERANCEUNDERSHIP": { - "DOCU_DBFIELD": "FILN139", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "2.2", - "DBFIELD": "DBSTM01.FILN139", - "LABEL": "Tolerantie% (onderlevering)", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "TOLERANCEOVERSHIP": { - "DOCU_DBFIELD": "TOLP", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "2.2", - "DBFIELD": "DBSTM01.TOLP", - "LABEL": "Tolerantie leveringen", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "COMMISSION": { - "DOCU_DBFIELD": "KDCOMM", - "ColumnType": "16", - "DOCU_DBTABLE": "DBSTM01", - "DBFIELD": "DBSTM01.KDCOMM", - "LABEL": "Commissie vtp", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "COMMISSIONPERC": { - "DOCU_DBFIELD": "PCCOMM", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "5", - "DBFIELD": "DBSTM01.PCCOMM", - "LABEL": "Commissie perc", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "PRICEADDITIONID": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDINDKSTN", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "PRICEADDITIONID", - "DBFIELD": "DBSTM01.KDINDKSTN", - "LABEL": "Prijstoeslagen berekenen", - "TYPE": "12" - }, - "RELATIONCALLOUT": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "FILA72", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "RELATIONCALLOUT", - "DBFIELD": "DBSTM01.FILA72", - "LABEL": "Voorrijkosten - berekenen", - "TYPE": "12" - }, - "CALLOUTCHARGETARIFF": { - "DOCU_DBFIELD": "FILN125", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "6.2", - "DBFIELD": "DBSTM01.FILN125", - "LABEL": "Voorrijkosten - tarief", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "CALLOUTCHARGEDONTCHARGEFROM": { - "DOCU_DBFIELD": "VK_NT_VANAF", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "2", - "DBFIELD": "DBSTM01.VK_NT_VANAF", - "LABEL": "Voorrijkosten - niet berekenen vanaf", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "DISCOUNTPERCHOURS": { - "DOCU_DBFIELD": "KORTSU", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "-2.2", - "DBFIELD": "DBSTM01.KORTSU", - "LABEL": "Korting service-uren", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "NROFINVOICES": { - "DOCU_DBFIELD": "AANTFAKT", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "2", - "DBFIELD": "DBSTM01.AANTFAKT", - "LABEL": "Aantal facturen", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "PARTIALDELIVERYID": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDDLLV", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "PARTIALDELIVERY", - "DBFIELD": "DBSTM01.KDDLLV", - "LABEL": "Deellevering", - "TYPE": "12" - }, - "CREDITRESTRICTION": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDKRBP", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "CREDITRESTRICTION", - "DBFIELD": "DBSTM01.KDKRBP", - "LABEL": "Kredietbeperking", - "TYPE": "12" - }, - "AGGREGATEID": { - "DOCU_DBFIELD": "KDVERZ", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "1", - "DBFIELD": "DBSTM01.KDVERZ", - "LABEL": "Verzamelen", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "DESKPAYMENT": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "FILA54", - "LEN": "2", - "LOOKUP": "1", - "CONSTANTENTITY": "DESKPAYMENT", - "DBFIELD": "DBSTM01.FILA54", - "LABEL": "Afrekenwijze kassa", - "TYPE": "12" - }, - "ELECTRONICINVOICING": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "EFACT", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "ELECTRONICINVOICING", - "DBFIELD": "DBSTM01.EFACT", - "LABEL": "Electronische facturering", - "TYPE": "12" - }, - "INVOICELIST": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "FCLST", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "INVOICELIST", - "DBFIELD": "DBSTM01.FCLST", - "LABEL": "Factuurlijst", - "TYPE": "12" - }, - "ADMONISH": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "AANM", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "ADMONISH", - "DBFIELD": "DBSTM01.AANM", - "LABEL": "Aanmaningswijze", - "TYPE": "12" - }, - "COLLECTION": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "INCASSO", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "COLLECTION", - "DBFIELD": "DBSTM01.INCASSO", - "LABEL": "Machtiging incasso", - "TYPE": "12" - }, - "REQUESTSERVICEPURCHASEORDER": { - "DOCU_DBFIELD": "IOSERVREQ", - "ColumnType": "16", - "DOCU_DBTABLE": "DBSTM01", - "DBFIELD": "DBSTM01.IOSERVREQ", - "LABEL": "Aanvragen IO (service)", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "ORDERCONFIRMATION": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDORBV", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "ORDERCONFIRMATION", - "DBFIELD": "DBSTM01.KDORBV", - "LABEL": "Orderbevestiging", - "TYPE": "12" - }, - "ORDERCONFIRMATIONADDRESS": { - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "KDADRORBV", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "ORDERCONFIRMATIONADDRESS", - "DBFIELD": "DBSTM01.KDADRORBV", - "LABEL": "Adres orderbevestiging", - "TYPE": "12" - }, - "PRIORITYID": { - "DOCU_DBFIELD": "OPRT", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "DBSTM01.OPRT", - "LABEL": "Prioriteitscode ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PRIORITYDESC": { - "DBDESCKEY": "PRIORITYID", - "ColumnType": "12", - "DBDESCMETHOD": "RELATIONPRIORITYDESC", - "LABEL": "Prioriteitscode", - "TYPE": "12" - }, - "OURSUPPLIERID": { - "DOCU_DBFIELD": "FILA52", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "20", - "DBFIELD": "DBSTM01.FILA52", - "LABEL": "Ons leveranciersnr", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "CARRIERID": { - "DOCU_DBFIELD": "VZTYP", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "DBSTM01.VZTYP", - "LABEL": "Verzendtype", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PACKINGLISTTYPE": { - "DOCU_DBFIELD": "PAK_TYP", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LOOKUP": "1", - "LEN": "2", - "DBFIELD": "DBSTM01.PAK_TYP", - "LABEL": "Paklijst type", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "TIMESLOTDELIVERYSTART": { - "DOCU_DBFIELD": "VRGTYD", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "4", - "DBFIELD": "DBSTM01.VRGTYD", - "LABEL": "Tijdslot levering (vanaf)", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "TIMESLOTDELIVERYEND": { - "DOCU_DBFIELD": "UITTYD", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "4", - "DBFIELD": "DBSTM01.UITTYD", - "LABEL": "Tijdslot levering (t/m)", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "DELIVERYINFO": { - "DOCU_DBFIELD": "LEVERINFO", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "40", - "DBFIELD": "DBSTM01.LEVERINFO", - "LABEL": "Leverinfo", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "TRANSPORTTIMEDAYS": { - "DOCU_DBFIELD": "TRSTD", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "3", - "DBFIELD": "DBSTM01.TRSTD", - "LABEL": "Transporttijd", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "CREDITLIMIT": { - "DOCU_DBFIELD": "KLIM", - "ColumnType": "8", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "9.2", - "DBFIELD": "DBSTM01.KLIM", - "LABEL": "Kredietlimiet", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "ACCOUNTCODEDEBTOR": { - "DOCU_DBFIELD": "RKKD", - "ColumnType": "12", - "DOCU_DBTABLE": "DBSTM01", - "LEN": "1", - "DBFIELD": "DBSTM01.RKKD", - "LABEL": "Rekeningcode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "CREDITPERIOD": { - "DOCU_DBFIELD": "KRDTERM", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "3", - "DBFIELD": "KRSTM01.KRDTERM", - "LABEL": "Krediettermijn", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "CREDITPERIODID": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "BEPVD", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "CREDITPERIODID", - "DBFIELD": "KRSTM01.BEPVD", - "LABEL": "Krediettermijn - bepaling vervaldatum", - "TYPE": "12" - }, - "PAYMENTDISCOUNT": { - "DOCU_DBFIELD": "BETKORTPERC", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "2.2", - "DBFIELD": "KRSTM01.BETKORTPERC", - "LABEL": "Betalingskorting percentage", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "PAYMENTDISCOUNTDAYS": { - "DOCU_DBFIELD": "BETKORTDAGEN", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "2", - "DBFIELD": "KRSTM01.BETKORTDAGEN", - "LABEL": "Betalingskorting aantal dagen", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "PAYMENTDISCOUNTTOLERANCEDAYS": { - "DOCU_DBFIELD": "SBET", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "2", - "DBFIELD": "KRSTM01.SBET", - "LABEL": "Betalingskorting speling betaling", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "2" - }, - "IBAN": { - "DOCU_DBFIELD": "IBAN", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "34", - "DBFIELD": "KRSTM01.IBAN", - "LABEL": "IBAN", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "BIC": { - "DOCU_DBFIELD": "BICCODE", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "11", - "DBFIELD": "KRSTM01.BICCODE", - "LABEL": "BIC", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "GIBAN": { - "DOCU_DBFIELD": "GIBAN", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "34", - "DBFIELD": "KRSTM01.GIBAN", - "LABEL": "IBAN G-rekening", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "GBIC": { - "DOCU_DBFIELD": "GBICCODE", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "11", - "DBFIELD": "KRSTM01.GBICCODE", - "LABEL": "BIC G-rekening", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "VATRATEID": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "LOOKUP_DEP": "VATSYSTEMID", - "DOCU_DBFIELD": "BTWK", - "LOOKUP": "1", - "LEN": "1", - "DBFIELD": "KRSTM01.BTWK", - "LABEL": "Vaste BTW code inkoopfactuur", - "TYPE": "12" - }, - "VALIDATINGPROCESSID": { - "DOCU_DBFIELD": "STWFP", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "10", - "DBFIELD": "KRSTM01.STWFP", - "LABEL": "Fiatteringsproces", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY1": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY2": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY3": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY4": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY5": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY6": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "DELDAY7": { - "ColumnType": "12", - "EDITABLE": "1", - "TYPE": "12" - }, - "MIMIMUMORDERAMOUNT": { - "DOCU_DBFIELD": "MINORDBDRG", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "8.2", - "DBFIELD": "KRSTM01.MINORDBDRG", - "LABEL": "Minimum orderbedrag", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "AGENTID": { - "DOCU_DBFIELD": "AG_CRED", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "6", - "DBFIELD": "KRSTM01.AG_CRED", - "LABEL": "Agent ID", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "AGENTDESC": { - "DBDESCKEY": "AGENTID", - "ColumnType": "12", - "DBDESCMETHOD": "SUPPLIERDESC2", - "LABEL": "Agent", - "TYPE": "12" - }, - "ADDRESSINGAGENT": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "LOOKUP_DEP": "AGENTID", - "DOCU_DBFIELD": "TYPGENT", - "LEN": "30", - "LOOKUP": "1", - "CONSTANTENTITY": "ADDRESSINGAGENT", - "DBFIELD": "KRSTM01.TYPGENT", - "LABEL": "Adressering agent", - "TYPE": "12" - }, - "TRANSPORTTIME": { - "DOCU_DBFIELD": "VLHTIJD", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "3", - "DBFIELD": "KRSTM01.VLHTIJD", - "LABEL": "Transporttijd", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "INSPECTIONTIME": { - "DOCU_DBFIELD": "KTIJD", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "3", - "DBFIELD": "KRSTM01.KTIJD", - "LABEL": "Controletijd", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "PURCHASINGCONFIRMATION": { - "DOCU_DBFIELD": "KDBEV", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.KDBEV", - "LABEL": "Bevestigen", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "PURCHASINGCONFIRMATIONTIME": { - "DOCU_DBFIELD": "BVSTBI", - "ColumnType": "8", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "2", - "DBFIELD": "KRSTM01.BVSTBI", - "LABEL": "Bevestigen binnen", - "DBTYPE": "2", - "EDITABLE": "1", - "TYPE": "2" - }, - "ACCOUNTCODECREDITOR": { - "DOCU_DBFIELD": "RKKD", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "2", - "DBFIELD": "KRSTM01.RKKD", - "LABEL": "Rekeningcode", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PAYMENTADVICE": { - "DOCU_DBFIELD": "BETADV", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.BETADV", - "LABEL": "Betaaladvies", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "BANKACCOUNT": { - "DOCU_DBFIELD": "BKNR", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "12", - "DBFIELD": "KRSTM01.BKNR", - "LABEL": "Banknr", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "OURDEBTORID": { - "DOCU_DBFIELD": "DEBNR", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "15", - "DBFIELD": "KRSTM01.DEBNR", - "LABEL": "Ons klantnr", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "PRICECALCULATION": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "PRSBEP", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "PRICECALCULATIONRELATION", - "DBFIELD": "KRSTM01.PRSBEP", - "LABEL": "Prijsbepaling o.b.v. leverdatum of besteldatum", - "TYPE": "12" - }, - "PERFORMANCEMEASURE": { - "DOCU_DBFIELD": "PRSTMT", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.PRSTMT", - "LABEL": "Prestatiemeting", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "CATALOG": { - "DOCU_DBFIELD": "EARTB", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.EARTB", - "LABEL": "Catalogus", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "USEARTICLEID": { - "DOCU_DBFIELD": "COMMART", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.COMMART", - "LABEL": "Commercieel gebruik artikelnr. lev", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "FOLLOWUPPURCHASEORDERS": { - "DOCU_DBFIELD": "INK_REM", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.INK_REM", - "LABEL": "Chasseren inkooporders", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "CALLOFFFROMCONTRACT": { - "DOCU_DBFIELD": "AFCONT", - "ColumnType": "16", - "DOCU_DBTABLE": "KRSTM01", - "DBFIELD": "KRSTM01.AFCONT", - "LABEL": "Altijd afroep contract", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "16" - }, - "ALLOWEDPURCHASE": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "TOEBEST", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "ALLOWEDPURCHASE", - "DBFIELD": "KRSTM01.TOEBEST", - "LABEL": "Toegestane bestellingen", - "TYPE": "12" - }, - "SSCC": { - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "DBTYPE": "1", - "EDITABLE": "1", - "DOCU_DBFIELD": "SSCC", - "LEN": "1", - "LOOKUP": "1", - "CONSTANTENTITY": "SSCCRELATION", - "DBFIELD": "KRSTM01.SSCC", - "LABEL": "SSCC label bij inslag", - "TYPE": "12" - }, - "INVOICELEDGERACCOUNT": { - "DOCU_DBFIELD": "FAGRREKNR", - "ColumnType": "12", - "DOCU_DBTABLE": "KRSTM01", - "LEN": "7", - "DBFIELD": "KRSTM01.FAGRREKNR", - "LABEL": "Vaste rekening factuur", - "DBTYPE": "1", - "EDITABLE": "1", - "TYPE": "12" - }, - "QUOTESOPENQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "QUOTESOPENAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "QUOTESEXPQYT": { - "ColumnType": "8", - "TYPE": "2" - }, - "QUOTESEXPAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "TASKSOPEN": { - "ColumnType": "8", - "TYPE": "2" - }, - "TASKSHOLD": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESORDERSOPENQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESORDERSOPENAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESORDERSINV": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESINVOPENQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESINVOPENAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESINVDUEQYT": { - "ColumnType": "8", - "TYPE": "2" - }, - "SALESINVDUEAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "CUSTCREDITPERIOD": { - "ColumnType": "8", - "TYPE": "2" - }, - "CUSTCREDITLIMIT": { - "ColumnType": "8", - "TYPE": "2" - }, - "CALLSOPEN": { - "ColumnType": "8", - "TYPE": "2" - }, - "CALLSINVOICE": { - "ColumnType": "8", - "TYPE": "2" - }, - "CALLSCLOSED": { - "ColumnType": "8", - "TYPE": "2" - }, - "SERVICEOBJECTSQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "CONTRACTSCURRENT": { - "ColumnType": "8", - "TYPE": "2" - }, - "CONTRACTSCURRENTAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "CONTRACTSENDED": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHORDERSOPENQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHORDERSOPENAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHINVOPENQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHINVOPENAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHINVDUEQTY": { - "ColumnType": "8", - "TYPE": "2" - }, - "PURCHINVDUEAMT": { - "ColumnType": "8", - "TYPE": "2" - }, - "%CUSTOMFIELDS": { - "ColumnType": "16", - "LABEL": "Custom fields", - "TYPE": "16" - } - } - - - }, - { - "RELID": "1000", - "RELID2": "001", - "RELUNID": "1000001", - "SEARCHCODE": "BRANDWERK", - "NAME1": "Brandwerk BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Botersloot 13", - "VISITADR2": "", - "VISITADRZIP": "3011 HE", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 10678", - "POSTADR2": "", - "POSTADRZIP": "3000 KP", - "POSTADRCITY": "ROTTERDAM", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "+31 102 205 302", - "FAX": "+31 104 002 521", - "EMAIL": "info@brandwerk.nl", - "WEBSITE": "www.brandwerk.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Botersloot", - "NUMBER": "13", - "ELECTRONICID": "BRAND-1000", - "VATID": "NL1234", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "02", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00002", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-07-28T00:00:00.000Z", - "MOD_BYID": "JS", - "CHEPACC": "112", - "SHORTNAME": "", - "SURRATE": "6", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Brandwerk BV, Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "2", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "J", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "5", - "CREDITLIMIT": "81000", - "ACCOUNTCODEDEBTOR": "1", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Brandwerk BV, Botersloot 13, Rotterdam (+31 102 205 302)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "60 dagen netto", - "MOD_BYDESC": "Jochem Swierstra", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "E-sellers" - }, - { - "RELID": "1001", - "RELID2": "001", - "RELUNID": "1001001", - "SEARCHCODE": "COMBIDEX", - "NAME1": "Combidex BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Nieuwe Waterwegstraat 5", - "VISITADR2": "", - "VISITADRZIP": "3115 HE", - "VISITADRCITY": "Schiedam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010-4090520", - "FAX": "010-4261561", - "EMAIL": "combidex@prodinp3.nl", - "WEBSITE": "www.combidex.com", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "1000", - "STREET": "Nieuwe Waterwegstraat", - "NUMBER": "5", - "ELECTRONICID": "", - "VATID": "NL645452172B01", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "00002", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-02T00:00:00.000Z", - "MOD_BYID": "RVO", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Combidex BV, Schiedam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "5.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "W", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "1", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": true, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Brandwerk BV, Rotterdam", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Combidex BV, Nieuwe Waterwegstraat 5, Schiedam (010-4090520)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Roelof van Oost", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "E-sellers" - }, - { - "RELID": "1002", - "RELID2": "001", - "RELUNID": "1002001", - "SEARCHCODE": "BAROSTA", - "NAME1": "Barosta BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Touwslagersweg 3b", - "VISITADR2": "", - "VISITADRZIP": "3449 HX", - "VISITADRCITY": "Woerden", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0348-420094", - "FAX": "0348-423399", - "EMAIL": "barosta@prodinp3.nl", - "WEBSITE": "www.barosta.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "1011", - "STREET": "Touwslagersweg", - "NUMBER": "3b", - "ELECTRONICID": "", - "VATID": "NL713376420B01", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00003", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-20T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "Barosta2", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Barosta BV, Woerden", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "A", - "CALLOUTCHARGETARIFF": "110", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "J", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Humarbo Machines en Mallen VOF, Vaassen", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Barosta BV, Touwslagersweg 3b, Woerden (0348-420094)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "Reseller" - }, - { - "RELID": "1003", - "RELID2": "001", - "RELUNID": "1003001", - "SEARCHCODE": "METALS", - "NAME1": "Metals & Residues BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Huizerweg 10e", - "VISITADR2": "", - "VISITADRZIP": "1402 AA", - "VISITADRCITY": "Bussum", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "035-6916969", - "FAX": "035-3913096", - "EMAIL": "metals-residues@prodinp3.nl", - "WEBSITE": "www.metals-residues.com", - "VALIDFROM": "2002-02-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Huizerweg", - "NUMBER": "10e", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "005", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "V", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-02T00:00:00.000Z", - "MOD_BYID": "RVO", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Metals & Residues BV, Bussum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "J", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Metals & Residues BV, Huizerweg 10e, Bussum (035-6916969)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Roelof van Oost", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Klein winkelbedrijf", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1004", - "RELID2": "001", - "RELUNID": "1004001", - "SEARCHCODE": "ZANTINGH", - "NAME1": "Zantingh BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Duinkerkenstraat 56", - "VISITADR2": "2 hoog 3 achter", - "VISITADRZIP": "9723 BT", - "VISITADRCITY": "Groningen", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 1253", - "POSTADR2": "", - "POSTADRZIP": "9700 RH", - "POSTADRCITY": "Groningen", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "050-3124475", - "FAX": "050-3185052", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Duinkerkenstraat", - "NUMBER": "56", - "ELECTRONICID": "", - "VATID": "NL001004000B01", - "AREAID": "005", - "SALESREPID": "003", - "CUSTGRPID": "007", - "PAYTERMSSALESID": "02", - "DLVTERMSSALESID": "02", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00002", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-03-10T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "8", - "DESC": "Zantingh BV, Groningen", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Af fabriek", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Zantingh BV, Duinkerkenstraat 56, Groningen (050-3124475)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "60 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Tabak", - "CURRENCYSALESDESC": "€", - "AREADESC": "Frankrijk", - "RELTYPEDESC": "E-sellers" - }, - { - "RELID": "1005", - "RELID2": "001", - "RELUNID": "1005001", - "SEARCHCODE": "THERMATRAS", - "NAME1": "Thermatras BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Röntgenstraat 12", - "VISITADR2": "", - "VISITADRZIP": "3261 LK", - "VISITADRCITY": "Oud Beijerland", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0182-658745", - "FAX": "0182-658700", - "EMAIL": "", - "WEBSITE": "www.thermatras.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Röntgenstraat", - "NUMBER": "12", - "ELECTRONICID": "", - "VATID": "NL678521312B02", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "03", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00005", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "Thermatras", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Thermatras BV, Oud Beijerland", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "J", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Thermatras BV, Röntgenstraat 12, Oud Beijerland (0182-658745)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto, 8 dagen min 2%", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "Kleine zelfstandige" - }, - { - "RELID": "1006", - "RELID2": "001", - "RELUNID": "1006001", - "SEARCHCODE": "WELTERS", - "NAME1": "Welters BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Hendrik Figeeweg 500", - "VISITADR2": "", - "VISITADRZIP": "2031 BJ", - "VISITADRCITY": "Haarlem", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "023-5340544", - "FAX": "023-5512244", - "EMAIL": "welters@prodinp3.nl", - "WEBSITE": "www.welters.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "1008", - "STREET": "Hendrik Figeeweg", - "NUMBER": "500", - "ELECTRONICID": "", - "VATID": "NL987654652321B01", - "AREAID": "001", - "SALESREPID": "002", - "CUSTGRPID": "004", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00005", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Welters BV, Haarlem", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "J", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Valk Machinefabriek BV, Valkenswaard", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Welters BV, Hendrik Figeeweg 500, Haarlem (023-5340544)", - "SALESREPDESC": "Frank Groot", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Groot winkelbedrijf", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "Kleine zelfstandige" - }, - { - "RELID": "1007", - "RELID2": "001", - "RELUNID": "1007001", - "SEARCHCODE": "YPMA", - "NAME1": "Ypma Fijnmetaal BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Kimslede 12", - "VISITADR2": "", - "VISITADRZIP": "8447 GS", - "VISITADRCITY": "Heerenveen", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0512-654321", - "FAX": "0512-654364", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Kimslede", - "NUMBER": "12", - "ELECTRONICID": "", - "VATID": "NL376874633B01", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00002", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Ypma Fijnmetaal BV, Heerenveen", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "A", - "CALLOUTCHARGETARIFF": "85", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "D", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Ypma Fijnmetaal BV, Kimslede 12, Heerenveen (0512-654321)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "E-sellers" - }, - { - "RELID": "1008", - "RELID2": "001", - "RELUNID": "1008001", - "SEARCHCODE": "VALK", - "NAME1": "Valk Machinefabriek BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "De Vest 76", - "VISITADR2": "", - "VISITADRZIP": "5555 XP", - "VISITADRCITY": "Valkenswaard", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 182", - "POSTADR2": "", - "POSTADRZIP": "5552 DS", - "POSTADRCITY": "Valkenswaard", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "040-2012488", - "FAX": "040-2019540", - "EMAIL": "mfvalk@interaccess.nl", - "WEBSITE": "www.mfvalk.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "De Vest", - "NUMBER": "76", - "ELECTRONICID": "", - "VATID": "NL100827127B01", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "002", - "PAYTERMSSALESID": "02", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00004", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Valk Machinefabriek BV, Valkenswaard", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "2", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Valk Machinefabriek BV, De Vest 76, Valkenswaard (040-2012488)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "60 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Electronica", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "Collega Broker" - }, - { - "RELID": "1009", - "RELID2": "001", - "RELUNID": "1009001", - "SEARCHCODE": "DIEZE", - "NAME1": "Dieze Machinebouw BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Ketelaarskampweg 17", - "VISITADR2": "", - "VISITADRZIP": "5222 AL", - "VISITADRCITY": "'s Hertogenbosch", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 716", - "POSTADR2": "", - "POSTADRZIP": "5220 FD", - "POSTADRCITY": "'s Hertogenbosch", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "073-6216408", - "FAX": "073-6211996", - "EMAIL": "dieze@prodinp3.nl", - "WEBSITE": "www.dieze.nl", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Ketelaarskampweg", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "NL768576534B02", - "AREAID": "001", - "SALESREPID": "002", - "CUSTGRPID": "004", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "00001", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Dieze Machinebouw BV, 's Hertogenbosch", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "J", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "J", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "25000", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Dieze Machinebouw BV, Ketelaarskampweg 17, 's Hertogenbosch (073-6216408)", - "SALESREPDESC": "Frank Groot", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groot winkelbedrijf", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "RELTYPEDESC": "Prodin klanten" - }, - { - "RELID": "1010", - "RELID2": "001", - "RELUNID": "1010001", - "SEARCHCODE": "SAMARO", - "NAME1": "Samaro Mechatronics", - "NAME2": "", - "NAME3": "", - "VISITADR": "Heiberg 29", - "VISITADR2": "", - "VISITADRZIP": "5504 PA", - "VISITADRCITY": "Veldhoven", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "5501 AA", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "1007", - "STREET": "Heiberg", - "NUMBER": "29", - "ELECTRONICID": "", - "VATID": "NL123456789B01", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": false, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Samaro Mechatronics, Veldhoven", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "3", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Ypma Fijnmetaal BV, Heerenveen", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Samaro Mechatronics, Heiberg 29, Veldhoven", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1011", - "RELID2": "001", - "RELUNID": "1011001", - "SEARCHCODE": "HUMARBO", - "NAME1": "Humarbo Machines en Mallen VOF", - "NAME2": "", - "NAME3": "", - "VISITADR": "Runnenbergweg 11", - "VISITADR2": "", - "VISITADRZIP": "8171 MC", - "VISITADRCITY": "Vaassen", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 212", - "POSTADR2": "", - "POSTADRZIP": "8170 AE", - "POSTADRCITY": "Vaassen", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0578-576677", - "FAX": "0578-576546", - "EMAIL": "humarbo@prodinp3.nl", - "WEBSITE": "www.humarbo.com", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Runnenbergweg", - "NUMBER": "11", - "ELECTRONICID": "", - "VATID": "NL123456789B01", - "AREAID": "001", - "SALESREPID": "002", - "CUSTGRPID": "015", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "00", - "DLVTERMSPURCHASEID": "00", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Humarbo Machines en Mallen VOF, Vaassen", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": true, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "02", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "2", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Humarbo Machines en Mallen VOF, Runnenbergweg 11, Vaassen (0578-576677)", - "SALESREPDESC": "Frank Groot", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Overig", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1043", - "RELID2": "001", - "RELUNID": "1043001", - "SEARCHCODE": "", - "NAME1": "Patari BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Beeldje Nalbaldreef 12", - "VISITADR2": "", - "VISITADRZIP": "3058 GH", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Beeldje Nalbaldreef", - "NUMBER": "12", - "ELECTRONICID": "", - "VATID": "NLNBTW----", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2016-05-30T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "Patari BV, Rotterdam", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "GB62CITI18500811074849", - "BIC": "CITIGB2L", - "GIBAN": "", - "GBIC": "ABNANL2A", - "VATRATEID": "2", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": true, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Patari BV, Beeldje Nalbaldreef 12, Rotterdam", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1045", - "RELID2": "001", - "RELUNID": "1045001", - "SEARCHCODE": "", - "NAME1": "B. Roelofs", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-04-11T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "B. Roelofs,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "B. Roelofs", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1047", - "RELID2": "001", - "RELUNID": "1047001", - "SEARCHCODE": "", - "NAME1": "Particulier SJABLOON", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-10-05T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Particulier SJABLOON,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Particulier SJABLOON", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1048", - "RELID2": "001", - "RELUNID": "1048001", - "SEARCHCODE": "", - "NAME1": "Firma L&B BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Franciscusweg 219h", - "VISITADR2": "", - "VISITADRZIP": "3045 GH", - "VISITADRCITY": "Hilversum", - "VISITADRCOUNTRYID": "002", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "088 - 808 88 102", - "FAX": "", - "EMAIL": "jansen@lb.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Franciscusweg", - "NUMBER": "219h", - "ELECTRONICID": "", - "VATID": "NL5745855", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2015-03-13T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Firma L&B BV, Hilversum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Firma L&B BV, Franciscusweg 219h, Hilversum (088 - 808 88 102)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Engeland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "GB", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1049", - "RELID2": "001", - "RELUNID": "1049001", - "SEARCHCODE": "", - "NAME1": "N. Schokkenbroek", - "NAME2": "", - "NAME3": "", - "VISITADR": "Twentestraat 16", - "VISITADR2": "", - "VISITADRZIP": "6745 GT", - "VISITADRCITY": "Enschede", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "nico@hotmail.com", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Twentestraat", - "NUMBER": "16", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2014-02-27T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "N. Schokkenbroek, Enschede", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "N. Schokkenbroek, Twentestraat 16, Enschede", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "PBS professional", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1051", - "RELID2": "001", - "RELUNID": "1051001", - "SEARCHCODE": "", - "NAME1": "H. van Heemkerk", - "NAME2": "", - "NAME3": "", - "VISITADR": "Colloseum 9", - "VISITADR2": "", - "VISITADRZIP": "1213 PC", - "VISITADRCITY": "Hilversum", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "henk@gamil.com", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Colloseum", - "NUMBER": "9", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-03-06T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "H. van Heemkerk, Hilversum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "H. van Heemkerk, Colloseum 9, Hilversum", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1068", - "RELID2": "001", - "RELUNID": "1068001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant niet EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-03-29T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant niet EU,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant niet EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa" - }, - { - "RELID": "1077", - "RELID2": "001", - "RELUNID": "1077001", - "SEARCHCODE": "", - "NAME1": "Grant Thornton B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "Office Avenue 15", - "VISITADR2": "", - "VISITADRZIP": "3247 RK", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "loper@gt.com", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Office Avenue", - "NUMBER": "15", - "ELECTRONICID": "", - "VATID": "NL123456789B01", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-04-16T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Grant Thornton B.V., Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Grant Thornton B.V., Office Avenue 15, Rotterdam", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1082", - "RELID2": "001", - "RELUNID": "1082001", - "SEARCHCODE": "", - "NAME1": "NEW Customer", - "NAME2": "", - "NAME3": "", - "VISITADR": "Woonstraat 17", - "VISITADR2": "", - "VISITADRZIP": "3067 MZ", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Woonstraat", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-05-04T10:42:25.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-27T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "NEW Customer, Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "NEW Customer, Woonstraat 17, Rotterdam", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1083", - "RELID2": "001", - "RELUNID": "1083001", - "SEARCHCODE": "", - "NAME1": "H.G.J. Nieuwenampsen", - "NAME2": "", - "NAME3": "", - "VISITADR": "Woonboot 54", - "VISITADR2": "", - "VISITADRZIP": "3267 RT", - "VISITADRCITY": "Lochem", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "henk.nieuwenampsen@prodin.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Woonboot", - "NUMBER": "54", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-05-08T13:28:47.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-27T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "H.G.J. Nieuwenampsen, Lochem", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "H.G.J. Nieuwenampsen, Woonboot 54, Lochem", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1084", - "RELID2": "001", - "RELUNID": "1084001", - "SEARCHCODE": "", - "NAME1": "A.G. Roelofs", - "NAME2": "", - "NAME3": "", - "VISITADR": "Woonstraat 17", - "VISITADR2": "", - "VISITADRZIP": "2067 GH", - "VISITADRCITY": "Zeist", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "030 - 678 98 56", - "FAX": "", - "EMAIL": "bert@upc.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Woonstraat", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-05-15T14:09:07.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-27T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "A.G. Roelofs, Zeist", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "A.G. Roelofs, Woonstraat 17, Zeist (030 - 678 98 56)", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1095", - "RELID2": "001", - "RELUNID": "1095001", - "SEARCHCODE": "", - "NAME1": "Nieuwe Klant BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Buitensingel 12", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "Enschede", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Buitensingel", - "NUMBER": "12", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-09-26T11:30:25.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2012-09-26T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Nieuwe Klant BV, Enschede", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Nieuwe Klant BV, Buitensingel 12, Enschede", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1097", - "RELID2": "001", - "RELUNID": "1097001", - "SEARCHCODE": "", - "NAME1": "P. Aries", - "NAME2": "", - "NAME3": "", - "VISITADR": "Neeltje Breedveldkade 11", - "VISITADR2": "", - "VISITADRZIP": "3059 SR", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "patrick.aries@live.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Neeltje Breedveldkade", - "NUMBER": "11", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-10-05T21:33:44.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2013-07-15T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "P. Aries, Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "P. Aries, Neeltje Breedveldkade 11, Rotterdam", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1098", - "RELID2": "001", - "RELUNID": "1098001", - "SEARCHCODE": "", - "NAME1": "Particulier SJABLOON", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-10-17T14:59:57.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2012-10-17T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Particulier SJABLOON,", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Particulier SJABLOON", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1099", - "RELID2": "001", - "RELUNID": "1099001", - "SEARCHCODE": "", - "NAME1": "van Heemskerk", - "NAME2": "", - "NAME3": "", - "VISITADR": "Multatulilaan 43", - "VISITADR2": "", - "VISITADRZIP": "1215 TG", - "VISITADRCITY": "Hilversum", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Multatulilaan", - "NUMBER": "43", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2012-10-17T15:19:14.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2012-10-17T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "van Heemskerk, Hilversum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "A", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "van Heemskerk, Multatulilaan 43, Hilversum", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1104", - "RELID2": "001", - "RELUNID": "1104001", - "SEARCHCODE": "", - "NAME1": "H. Koelewijn", - "NAME2": "", - "NAME3": "", - "VISITADR": "Fransiscusweg 219", - "VISITADR2": "", - "VISITADRZIP": "1312 HJ", - "VISITADRCITY": "Hilversum", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "hans.koelewijn@prodin.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Fransiscusweg", - "NUMBER": "219", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-01-29T09:43:34.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-27T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "H. Koelewijn, Hilversum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "H. Koelewijn, Fransiscusweg 219, Hilversum", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "PBS professional", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1110", - "RELID2": "001", - "RELUNID": "1110001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "Harremsenstraat 17", - "VISITADR2": "", - "VISITADRZIP": "1234 AC", - "VISITADRCITY": "Groningen", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "jan@harrems.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Harremsenstraat", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-03-13T15:03:17.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2013-03-13T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant NL, Groningen", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL, Harremsenstraat 17, Groningen", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1111", - "RELID2": "001", - "RELUNID": "1111001", - "SEARCHCODE": "", - "NAME1": "Particulier SJABLOON", - "NAME2": "", - "NAME3": "", - "VISITADR": "Binnensingel 45", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "Delft", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Binnensingel", - "NUMBER": "45", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-03-13T15:08:29.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2013-03-13T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Particulier SJABLOON, Delft", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Particulier SJABLOON, Binnensingel 45, Delft", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Patrick Aries", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1112", - "RELID2": "001", - "RELUNID": "1112001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2013-03-19T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant NL,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1113", - "RELID2": "001", - "RELUNID": "1113001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-03-19T15:41:26.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2013-03-19T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant NL,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1116", - "RELID2": "001", - "RELUNID": "1116001", - "SEARCHCODE": "", - "NAME1": "DACHSER GmbH", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "51149", - "VISITADRCITY": "Keulen", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "DE1234567890", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "01", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "001", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "01", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-04-03T12:59:30.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2016-09-30T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "DACHSER GmbH, Keulen", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "DE93370400440170258800", - "BIC": "COBADEFF086", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "DACHSER GmbH, Keulen", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "$", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "$", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1117", - "RELID2": "001", - "RELUNID": "1117001", - "SEARCHCODE": "", - "NAME1": "OTTO KOEHSEL & SOHN", - "NAME2": "", - "NAME3": "", - "VISITADR": "Prinzenallee 82", - "VISITADR2": "", - "VISITADRZIP": "13357", - "VISITADRCITY": "BERLIJN", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Prinzenallee 82", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-04-11T10:17:37.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2015-01-31T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "OTTO KOEHSEL & SOHN, BERLIJN", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "DE57100100100009742109", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "OTTO KOEHSEL & SOHN, Prinzenallee 82, BERLIJN", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1119", - "RELID2": "001", - "RELUNID": "1119001", - "SEARCHCODE": "", - "NAME1": "F.N. Mobron", - "NAME2": "", - "NAME3": "", - "VISITADR": "Thuis 17", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Thuis", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-07-02T19:40:52.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2015-10-26T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "F.N. Mobron,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL18ABNA0484869868", - "BIC": "", - "GIBAN": "NL18ABNA0484869868", - "GBIC": "ABNANL2A", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "F.N. Mobron, Thuis 17", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "PBS professional", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1120", - "RELID2": "001", - "RELUNID": "1120001", - "SEARCHCODE": "", - "NAME1": "Test", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-08-27T08:35:37.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2013-08-27T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Test,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Test", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1121", - "RELID2": "001", - "RELUNID": "1121001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-10-16T14:22:57.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2013-10-16T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1123", - "RELID2": "001", - "RELUNID": "1123001", - "SEARCHCODE": "", - "NAME1": "New Relation", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2013-12-26T20:04:49.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2013-12-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "New Relation,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "New Relation", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1127", - "RELID2": "001", - "RELUNID": "1127001", - "SEARCHCODE": "", - "NAME1": "VALK Utrecht", - "NAME2": "", - "NAME3": "", - "VISITADR": "Zwartepad 12", - "VISITADR2": "", - "VISITADRZIP": "1234 AB", - "VISITADRCITY": "Utrecht", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Zwartepad", - "NUMBER": "12", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-02-19T14:47:45.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-19T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "VALK Utrecht, Utrecht", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "VALK Utrecht, Zwartepad 12, Utrecht", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1128", - "RELID2": "001", - "RELUNID": "1128001", - "SEARCHCODE": "", - "NAME1": "VALK Groningen", - "NAME2": "", - "NAME3": "", - "VISITADR": "Martinitoren 17", - "VISITADR2": "", - "VISITADRZIP": "5634 GH", - "VISITADRCITY": "Groningen", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Martinitoren", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-02-19T14:48:25.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-19T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "VALK Groningen, Groningen", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "VALK Groningen, Martinitoren 17, Groningen", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1129", - "RELID2": "001", - "RELUNID": "1129001", - "SEARCHCODE": "", - "NAME1": "VALK Maastricht", - "NAME2": "", - "NAME3": "", - "VISITADR": "Grote markt 17", - "VISITADR2": "", - "VISITADRZIP": "6789 RT", - "VISITADRCITY": "Maastricht", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Grote markt", - "NUMBER": "17", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-02-19T14:48:59.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2014-02-19T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "VALK Maastricht, Maastricht", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "VALK Maastricht, Grote markt 17, Maastricht", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1130", - "RELID2": "001", - "RELUNID": "1130001", - "SEARCHCODE": "", - "NAME1": "Test Nico", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-03-05T15:54:38.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2014-03-05T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Test Nico,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Test Nico", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1135", - "RELID2": "001", - "RELUNID": "1135001", - "SEARCHCODE": "", - "NAME1": "DE Lieferant, BTW stelsel NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "Saarbrücken", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "02", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "NL123456789B03", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-03-27T20:26:27.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2017-05-16T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "DE Lieferant, BTW stelsel NL, Saarbrücken", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL47ABNA0614481619", - "BIC": "ABNANL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Duits", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "DE Lieferant, BTW stelsel NL, Saarbrücken", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1138", - "RELID2": "001", - "RELUNID": "1138001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "rgrtg", - "NAME3": "rtgrtg", - "VISITADR": "", - "VISITADR2": "grt", - "VISITADRZIP": "grt", - "VISITADRCITY": "grt", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "grt", - "FAX": "gt", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-04-11T09:26:26.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2014-04-11T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU rgrtg rtgrtg, grt", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU rgrtg rtgrtg, grt (grt)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1139", - "RELID2": "001", - "RELUNID": "1139001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-04-11T09:27:31.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2014-04-11T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1140", - "RELID2": "001", - "RELUNID": "1140001", - "SEARCHCODE": "", - "NAME1": "Weststrate", - "NAME2": "", - "NAME3": "", - "VISITADR": "Herculesweg 37", - "VISITADR2": "", - "VISITADRZIP": "4338PL", - "VISITADRCITY": "Middelburg", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0118630000", - "FAX": "", - "EMAIL": "info@weststrate.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Herculesweg", - "NUMBER": "37", - "ELECTRONICID": "", - "VATID": "NL002292154B01", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "22004672", - "CREA_DT": "2014-05-23T07:56:36.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2016-08-19T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "Weststrate, Middelburg", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL86ABNA0244683743", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "2", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Weststrate, Herculesweg 37, Middelburg (0118630000)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1141", - "RELID2": "001", - "RELUNID": "1141001", - "SEARCHCODE": "", - "NAME1": "Duitse Spoorwegen", - "NAME2": "", - "NAME3": "", - "VISITADR": "Fahradstrasse 200", - "VISITADR2": "", - "VISITADRZIP": "1234AB", - "VISITADRCITY": "Berlijn", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "012345678", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "02", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Fahradstrasse", - "NUMBER": "200", - "ELECTRONICID": "", - "VATID": "NL38121478", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-06-04T15:03:18.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2017-07-31T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Duitse Spoorwegen, Berlijn", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Duits", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Duitse Spoorwegen, Fahradstrasse 200, Berlijn (012345678)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1142", - "RELID2": "001", - "RELUNID": "1142001", - "SEARCHCODE": "", - "NAME1": "Audi", - "NAME2": "", - "NAME3": "", - "VISITADR": "Scheliermacherstrasse 111", - "VISITADR2": "", - "VISITADRZIP": "1234", - "VISITADRCITY": "Berlin", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0123456789", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Scheliermacherstrasse", - "NUMBER": "111", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-10-20T10:19:12.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2014-10-20T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Audi, Berlin", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "J", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Audi, Scheliermacherstrasse 111, Berlin (0123456789)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1145", - "RELID2": "001", - "RELUNID": "1145001", - "SEARCHCODE": "", - "NAME1": "Nicosoft", - "NAME2": "naam2", - "NAME3": "naam3", - "VISITADR": "Boskamphoek` 37", - "VISITADR2": "", - "VISITADRZIP": "7546DN", - "VISITADRCITY": "Enschede", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Boskamphoek`", - "NUMBER": "37", - "ELECTRONICID": "", - "VATID": "BTW", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-11-10T13:26:52.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2014-11-10T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Nicosoft naam2 naam3, Enschede", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Nicosoft naam2 naam3, Boskamphoek` 37, Enschede", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1148", - "RELID2": "001", - "RELUNID": "1148001", - "SEARCHCODE": "", - "NAME1": "Berlin Group", - "NAME2": "", - "NAME3": "", - "VISITADR": "Teststrasse 21", - "VISITADR2": "", - "VISITADRZIP": "11111", - "VISITADRCITY": "Berlijn", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "2003", - "STREET": "Teststrasse", - "NUMBER": "21", - "ELECTRONICID": "", - "VATID": "BE111111", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-11-20T14:56:38.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2017-06-19T00:00:00.000Z", - "MOD_BYID": "EA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Berlin Group, Berlijn", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "N", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Golio Trading BV, NIJMEGEN", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Berlin Group, Teststrasse 21, Berlijn", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Erwin van Aken", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1149", - "RELID2": "001", - "RELUNID": "1149001", - "SEARCHCODE": "", - "NAME1": "Berlin Group", - "NAME2": "", - "NAME3": "", - "VISITADR": "Frankfurter alleé 121", - "VISITADR2": "", - "VISITADRZIP": "1021", - "VISITADRCITY": "Berlin", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0123456789", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Frankfurter alleé", - "NUMBER": "121", - "ELECTRONICID": "", - "VATID": "DE112234", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-11-24T15:41:34.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2016-05-18T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "Berlin Group, Berlin", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Berlin Group, Frankfurter alleé 121, Berlin (0123456789)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1150", - "RELID2": "001", - "RELUNID": "1150001", - "SEARCHCODE": "", - "NAME1": "Horlogefabriek Zwiterseland", - "NAME2": "", - "NAME3": "", - "VISITADR": "Zwitserlandstraat 21", - "VISITADR2": "", - "VISITADRZIP": "ZW44554", - "VISITADRCITY": "Basel", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Zwitserlandstraat", - "NUMBER": "21", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-03-19T15:29:10.000Z", - "CREA_BYID": "zzzzz", - "MOD_DT": "2015-03-19T00:00:00.000Z", - "MOD_BYID": "zzzzz", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Horlogefabriek Zwiterseland, Basel", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Horlogefabriek Zwiterseland, Zwitserlandstraat 21, Basel", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Prodin Service medewerker", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa", - "CREA_BYDESC": "Prodin Service medewerker" - }, - { - "RELID": "1151", - "RELID2": "001", - "RELUNID": "1151001", - "SEARCHCODE": "ZWITS", - "NAME1": "Horlogefabrief Zwitserland", - "NAME2": "", - "NAME3": "", - "VISITADR": "Zwitersstraat 361", - "VISITADR2": "", - "VISITADRZIP": "CH-4156", - "VISITADRCITY": "Basel", - "VISITADRCOUNTRYID": "008", - "VISITADRSTATEID": "", - "POSTADR": "Schaferweg 18", - "POSTADR2": "", - "POSTADRZIP": "CH-4567", - "POSTADRCITY": "Basel", - "POSTADRCOUNTRYID": "008", - "POSTADRSTATEID": "", - "PHONE": "0123456789", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Zwitersstraat", - "NUMBER": "361", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-03-19T15:37:23.000Z", - "CREA_BYID": "zzzzz", - "MOD_DT": "2015-06-25T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Horlogefabrief Zwitserland, Basel", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Zwitserland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Horlogefabrief Zwitserland, Zwitersstraat 361, Basel (0123456789)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Zwitserland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "CH", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "CH", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa", - "CREA_BYDESC": "Prodin Service medewerker" - }, - { - "RELID": "1152", - "RELID2": "001", - "RELUNID": "1152001", - "SEARCHCODE": "", - "NAME1": "Test Nico", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-08-04T15:24:21.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2015-08-04T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Test Nico,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Test Nico", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1153", - "RELID2": "001", - "RELUNID": "1153001", - "SEARCHCODE": "", - "NAME1": "Nico's test", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-08-12T14:19:24.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2015-08-12T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Nico's test,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Nico's test", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "1155", - "RELID2": "001", - "RELUNID": "1155001", - "SEARCHCODE": "", - "NAME1": "particulier", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-12-04T14:04:57.000Z", - "CREA_BYID": "BR", - "MOD_DT": "2015-12-04T00:00:00.000Z", - "MOD_BYID": "BR", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "particulier,", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "particulier", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Bert Roelofs", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Bert Roelofs" - }, - { - "RELID": "1156", - "RELID2": "001", - "RELUNID": "1156001", - "SEARCHCODE": "", - "NAME1": "Particulier SJABLOON", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "999", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "50", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "50", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2015-12-04T14:05:30.000Z", - "CREA_BYID": "BR", - "MOD_DT": "2015-12-04T00:00:00.000Z", - "MOD_BYID": "BR", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Particulier SJABLOON,", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Particulier SJABLOON", - "SALESREPDESC": "", - "VISITADRCOUNTRYDESC": "Nederland", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "Contant", - "MOD_BYDESC": "Bert Roelofs", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Bert Roelofs" - }, - { - "RELID": "1157", - "RELID2": "001", - "RELUNID": "1157001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2016-01-21T12:12:44.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2016-01-21T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1158", - "RELID2": "001", - "RELUNID": "1158001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2016-01-21T12:12:57.000Z", - "CREA_BYID": "IN", - "MOD_DT": "2016-01-21T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa", - "CREA_BYDESC": "PBS professional" - }, - { - "RELID": "1159", - "RELID2": "001", - "RELUNID": "1159001", - "SEARCHCODE": "", - "NAME1": "Apply B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2016-05-25T13:29:41.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2016-05-25T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "Apply B.V.,", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL82INGB0674751205", - "BIC": "INGBNL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "IF-FIAT-04", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Apply B.V.", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1162", - "RELID2": "001", - "RELUNID": "1162001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2016-11-16T08:47:17.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2007-09-11T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant NL,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1163", - "RELID2": "001", - "RELUNID": "1163001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2016-11-16T08:53:42.000Z", - "CREA_BYID": "PA", - "MOD_DT": "2016-11-16T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant NL,", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Patrick Aries" - }, - { - "RELID": "1400", - "RELID2": "001", - "RELUNID": "1400001", - "SEARCHCODE": "", - "NAME1": "NL klant B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "Industrieweg 56", - "VISITADR2": "", - "VISITADRZIP": "1056 TH", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Industrieweg", - "NUMBER": "56", - "ELECTRONICID": "", - "VATID": "NL-1400BTWNR", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-11-30T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "NL klant B.V., Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "NL klant B.V., Industrieweg 56, Rotterdam", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "1410", - "RELID2": "001", - "RELUNID": "1410001", - "SEARCHCODE": "", - "NAME1": "Vaadin GmbH", - "NAME2": "", - "NAME3": "", - "VISITADR": "Boxhagener Str. 119", - "VISITADR2": "", - "VISITADRZIP": "10245", - "VISITADRCITY": "Berlin", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Boxhagener Str.", - "NUMBER": "119", - "ELECTRONICID": "", - "VATID": "DE1234567890B01", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-23T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Vaadin GmbH, Berlin", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Vaadin GmbH, Boxhagener Str. 119, Berlin", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa" - }, - { - "RELID": "1420", - "RELID2": "001", - "RELUNID": "1420001", - "SEARCHCODE": "", - "NAME1": "USA Customer Inc", - "NAME2": "", - "NAME3": "", - "VISITADR": "Victory Road 5", - "VISITADR2": "", - "VISITADRZIP": "US-877632", - "VISITADRCITY": "Houston", - "VISITADRCOUNTRYID": "500", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "500", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Victory Road", - "NUMBER": "5", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-11-15T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "USA Customer Inc, Houston", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Verenigde Staten", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "USA Customer Inc, Victory Road 5, Houston", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Verenigde Staten", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "US", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "US", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa" - }, - { - "RELID": "2000", - "RELID2": "001", - "RELUNID": "2000001", - "SEARCHCODE": "ALMETAAL", - "NAME1": "Almetaal BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Ambacht 4a", - "VISITADR2": "", - "VISITADRZIP": "1511 JZ", - "VISITADRCITY": "OOSTZAAN", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 77", - "POSTADR2": "", - "POSTADRZIP": "1510 AB", - "POSTADRCITY": "OOSTZAAN", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "075-6844979", - "FAX": "075-6844976", - "EMAIL": "almetaal@prodinp3.nl", - "WEBSITE": "www.almetaal.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Ambacht", - "NUMBER": "4a", - "ELECTRONICID": "", - "VATID": "NL804742716B02", - "AREAID": "001", - "SALESREPID": "005", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "02", - "DLVTERMSSALESID": "02", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-07-31T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "Almetaal", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Almetaal BV, OOSTZAAN", - "CREDITPERIOD": "030", - "CREDITPERIODID": "E", - "PAYMENTDISCOUNT": "3", - "PAYMENTDISCOUNTDAYS": "14", - "PAYMENTDISCOUNTTOLERANCEDAYS": "7", - "IBAN": "", - "BIC": "ABNANL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "2", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "11", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "34321", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": true, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": true, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0022000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Af fabriek", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Almetaal BV, Ambacht 4a, OOSTZAAN (075-6844979)", - "SALESREPDESC": "Richard Schmidt", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "60 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2001", - "RELID2": "001", - "RELUNID": "2001001", - "SEARCHCODE": "CAPRICORN3", - "NAME1": "Capricorn BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Boezembocht 23", - "VISITADR2": "", - "VISITADRZIP": "3034 KA", - "VISITADRCITY": "ROTTERDAM", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010-2403210", - "FAX": "010-2133507", - "EMAIL": "capricorn@prodinp3.nl", - "WEBSITE": "www.capricornbv.com", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Boezembocht", - "NUMBER": "23", - "ELECTRONICID": "", - "VATID": "NL767823423B02", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2016-09-13T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "Capricorn", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Capricorn BV, ROTTERDAM", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "2", - "PAYMENTDISCOUNTDAYS": "8", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL47ABNA0614481619", - "BIC": "ABNANL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "3432", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Capricorn BV, Boezembocht 23, ROTTERDAM (010-2403210)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2002", - "RELID2": "001", - "RELUNID": "2002001", - "SEARCHCODE": "ZETHAMETA", - "NAME1": "Zethameta BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Waterleidingstraat 2", - "VISITADR2": "", - "VISITADRZIP": "3134 KC", - "VISITADRCITY": "VLAARDINGEN", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 203", - "POSTADR2": "", - "POSTADRZIP": "3130 PL", - "POSTADRCITY": "VLAARDINGEN", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010-4601155", - "FAX": "010-4602142", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Waterleidingstraat", - "NUMBER": "2", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-02T00:00:00.000Z", - "MOD_BYID": "RVO", - "CHEPACC": "", - "SHORTNAME": "Zethameta", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Zethameta BV, VLAARDINGEN", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "2", - "PAYMENTDISCOUNTDAYS": "8", - "PAYMENTDISCOUNTTOLERANCEDAYS": "2", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "2", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "89213", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Zethameta BV, Waterleidingstraat 2, VLAARDINGEN (010-4601155)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Roelof van Oost", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2003", - "RELID2": "001", - "RELUNID": "2003001", - "SEARCHCODE": "GOLIO", - "NAME1": "Golio Trading BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Scheepvaartweg 71", - "VISITADR2": "", - "VISITADRZIP": "6541 CV", - "VISITADRCITY": "NIJMEGEN", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "024-3230066", - "FAX": "024-3228208", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Scheepvaartweg", - "NUMBER": "71", - "ELECTRONICID": "", - "VATID": "NL12345678", - "AREAID": "001", - "SALESREPID": "004", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-12T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "Golio", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "1", - "DESC": "Golio Trading BV, NIJMEGEN", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "2", - "PAYMENTDISCOUNTDAYS": "8", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL18ABNA0484869868", - "BIC": "ABNANL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "2", - "VALIDATINGPROCESSID": "IF-FIAT-01", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "1", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "898012", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": true, - "USEARTICLEID": true, - "FOLLOWUPPURCHASEORDERS": true, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Golio Trading BV, Scheepvaartweg 71, NIJMEGEN (024-3230066)", - "SALESREPDESC": "Evert Veldhuizen", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2004", - "RELID2": "001", - "RELUNID": "2004001", - "SEARCHCODE": "CALIBRATI", - "NAME1": "Calibratie Techniek BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Colenhoef 35", - "VISITADR2": "", - "VISITADRZIP": "5281 PR", - "VISITADRCITY": "BOXTEL", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0411-631319", - "FAX": "0411-643200", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "2006", - "STREET": "Colenhoef", - "NUMBER": "35", - "ELECTRONICID": "", - "VATID": "NL11223344", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2016-01-22T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Calibratie Techniek BV, BOXTEL", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "3", - "PAYMENTDISCOUNTDAYS": "8", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "A", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "1243", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "INVDEBTORDESC": "Alustema Trading BV, VENRAY", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Calibratie Techniek BV, Colenhoef 35, BOXTEL (0411-631319)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2005", - "RELID2": "001", - "RELUNID": "2005001", - "SEARCHCODE": "DALOSY", - "NAME1": "Dalosy Projecten BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Nikkelstraat 7", - "VISITADR2": "", - "VISITADRZIP": "2985 BC", - "VISITADRCITY": "RIDDERKERK", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 168", - "POSTADR2": "", - "POSTADRZIP": "2980 AD", - "POSTADRCITY": "RIDDERKERK", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0180 - 486 486", - "FAX": "0180 - 415 442", - "EMAIL": "info@dalosy.com", - "WEBSITE": "www.dalosy.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Nikkelstraat", - "NUMBER": "7", - "ELECTRONICID": "", - "VATID": "123458795NL00", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-06-15T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "-00.00", - "DESC": "Dalosy Projecten BV, RIDDERKERK", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "2", - "PAYMENTDISCOUNTDAYS": "10", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL31INGB0650958217", - "BIC": "INGBNL2A", - "GIBAN": "NL31INGB0650958217", - "GBIC": "INGBNL2A", - "VATRATEID": "1", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "576832", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0040000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Dalosy Projecten BV, Nikkelstraat 7, RIDDERKERK (0180 - 486 486)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2006", - "RELID2": "001", - "RELUNID": "2006001", - "SEARCHCODE": "ALUSTEMA", - "NAME1": "Alustema Trading BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Keizersveld 92", - "VISITADR2": "", - "VISITADRZIP": "5803 AM", - "VISITADRCITY": "VENRAY", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 109", - "POSTADR2": "", - "POSTADRZIP": "5800 AC", - "POSTADRCITY": "VENRAY", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0478-514421", - "FAX": "0478-582981", - "EMAIL": "alustema@prodin.nl", - "WEBSITE": "www.alustema.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Keizersveld", - "NUMBER": "92", - "ELECTRONICID": "", - "VATID": "BE1122334455", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "004", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-05-22T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Alustema Trading BV, VENRAY", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "ABNANL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "2", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "614481619", - "OURDEBTORID": "4212", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": true, - "CATALOG": true, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Alustema Trading BV, Keizersveld 92, VENRAY (0478-514421)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2007", - "RELID2": "001", - "RELUNID": "2007001", - "SEARCHCODE": "SKGTRADE", - "NAME1": "SKG Trading BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Hannoverweg 56", - "VISITADR2": "", - "VISITADRZIP": "1907 KL", - "VISITADRCITY": "LIMMEN", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 32", - "POSTADR2": "", - "POSTADRZIP": "1906 ZG", - "POSTADRCITY": "LIMMEN", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "035-6888400", - "FAX": "035-6888444", - "EMAIL": "skg-trading@prodin.nl", - "WEBSITE": "www.skg-trading.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Hannoverweg", - "NUMBER": "56", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2015-04-24T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "SKG Trading BV, LIMMEN", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL47ABNA0614481619", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "312321", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": false, - "DELDAY3": false, - "DELDAY4": false, - "DELDAY5": false, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "SKG Trading BV, Hannoverweg 56, LIMMEN (035-6888400)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2008", - "RELID2": "001", - "RELUNID": "2008001", - "SEARCHCODE": "TNT", - "NAME1": "TNT Post", - "NAME2": "", - "NAME3": "", - "VISITADR": "Prinses Beatrixlaan 23", - "VISITADR2": "", - "VISITADRZIP": "2595 AK", - "VISITADRCITY": "DEN HAAG", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "070 - 334 34 34", - "FAX": "", - "EMAIL": "", - "WEBSITE": "www.tntpost.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Prinses Beatrixlaan", - "NUMBER": "23", - "ELECTRONICID": "", - "VATID": "NL009291477B01", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "V", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-07-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "TNT Post, DEN HAAG", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "W", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL87INGB0654052964", - "BIC": "INGBNL2A", - "GIBAN": "NL87INGB0654052964", - "GBIC": "INGBNL2A", - "VATRATEID": "2", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "debnr 123456789", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": true, - "ALLOWEDPURCHASE": "N", - "SSCC": "N", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "TNT Post, Prinses Beatrixlaan 23, DEN HAAG (070 - 334 34 34)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2009", - "RELID2": "001", - "RELUNID": "2009001", - "SEARCHCODE": "TRANSPORT", - "NAME1": "Transport Service", - "NAME2": "Tilburg BV", - "NAME3": "", - "VISITADR": "Ledeboerstraat 123", - "VISITADR2": "", - "VISITADRZIP": "5048 AC", - "VISITADRCITY": "TILBURG", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "013-4670841", - "FAX": "013-4671031", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Ledeboerstraat", - "NUMBER": "123", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2014-11-26T00:00:00.000Z", - "MOD_BYID": "IN", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "-00.00", - "DESC": "Transport Service Tilburg BV, TILBURG", - "CREDITPERIOD": "000", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0040000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Transport Service Tilburg BV, Ledeboerstraat 123, TILBURG (013-4670841)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "PBS professional", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2010", - "RELID2": "001", - "RELUNID": "2010001", - "SEARCHCODE": "ANODISING", - "NAME1": "Anodising Nederland BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Hoefsmid 3", - "VISITADR2": "", - "VISITADRZIP": "2292 JJ", - "VISITADRCITY": "WATERINGEN", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "0174-225120", - "FAX": "0174-293557", - "EMAIL": "anodising@prodinp3.nl", - "WEBSITE": "www.anodising.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Hoefsmid", - "NUMBER": "3", - "ELECTRONICID": "", - "VATID": "NL674532342B02", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2006-08-04T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "-00.00", - "DESC": "Anodising Nederland BV, WATERINGEN", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Anodising Nederland BV, Hoefsmid 3, WATERINGEN (0174-225120)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2011", - "RELID2": "001", - "RELUNID": "2011001", - "SEARCHCODE": "AB", - "NAME1": "AB Chroomservice BV", - "NAME2": "", - "NAME3": "", - "VISITADR": "Weg en Land 33", - "VISITADR2": "", - "VISITADRZIP": "2661 DC", - "VISITADRCITY": "BERGSCHENHOEK", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010-5210093", - "FAX": "010-5210097", - "EMAIL": "", - "WEBSITE": "www.chroomservice.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Weg en Land", - "NUMBER": "33", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "001", - "CUSTGRPID": "001", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-06-11T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "-00.00", - "DESC": "AB Chroomservice BV, BERGSCHENHOEK", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "AB Chroomservice BV, Weg en Land 33, BERGSCHENHOEK (010-5210093)", - "SALESREPDESC": "Daan Wielings", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Groothandel", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2012", - "RELID2": "001", - "RELUNID": "2012001", - "SEARCHCODE": "YANKEE", - "NAME1": "Yankee Manufacturing Inc.", - "NAME2": "", - "NAME3": "", - "VISITADR": "5th Avenue 7891", - "VISITADR2": "", - "VISITADRZIP": "NY-445621", - "VISITADRCITY": "NEW YORK", - "VISITADRCOUNTRYID": "500", - "VISITADRSTATEID": "", - "POSTADR": "PO Box 676912", - "POSTADR2": "", - "POSTADRZIP": "NY-7861-A", - "POSTADRCITY": "NEW YORK", - "POSTADRCOUNTRYID": "500", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "www.yankee_manufacturing.com", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2005-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "5th Avenue", - "NUMBER": "7891", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "015", - "PAYTERMSSALESID": "02", - "DLVTERMSSALESID": "02", - "CURRENCYSALESID": "01", - "PRICELISTID": "", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "999", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "01", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2016-08-24T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "0.00", - "DESC": "Yankee Manufacturing Inc., NEW YORK", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "50000", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "1", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": true, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Verenigde Staten", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Af fabriek", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Yankee Manufacturing Inc., 5th Avenue 7891, NEW YORK", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Verenigde Staten", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "60 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "US", - "CURRENCYPURCHASEDESC": "$", - "VISITADRCOUNTRYISO": "US", - "CUSTGRPDESC": "Overig", - "CURRENCYSALESDESC": "$", - "AREADESC": "Buiten Europa" - }, - { - "RELID": "2013", - "RELID2": "001", - "RELUNID": "2013001", - "SEARCHCODE": "DPD", - "NAME1": "DPD (Nederland) B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "Bovendijk 192", - "VISITADR2": "", - "VISITADRZIP": "3045 PD", - "VISITADRCITY": "ROTTERDAM", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010 - 278 15 50", - "FAX": "010 - 285 95 38", - "EMAIL": "customersupport521@dpd.nl", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Bovendijk", - "NUMBER": "192", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2007-12-08T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "DPD (Nederland) B.V., ROTTERDAM", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "DPD (Nederland) B.V., Bovendijk 192, ROTTERDAM (010 - 278 15 50)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "2050", - "RELID2": "001", - "RELUNID": "2050001", - "SEARCHCODE": "", - "NAME1": "Lieferant GmbH", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "DE122163572B08", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "001", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2013-05-07T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Lieferant GmbH,", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Lieferant GmbH", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa" - }, - { - "RELID": "50000", - "RELID2": "001", - "RELUNID": "50000001", - "SEARCHCODE": "Bracke Ele", - "NAME1": "Bracke Elektro nv", - "NAME2": "", - "NAME3": "", - "VISITADR": "Kluizenhof 16", - "VISITADR2": "", - "VISITADRZIP": "B-9170", - "VISITADRCITY": "Sint Gillis Waas", - "VISITADRCOUNTRYID": "004", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "004", - "POSTADRSTATEID": "", - "PHONE": "0032 3707 1951", - "FAX": "0032 3770 6576", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Kluizenhof", - "NUMBER": "16", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_DT": "2014-03-21T08:37:44.000Z", - "CREA_BYID": "NS", - "MOD_DT": "2014-03-26T00:00:00.000Z", - "MOD_BYID": "NS", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Bracke Elektro nv, Sint Gillis Waas", - "POSTADRCOUNTRYDESC": "België", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Bracke Elektro nv, Kluizenhof 16, Sint Gillis Waas (0032 3707 1951)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "België", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Nico Schokkenbroek", - "POSTADRCOUNTRYISO": "BE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "BE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland", - "CREA_BYDESC": "Nico Schokkenbroek" - }, - { - "RELID": "999001", - "RELID2": "001", - "RELUNID": "999001001", - "SEARCHCODE": "", - "NAME1": "Customer 999001", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-05-07T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Customer 999001,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Customer 999001", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "999901", - "RELID2": "001", - "RELUNID": "999901001", - "SEARCHCODE": "PRODIN", - "NAME1": "PBS Rotterdam B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "Goudsesingel 201", - "VISITADR2": "", - "VISITADRZIP": "3011 KM", - "VISITADRCITY": "Rotterdam", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "010 - 421 67 89", - "FAX": "", - "EMAIL": "info@prodin.nl", - "WEBSITE": "www.prodin.nl", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Goudsesingel", - "NUMBER": "201", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "PBS Rotterdam B.V., Rotterdam", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "0", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "NL08INGB0650944178", - "BIC": "INGBNL2A", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "PBS Rotterdam B.V., Goudsesingel 201, Rotterdam (010 - 421 67 89)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "999902", - "RELID2": "001", - "RELUNID": "999902001", - "SEARCHCODE": "PRODIN", - "NAME1": "PBS Hilversum B.V.", - "NAME2": "", - "NAME3": "", - "VISITADR": "Franciscusweg 219j", - "VISITADR2": "", - "VISITADRZIP": "1216 SE", - "VISITADRCITY": "Hilversum", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "Postbus 8060", - "POSTADR2": "", - "POSTADRZIP": "1201 HB", - "POSTADRCITY": "Hilversum", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "+31 (0)88 808 1100", - "FAX": "+31 (0)88 808 1101", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "Franciscusweg", - "NUMBER": "219j", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "01", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2017-01-26T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "25", - "DESC": "PBS Hilversum B.V., Hilversum", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "1", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "0", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "0", - "PAYMENTDISCOUNTDAYS": "0", - "PAYMENTDISCOUNTTOLERANCEDAYS": "0", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "PBS Hilversum B.V., Franciscusweg 219j, Hilversum (+31 (0)88 808 1100)", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "$", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "999980", - "RELID2": "001", - "RELUNID": "999980001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "ELID", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2016-11-16T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "0", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "0", - "DESC": "Relatie / klant NL,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "0", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "999981", - "RELID2": "001", - "RELUNID": "999981001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2007-09-11T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant EU,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa" - }, - { - "RELID": "999982", - "RELID2": "001", - "RELUNID": "999982001", - "SEARCHCODE": "", - "NAME1": "Relatie / klant niet EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": true, - "ISCREDITOR": false, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2007-09-11T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / klant niet EU,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": true, - "COMMISSIONPERC": "3.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "O", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "W", - "ORDERCONFIRMATIONADDRESS": "F", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / klant niet EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa" - }, - { - "RELID": "999990", - "RELID2": "001", - "RELUNID": "999990001", - "SEARCHCODE": "", - "NAME1": "Relatie / leverancier NL", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2007-09-11T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / leverancier NL,", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / leverancier NL", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - }, - { - "RELID": "999991", - "RELID2": "001", - "RELUNID": "999991001", - "SEARCHCODE": "", - "NAME1": "Relatie / leverancier EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "010", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": true, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2013-04-29T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / leverancier EU,", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / leverancier EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Overig Europa" - }, - { - "RELID": "999992", - "RELID2": "001", - "RELUNID": "999992001", - "SEARCHCODE": "", - "NAME1": "Relatie / leverancier niet EU", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "001", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "001", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2001-01-01T00:00:00.000Z", - "VALIDTO": "2049-12-31T00:00:00.000Z", - "LANGUAGEID": "01", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": true, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "020", - "SALESREPID": "003", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "00", - "VAT": "N", - "EU": false, - "FOREIGNER": true, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "01", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "00", - "ISDEBTOR": false, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2012-02-24T00:00:00.000Z", - "MOD_BYID": "", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": false, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "Relatie / leverancier niet EU,", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": true, - "PURCHASINGCONFIRMATIONTIME": "2", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Duitsland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Engels", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "Relatie / leverancier niet EU", - "SALESREPDESC": "Patrick Aries", - "VISITADRCOUNTRYDESC": "Duitsland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "POSTADRCOUNTRYISO": "DE", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "DE", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Buiten Europa" - }, - { - "RELID": "999999", - "RELID2": "001", - "RELUNID": "999999001", - "SEARCHCODE": "", - "NAME1": "SJABLOON", - "NAME2": "", - "NAME3": "", - "VISITADR": "", - "VISITADR2": "", - "VISITADRZIP": "", - "VISITADRCITY": "", - "VISITADRCOUNTRYID": "000", - "VISITADRSTATEID": "", - "POSTADR": "", - "POSTADR2": "", - "POSTADRZIP": "", - "POSTADRCITY": "", - "POSTADRCOUNTRYID": "000", - "POSTADRSTATEID": "", - "PHONE": "", - "FAX": "", - "EMAIL": "", - "WEBSITE": "", - "VALIDFROM": "2002-01-01T00:00:00.000Z", - "VALIDTO": "2005-12-31T00:00:00.000Z", - "LANGUAGEID": "00", - "ASSORTMENTID": "", - "QUOTEMIN": "0", - "QUOTEMAX": "0", - "TEMPLATE": false, - "PURCHORGID": "", - "INVDEBTORID": "", - "STREET": "", - "NUMBER": "", - "ELECTRONICID": "", - "VATID": "", - "AREAID": "001", - "SALESREPID": "005", - "CUSTGRPID": "003", - "PAYTERMSSALESID": "01", - "DLVTERMSSALESID": "01", - "CURRENCYSALESID": "00", - "PRICELISTID": "", - "VAT": "J", - "EU": true, - "FOREIGNER": false, - "VATSYSTEMID": "000", - "NUMBEROFQUOTES": "1", - "CURRENCYPURCHASEID": "00", - "PAYTERMSPURCHASEID": "01", - "DLVTERMSPURCHASEID": "01", - "PRICELIST2ID": "", - "ISDEBTOR": true, - "ISCREDITOR": true, - "RELTYPEID": "", - "SOURCEID": "", - "COCID": "", - "CREA_BYID": "", - "MOD_DT": "2013-04-29T00:00:00.000Z", - "MOD_BYID": "PA", - "CHEPACC": "", - "SHORTNAME": "", - "SURRATE": "", - "MINQUOTATIONVALUE": "0", - "MAXQUOTATIONVALUE": "0", - "QUOTATIONBLOCKINGID": "N", - "QUOTATIONDOCUMENT": true, - "SITEID": "01", - "DISCOUNT": "00.00", - "DESC": "SJABLOON,", - "TOLERANCEUNDERSHIP": "0", - "TOLERANCEOVERSHIP": "0", - "COMMISSION": false, - "COMMISSIONPERC": "0.00", - "PRICEADDITIONID": "E", - "RELATIONCALLOUT": "S", - "CALLOUTCHARGETARIFF": "0", - "CALLOUTCHARGEDONTCHARGEFROM": "0", - "DISCOUNTPERCHOURS": "", - "NROFINVOICES": "01", - "PARTIALDELIVERYID": "J", - "CREDITRESTRICTION": "N", - "AGGREGATEID": "N", - "DESKPAYMENT": "D", - "ELECTRONICINVOICING": "N", - "INVOICELIST": "N", - "ADMONISH": "2", - "COLLECTION": "N", - "REQUESTSERVICEPURCHASEORDER": false, - "ORDERCONFIRMATION": "D", - "ORDERCONFIRMATIONADDRESS": "D", - "PRIORITYID": "", - "OURSUPPLIERID": "", - "CARRIERID": "01", - "PACKINGLISTTYPE": "", - "TIMESLOTDELIVERYSTART": "0.0", - "TIMESLOTDELIVERYEND": "0.0", - "DELIVERYINFO": "", - "TRANSPORTTIMEDAYS": "0", - "CREDITLIMIT": "0", - "ACCOUNTCODEDEBTOR": "0", - "CREDITPERIOD": "030", - "CREDITPERIODID": "F", - "PAYMENTDISCOUNT": "", - "PAYMENTDISCOUNTDAYS": "", - "PAYMENTDISCOUNTTOLERANCEDAYS": "", - "IBAN": "", - "BIC": "", - "GIBAN": "", - "GBIC": "", - "VATRATEID": "", - "VALIDATINGPROCESSID": "", - "MIMIMUMORDERAMOUNT": "0", - "AGENTID": "", - "ADDRESSINGAGENT": "", - "TRANSPORTTIME": "0", - "INSPECTIONTIME": "0", - "PURCHASINGCONFIRMATION": false, - "PURCHASINGCONFIRMATIONTIME": "0", - "ACCOUNTCODECREDITOR": "0", - "PAYMENTADVICE": true, - "BANKACCOUNT": "123456789", - "OURDEBTORID": "", - "PRICECALCULATION": "0", - "PERFORMANCEMEASURE": false, - "CATALOG": false, - "USEARTICLEID": false, - "FOLLOWUPPURCHASEORDERS": false, - "CALLOFFFROMCONTRACT": false, - "ALLOWEDPURCHASE": "N", - "SSCC": "L", - "INVOICELEDGERACCOUNT": "0000000", - "DELDAY1": true, - "DELDAY2": true, - "DELDAY3": true, - "DELDAY4": true, - "DELDAY5": true, - "DELDAY6": false, - "DELDAY7": false, - "POSTADRCOUNTRYDESC": "Nederland", - "PAYTERMSPURCHASEDESC": "30 dagen netto", - "VISITADRSTATEDESC": "", - "DLVTERMSSALESDESC": "Franco huis @1", - "LANGUAGEDESC": "Nederlands", - "SITEDESC": "Prodin Business", - "RELDESCLONG": "SJABLOON", - "SALESREPDESC": "Richard Schmidt", - "VISITADRCOUNTRYDESC": "Nederland", - "POSTADRSTATEDESC": "", - "QUOTATIONBLOCKINGDESC": "Melding", - "PAYTERMSSALESDESC": "30 dagen netto", - "MOD_BYDESC": "Patrick Aries", - "POSTADRCOUNTRYISO": "NL", - "CURRENCYPURCHASEDESC": "€", - "VISITADRCOUNTRYISO": "NL", - "CUSTGRPDESC": "Automotive", - "CURRENCYSALESDESC": "€", - "AREADESC": "Nederland" - } -] \ No newline at end of file diff --git a/js/.gitignore b/js/.gitignore new file mode 100644 index 00000000..eb03e3e1 --- /dev/null +++ b/js/.gitignore @@ -0,0 +1,2 @@ +node_modules +*.log diff --git a/js/BBjGridExWidget.js b/js/BBjGridExWidget.js deleted file mode 100644 index 1e97d93f..00000000 --- a/js/BBjGridExWidget.js +++ /dev/null @@ -1,306 +0,0 @@ -/* -* This file is part of the grid project -* (c) Basis Europe -* -* For the full copyright and license information, please view the LICENSE -* file that was distributed with this source code. -*/ - -bbj_grid_selected_row_events = []; - -bbj_grid_supported_value_formatter = { - 'date': bbj_grid_widget_get_value_formatter_date, - 'agNumberColumnFilter': bbj_grid_widget_get_value_formatter_number -} - -bbj_grid_supported_value_renderer = { - 'boolean': bbj_grid_widget_get_value_renderer_boolean -} - -function bbj_grid_widget_post_event(ev) { - window.basisDispatchCustomEvent(ev, ev.payload); -} - -function bbj_grid_widget_send_event(payload) { - var d = $doc.getElementById('eventTransporterDiv'); - var event = new Event('click'); - event.payload = payload; - d.dispatchEvent(event); -} - -function bbj_grid_widget_cell_render(params) { - - var cdef = params.column.colDef.cellStyleDefaults || {}; - - var meta = {}; - - if (params.data.meta) - meta = params.data.meta[params.column.colId] || {}; - - var colStyle = {}; - - if (meta["FGCOLOR"]) - colStyle.color = meta["FGCOLOR"]; - else - if (cdef["FGCOLOR"]) - colStyle["color"] = cdef["FGCOLOR"]; - - if (meta["BGCOLOR"]) - colStyle["background-color"] = meta["BGCOLOR"]; - else - if (cdef["BGCOLOR"]) - colStyle["background-color"] = cdef["BGCOLOR"]; - - if (meta["ALIGN"]) - colStyle["text-align"] = meta["ALIGN"]; - else - if (cdef["ALIGN"]) - colStyle["text-align"] = cdef["ALIGN"]; - - if (colStyle.color || colStyle["background-color"] || colStyle["text-align"]) { - return colStyle; - } - else { - return null; - } -}; - -function bbj_grid_build_node_info_from_event(e) { - - if (false === e.node.group) { - return { - id: e.node.id, // auto generated id by ag-gird (can be changed , but we will not change it) - childIndex: e.node.childIndex, // row index when it is a child in a group - // childrenCount: e.node.group ? e.node.allChildrenCount : 0, - selected: Boolean(e.node.selected), - data: e.node.data, - // level: e.node.level, // the group level - - // hasParent: hasParent, - // parentId: hasParent ? e.node.parent.id : -1, - parentKey: e.node.hasOwnProperty('parent') ? e.node.parent.key : '', - }; - } - - return false; -} - -function bbj_grid_widget_init(container, license, data, options) { - - if (agGrid.LicenseManager) { - agGrid.LicenseManager.setLicenseKey(license); - } - - options = Object.assign(options || {}, { - - rowData: data, - - getDocument: function () { - return $doc; - }, - - onRowDoubleClicked: function (e) { - - bbj_grid_widget_send_event({ - 'type': 'grid-row-doubleclick', - 'detail': [[bbj_grid_build_node_info_from_event(e)]] - }); - }, - - onRowSelected: function (e) { - bbj_grid_selected_row_events.push(e); - }, - - onSelectionChanged: function (e) { - - var details = []; - bbj_grid_selected_row_events.forEach(function (e) { - var detail = bbj_grid_build_node_info_from_event(e); - if (detail) details.push(detail); - }); - - if (details.length) { - bbj_grid_selected_row_events = []; - - bbj_grid_widget_send_event({ - 'type': 'grid-row-select', - 'detail': [details] - }); - } - }, - - getNodeChildDetails: function (rowItem) { - - var key = rowItem[$doc.bbj_grid_widget["__getParentNodeId"]]; - if (rowItem.__node__children) { - return { - group: true, - - expanded: false, - // provide ag-Grid with the children of this group - children: rowItem.__node__children, - // the key is used by the default group cellRenderer - key: key ? key : -1 - }; - } else { - return null; - } - } - }); - - if ($doc.bbj_grid_widget["__getRowNodeId"]) { - options.getRowNodeId = function (data) { - var id = data[$doc.bbj_grid_widget["__getRowNodeId"]]; - id = id ? id : Math.random(); - return id; - }; - } - - for (var i in options.columnDefs) { - options.columnDefs[i].cellStyle = bbj_grid_widget_cell_render; - options.columnDefs[i].valueFormatter = bbj_grid_widget_format_value( - options.columnDefs[i].filter - ); - - if(!options.columnDefs[i].cellRenderer) { - options.columnDefs[i].cellRenderer = bbj_grid_widget_render_value( - options.columnDefs[i].filter - ); - } - } - - return new agGrid.Grid(container, options); -} - -function bbj_grid_widget_fit_grid(fitmode) { - $doc.bbj_grid_widget.api.sizeColumnsToFit(); -} - -function bbj_grid_widget_set_selected_rows(rows) { - - $doc.bbj_grid_widget.api.forEachNodeAfterFilterAndSort(function (node) { - if (rows.indexOf(node.rowIndex) > -1) { - node.setSelected(true); - node.expanded = true; - } - }.bind(this)); - - $doc.bbj_grid_widget.api.onGroupExpandedOrCollapsed() -} - -function bbj_grid_widget_set_select_all(filtered) { - if (1 === filtered) { - $doc.bbj_grid_widget.api.selectAllFiltered(); - } else { - $doc.bbj_grid_widget.api.selectAll(); - } -} - -function bbj_grid_widget_set_deselect_all(filtered) { - - if (1 === filtered) { - $doc.bbj_grid_widget.api.deselectAllFiltered(); - } else { - $doc.bbj_grid_widget.api.deselectAll(); - } -} - -function bbj_grid_widget_set_expand_all() { - $doc.bbj_grid_widget.api.expandAll(); -} - -function bbj_grid_widget_set_collapse_all() { - $doc.bbj_grid_widget.api.collapseAll(); -} - -function bbj_grid_widget_set_visible_row(index, position) { - $doc.bbj_grid_widget.api.ensureIndexVisible(index, position); -} - -function bbj_grid_widget_set_visible_column(columnId) { - $doc.bbj_grid_widget.api.ensureColumnVisible(columnId); -} - -function bbj_grid_widget_set_column_width(columnid, width) { - $doc.bbj_grid_widget.columnApi.setColumnWidth(columnid, Number(width)); -} - -function bbj_grid_widget_set_column_pin(columnid, pin) { - $doc.bbj_grid_widget.columnApi.setColumnPinned(columnid, pin); -} - -function bbj_grid_widget_set_column_move(columnid, toIndex) { - $doc.bbj_grid_widget.columnApi.moveColumn(columnid, toIndex); -} - -function bbj_grid_widget_set_quick_filter(filter) { - $doc.bbj_grid_widget.api.setQuickFilter(filter); -} - -function bbj_grid_widget_get_state() { - - var state = $doc.bbj_grid_widget.columnApi.getColumnState(); - return JSON.stringify(state); -} - -function bbj_grid_widget_set_state(state) { - $doc.bbj_grid_widget.columnApi.setColumnState(state); -} - -function bbj_grid_widget_format_value(filter) { - return bbj_grid_supported_value_formatter && bbj_grid_supported_value_formatter.hasOwnProperty(filter) ? - bbj_grid_supported_value_formatter[filter] : null; -} - -function bbj_grid_widget_render_value(renderer) { - return bbj_grid_supported_value_renderer && bbj_grid_supported_value_renderer.hasOwnProperty(renderer) ? - bbj_grid_supported_value_renderer[renderer] : null; -} - -function bbj_grid_widget_get_value_formatter_date(data) { - if ( - ($doc.bbj_grid_widget_meta && $doc.bbj_grid_widget_meta.hasOwnProperty(data.colDef.field)) && - $doc.bbj_grid_widget_meta[data.colDef.field].hasOwnProperty('MASK') - ) { - return BBj.Masks.date( - data.value, - $doc.bbj_grid_widget_meta[data.colDef.field].MASK //'%Y-%Mz-%Dz' - ); - } else return data.value; -} - -function bbj_grid_widget_get_value_formatter_number(data) { - - if ( - ($doc.bbj_grid_widget_meta && $doc.bbj_grid_widget_meta.hasOwnProperty(data.colDef.field)) && - $doc.bbj_grid_widget_meta[data.colDef.field].hasOwnProperty('MASK') - ) { - return BBj.Masks.number( - data.value, - $doc.bbj_grid_widget_meta[data.colDef.field].MASK - ); - } else return data.value; -} - -function bbj_grid_widget_get_value_renderer_boolean(data) { - - if (true === data.value) { - return '' - } - - if (false === data.value) { - return '' - } - - return date.value; -} - -function bbj_grid_widget_set_data(json, options,license) { - - var container = $doc.getElementById('grid'); - container.innerHTML = ''; - - $doc.bbj_grid_widget_meta = json[0].meta; - $doc.bbj_grid_widget = options; - $doc.bbj_grid_widget_instance = bbj_grid_widget_init(container, license, json, options); -} diff --git a/js/ag-grid.js b/js/ag-grid.js deleted file mode 100644 index d66a5194..00000000 --- a/js/ag-grid.js +++ /dev/null @@ -1,34063 +0,0 @@ -// ag-grid v15.0.0 -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["agGrid"] = factory(); - else - root["agGrid"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 114); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var utils_1 = __webpack_require__(1); -var Context = (function () { - function Context(params, logger) { - this.beans = {}; - this.componentsMappedByName = {}; - this.destroyed = false; - if (!params || !params.beans) { - return; - } - this.contextParams = params; - this.logger = logger; - this.logger.log('>> creating ag-Application Context'); - this.setupComponents(); - this.createBeans(); - var beans = utils_1.Utils.mapObject(this.beans, function (beanEntry) { return beanEntry.beanInstance; }); - this.wireBeans(beans); - this.logger.log('>> ag-Application Context ready - component is alive'); - } - Context.prototype.setupComponents = function () { - var _this = this; - if (this.contextParams.components) { - this.contextParams.components.forEach(function (componentMeta) { return _this.addComponent(componentMeta); }); - } - }; - Context.prototype.addComponent = function (componentMeta) { - // get name of the class as a string - // let className = _.getNameOfClass(ComponentClass); - // insert a dash after every capital letter - // let classEscaped = className.replace(/([A-Z])/g, "-$1").toLowerCase(); - var classEscaped = componentMeta.componentName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); - // put all to upper case - var classUpperCase = classEscaped.toUpperCase(); - // finally store - this.componentsMappedByName[classUpperCase] = componentMeta.theClass; - }; - Context.prototype.createComponent = function (element) { - var key = element.nodeName; - if (this.componentsMappedByName && this.componentsMappedByName[key]) { - var newComponent = new this.componentsMappedByName[key]; - this.wireBean(newComponent); - this.copyAttributesFromNode(element, newComponent.getGui()); - newComponent.attributesSet(); - return newComponent; - } - else { - return null; - } - }; - Context.prototype.copyAttributesFromNode = function (fromNode, toNode) { - if (fromNode.attributes) { - var count = fromNode.attributes.length; - for (var i = 0; i < count; i++) { - var attr = fromNode.attributes[i]; - toNode.setAttribute(attr.name, attr.value); - } - } - }; - Context.prototype.wireBean = function (bean) { - if (!bean) - throw Error("Can't wire to bean since it is null"); - this.wireBeans([bean]); - }; - Context.prototype.wireBeans = function (beans) { - this.autoWireBeans(beans); - this.methodWireBeans(beans); - this.preConstruct(beans); - this.postConstruct(beans); - }; - Context.prototype.createBeans = function () { - var _this = this; - // register all normal beans - this.contextParams.beans.forEach(this.createBeanEntry.bind(this)); - // register override beans, these will overwrite beans above of same name - if (this.contextParams.overrideBeans) { - this.contextParams.overrideBeans.forEach(this.createBeanEntry.bind(this)); - } - // instantiate all beans - overridden beans will be left out - utils_1.Utils.iterateObject(this.beans, function (key, beanEntry) { - var constructorParamsMeta; - if (beanEntry.bean.__agBeanMetaData - && beanEntry.bean.__agBeanMetaData.autowireMethods - && beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor) { - constructorParamsMeta = beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor; - } - var constructorParams = _this.getBeansForParameters(constructorParamsMeta, beanEntry.bean.name); - var newInstance = applyToConstructor(beanEntry.bean, constructorParams); - beanEntry.beanInstance = newInstance; - _this.logger.log('bean ' + _this.getBeanName(newInstance) + ' created'); - }); - }; - Context.prototype.createBeanEntry = function (Bean) { - var metaData = Bean.__agBeanMetaData; - if (!metaData) { - var beanName = void 0; - if (Bean.prototype.constructor) { - beanName = Bean.prototype.constructor.name; - } - else { - beanName = '' + Bean; - } - console.error('context item ' + beanName + ' is not a bean'); - return; - } - var beanEntry = { - bean: Bean, - beanInstance: null, - beanName: metaData.beanName - }; - this.beans[metaData.beanName] = beanEntry; - }; - Context.prototype.autoWireBeans = function (beans) { - var _this = this; - beans.forEach(function (bean) { return _this.autoWireBean(bean); }); - }; - Context.prototype.methodWireBeans = function (beans) { - var _this = this; - beans.forEach(function (bean) { - if (!bean) - throw Error("Can't wire to bean since it is null"); - return _this.methodWireBean(bean); - }); - }; - Context.prototype.autoWireBean = function (bean) { - var _this = this; - var currentBean = bean; - var _loop_1 = function () { - var currentConstructor = currentBean.constructor; - if (currentConstructor.__agBeanMetaData - && currentConstructor.__agBeanMetaData.agClassAttributes) { - var attributes = currentConstructor.__agBeanMetaData.agClassAttributes; - if (!attributes) { - return { value: void 0 }; - } - var beanName_1 = this_1.getBeanName(currentConstructor); - attributes.forEach(function (attribute) { - var otherBean = _this.lookupBeanInstance(beanName_1, attribute.beanName, attribute.optional); - bean[attribute.attributeName] = otherBean; - }); - } - currentBean = Object.getPrototypeOf(currentBean) ? Object.getPrototypeOf(currentBean) : null; - }; - var this_1 = this; - while (currentBean != null) { - var state_1 = _loop_1(); - if (typeof state_1 === "object") - return state_1.value; - } - }; - Context.prototype.getBeanName = function (constructor) { - if (constructor.__agBeanMetaData && constructor.__agBeanMetaData.beanName) { - return constructor.__agBeanMetaData.beanName; - } - var constructorString = constructor.toString(); - var beanName = constructorString.substring(9, constructorString.indexOf('(')); - return beanName; - }; - Context.prototype.methodWireBean = function (bean) { - var _this = this; - var autowiredMethods; - if (bean.constructor.__agBeanMetaData && bean.constructor.__agBeanMetaData.autowireMethods) { - autowiredMethods = bean.constructor.__agBeanMetaData.autowireMethods; - } - utils_1.Utils.iterateObject(autowiredMethods, function (methodName, wireParams) { - // skip constructor, as this is dealt with elsewhere - if (methodName === 'agConstructor') { - return; - } - var beanName = _this.getBeanName(bean.constructor); - var initParams = _this.getBeansForParameters(wireParams, beanName); - bean[methodName].apply(bean, initParams); - }); - }; - Context.prototype.getBeansForParameters = function (parameters, beanName) { - var _this = this; - var beansList = []; - if (parameters) { - utils_1.Utils.iterateObject(parameters, function (paramIndex, otherBeanName) { - var otherBean = _this.lookupBeanInstance(beanName, otherBeanName); - beansList[Number(paramIndex)] = otherBean; - }); - } - return beansList; - }; - Context.prototype.lookupBeanInstance = function (wiringBean, beanName, optional) { - if (optional === void 0) { optional = false; } - if (beanName === 'context') { - return this; - } - else if (this.contextParams.seed && this.contextParams.seed.hasOwnProperty(beanName)) { - return this.contextParams.seed[beanName]; - } - else { - var beanEntry = this.beans[beanName]; - if (beanEntry) { - return beanEntry.beanInstance; - } - if (!optional) { - console.error('ag-Grid: unable to find bean reference ' + beanName + ' while initialising ' + wiringBean); - } - return null; - } - }; - Context.prototype.postConstruct = function (beans) { - beans.forEach(function (bean) { - // try calling init methods - if (bean.constructor.__agBeanMetaData && bean.constructor.__agBeanMetaData.postConstructMethods) { - bean.constructor.__agBeanMetaData && bean.constructor.__agBeanMetaData.postConstructMethods.forEach(function (methodName) { return bean[methodName](); }); - } - }); - }; - Context.prototype.preConstruct = function (beans) { - beans.forEach(function (bean) { - // try calling init methods - if (bean.constructor.__agBeanMetaData && bean.constructor.__agBeanMetaData.preConstructMethods) { - bean.constructor.__agBeanMetaData.preConstructMethods.forEach(function (methodName) { return bean[methodName](); }); - } - }); - }; - Context.prototype.getBean = function (name) { - return this.lookupBeanInstance('getBean', name, true); - }; - Context.prototype.destroy = function () { - // should only be able to destroy once - if (this.destroyed) { - return; - } - this.logger.log('>> Shutting down ag-Application Context'); - // try calling destroy methods - utils_1.Utils.iterateObject(this.beans, function (key, beanEntry) { - var bean = beanEntry.beanInstance; - if (bean.constructor.__agBeanMetaData && bean.constructor.__agBeanMetaData.preDestroyMethods) { - bean.constructor.__agBeanMetaData.preDestroyMethods.forEach(function (methodName) { return bean[methodName](); }); - } - }); - this.destroyed = true; - this.logger.log('>> ag-Application Context shut down - component is dead'); - }; - return Context; -}()); -exports.Context = Context; -// taken from: http://stackoverflow.com/questions/3362471/how-can-i-call-a-javascript-constructor-using-call-or-apply -// allows calling 'apply' on a constructor -function applyToConstructor(constructor, argArray) { - var args = [null].concat(argArray); - var factoryFunction = constructor.bind.apply(constructor, args); - return new factoryFunction(); -} -function PreConstruct(target, methodName, descriptor) { - var props = getOrCreateProps(target.constructor); - if (!props.postConstructMethods) { - props.preConstructMethods = []; - } - props.preConstructMethods.push(methodName); -} -exports.PreConstruct = PreConstruct; -function PostConstruct(target, methodName, descriptor) { - var props = getOrCreateProps(target.constructor); - if (!props.postConstructMethods) { - props.postConstructMethods = []; - } - props.postConstructMethods.push(methodName); -} -exports.PostConstruct = PostConstruct; -function PreDestroy(target, methodName, descriptor) { - var props = getOrCreateProps(target.constructor); - if (!props.preDestroyMethods) { - props.preDestroyMethods = []; - } - props.preDestroyMethods.push(methodName); -} -exports.PreDestroy = PreDestroy; -function Bean(beanName) { - return function (classConstructor) { - var props = getOrCreateProps(classConstructor); - props.beanName = beanName; - }; -} -exports.Bean = Bean; -function Autowired(name) { - return function (target, propertyKey, descriptor) { - autowiredFunc(target, name, false, target, propertyKey, null); - }; -} -exports.Autowired = Autowired; -function Optional(name) { - return function (target, propertyKey, descriptor) { - autowiredFunc(target, name, true, target, propertyKey, null); - }; -} -exports.Optional = Optional; -function autowiredFunc(target, name, optional, classPrototype, methodOrAttributeName, index) { - if (name === null) { - console.error('ag-Grid: Autowired name should not be null'); - return; - } - if (typeof index === 'number') { - console.error('ag-Grid: Autowired should be on an attribute'); - return; - } - // it's an attribute on the class - var props = getOrCreateProps(target.constructor); - if (!props.agClassAttributes) { - props.agClassAttributes = []; - } - props.agClassAttributes.push({ - attributeName: methodOrAttributeName, - beanName: name, - optional: optional - }); -} -function Qualifier(name) { - return function (classPrototype, methodOrAttributeName, index) { - var constructor = (typeof classPrototype == 'function') ? classPrototype : classPrototype.constructor; - var props; - if (typeof index === 'number') { - // it's a parameter on a method - var methodName = void 0; - if (methodOrAttributeName) { - props = getOrCreateProps(constructor); - methodName = methodOrAttributeName; - } - else { - props = getOrCreateProps(constructor); - methodName = 'agConstructor'; - } - if (!props.autowireMethods) { - props.autowireMethods = {}; - } - if (!props.autowireMethods[methodName]) { - props.autowireMethods[methodName] = {}; - } - props.autowireMethods[methodName][index] = name; - } - }; -} -exports.Qualifier = Qualifier; -function getOrCreateProps(target) { - if (!target.hasOwnProperty('__agBeanMetaData')) { - target.__agBeanMetaData = {}; - } - return target.__agBeanMetaData; -} - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var constants_1 = __webpack_require__(7); -var FUNCTION_STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; -var FUNCTION_ARGUMENT_NAMES = /([^\s,]+)/g; -var AG_GRID_STOP_PROPAGATION = '__ag_Grid_Stop_Propagation'; -// util class, only used when debugging, for printing time to console -var Timer = (function () { - function Timer() { - this.timestamp = new Date().getTime(); - } - Timer.prototype.print = function (msg) { - var duration = (new Date().getTime()) - this.timestamp; - console.log(msg + " = " + duration); - this.timestamp = new Date().getTime(); - }; - return Timer; -}()); -exports.Timer = Timer; -/** HTML Escapes. */ -var HTML_ESCAPES = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' -}; -var reUnescapedHtml = /[&<>"']/g; -var Utils = (function () { - function Utils() { - } - // if the key was passed before, then doesn't execute the func - Utils.doOnce = function (func, key) { - if (this.doOnceFlags[key]) { - return; - } - func(); - this.doOnceFlags[key] = true; - }; - // returns true if the event is close to the original event by X pixels either vertically or horizontally. - // we only start dragging after X pixels so this allows us to know if we should start dragging yet. - Utils.areEventsNear = function (e1, e2, pixelCount) { - // by default, we wait 4 pixels before starting the drag - if (pixelCount === 0) { - return false; - } - var diffX = Math.abs(e1.clientX - e2.clientX); - var diffY = Math.abs(e1.clientY - e2.clientY); - return Math.max(diffX, diffY) <= pixelCount; - }; - Utils.shallowCompare = function (arr1, arr2) { - // if both are missing, then they are the same - if (this.missing(arr1) && this.missing(arr2)) { - return true; - } - // if one is present, but other is missing, then then are different - if (this.missing(arr1) || this.missing(arr2)) { - return false; - } - if (arr1.length !== arr2.length) { - return false; - } - for (var i = 0; i < arr1.length; i++) { - if (arr1[i] !== arr2[i]) { - return false; - } - } - return true; - }; - Utils.getNameOfClass = function (TheClass) { - var funcNameRegex = /function (.{1,})\(/; - var funcAsString = TheClass.toString(); - var results = (funcNameRegex).exec(funcAsString); - return (results && results.length > 1) ? results[1] : ""; - }; - Utils.values = function (object) { - var result = []; - this.iterateObject(object, function (key, value) { - result.push(value); - }); - return result; - }; - Utils.getValueUsingField = function (data, field, fieldContainsDots) { - if (!field || !data) { - return; - } - // if no '.', then it's not a deep value - if (!fieldContainsDots) { - return data[field]; - } - else { - // otherwise it is a deep value, so need to dig for it - var fields = field.split('.'); - var currentObject = data; - for (var i = 0; i < fields.length; i++) { - currentObject = currentObject[fields[i]]; - if (this.missing(currentObject)) { - return null; - } - } - return currentObject; - } - }; - Utils.getScrollLeft = function (element, rtl) { - var scrollLeft = element.scrollLeft; - if (rtl) { - // Absolute value - for FF that reports RTL scrolls in negative numbers - scrollLeft = Math.abs(scrollLeft); - // Get Chrome and Safari to return the same value as well - if (this.isBrowserSafari() || this.isBrowserChrome()) { - scrollLeft = element.scrollWidth - element.clientWidth - scrollLeft; - } - } - return scrollLeft; - }; - Utils.cleanNumber = function (value) { - if (typeof value === 'string') { - value = parseInt(value); - } - if (typeof value === 'number') { - value = Math.floor(value); - } - else { - value = null; - } - return value; - }; - Utils.setScrollLeft = function (element, value, rtl) { - if (rtl) { - // Chrome and Safari when doing RTL have the END position of the scroll as zero, not the start - if (this.isBrowserSafari() || this.isBrowserChrome()) { - value = element.scrollWidth - element.clientWidth - value; - } - // Firefox uses negative numbers when doing RTL scrolling - if (this.isBrowserFirefox()) { - value *= -1; - } - } - element.scrollLeft = value; - }; - Utils.iterateObject = function (object, callback) { - if (this.missing(object)) { - return; - } - var keys = Object.keys(object); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var value = object[key]; - callback(key, value); - } - }; - Utils.cloneObject = function (object) { - var copy = {}; - var keys = Object.keys(object); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var value = object[key]; - copy[key] = value; - } - return copy; - }; - Utils.map = function (array, callback) { - var result = []; - for (var i = 0; i < array.length; i++) { - var item = array[i]; - var mappedItem = callback(item); - result.push(mappedItem); - } - return result; - }; - Utils.mapObject = function (object, callback) { - var result = []; - Utils.iterateObject(object, function (key, value) { - result.push(callback(value)); - }); - return result; - }; - Utils.forEach = function (array, callback) { - if (!array) { - return; - } - for (var i = 0; i < array.length; i++) { - var value = array[i]; - callback(value, i); - } - }; - Utils.filter = function (array, callback) { - var result = []; - array.forEach(function (item) { - if (callback(item)) { - result.push(item); - } - }); - return result; - }; - Utils.getAllKeysInObjects = function (objects) { - var allValues = {}; - objects.forEach(function (obj) { - if (obj) { - Object.keys(obj).forEach(function (key) { return allValues[key] = null; }); - } - }); - return Object.keys(allValues); - }; - Utils.mergeDeep = function (dest, source) { - if (this.exists(source)) { - this.iterateObject(source, function (key, newValue) { - var oldValue = dest[key]; - if (oldValue === newValue) { - return; - } - if (typeof oldValue === 'object' && typeof newValue === 'object') { - Utils.mergeDeep(oldValue, newValue); - } - else { - dest[key] = newValue; - } - }); - } - }; - Utils.assign = function (object) { - var _this = this; - var sources = []; - for (var _i = 1; _i < arguments.length; _i++) { - sources[_i - 1] = arguments[_i]; - } - sources.forEach(function (source) { - if (_this.exists(source)) { - _this.iterateObject(source, function (key, value) { - object[key] = value; - }); - } - }); - return object; - }; - Utils.parseYyyyMmDdToDate = function (yyyyMmDd, separator) { - try { - if (!yyyyMmDd) - return null; - if (yyyyMmDd.indexOf(separator) === -1) - return null; - var fields = yyyyMmDd.split(separator); - if (fields.length != 3) - return null; - return new Date(Number(fields[0]), Number(fields[1]) - 1, Number(fields[2])); - } - catch (e) { - return null; - } - }; - Utils.serializeDateToYyyyMmDd = function (date, separator) { - if (!date) - return null; - return date.getFullYear() + separator + Utils.pad(date.getMonth() + 1, 2) + separator + Utils.pad(date.getDate(), 2); - }; - Utils.pad = function (num, totalStringSize) { - var asString = num + ""; - while (asString.length < totalStringSize) - asString = "0" + asString; - return asString; - }; - Utils.pushAll = function (target, source) { - if (this.missing(source) || this.missing(target)) { - return; - } - source.forEach(function (func) { return target.push(func); }); - }; - Utils.createArrayOfNumbers = function (first, last) { - var result = []; - for (var i = first; i <= last; i++) { - result.push(i); - } - return result; - }; - Utils.getFunctionParameters = function (func) { - var fnStr = func.toString().replace(FUNCTION_STRIP_COMMENTS, ''); - var result = fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(FUNCTION_ARGUMENT_NAMES); - if (result === null) { - return []; - } - else { - return result; - } - }; - Utils.find = function (collection, predicate, value) { - if (collection === null || collection === undefined) { - return null; - } - if (!Array.isArray(collection)) { - var objToArray = this.values(collection); - return this.find(objToArray, predicate, value); - } - var collectionAsArray = collection; - var firstMatchingItem; - for (var i = 0; i < collectionAsArray.length; i++) { - var item = collectionAsArray[i]; - if (typeof predicate === 'string') { - if (item[predicate] === value) { - firstMatchingItem = item; - break; - } - } - else { - var callback = predicate; - if (callback(item)) { - firstMatchingItem = item; - break; - } - } - } - return firstMatchingItem; - }; - Utils.toStrings = function (array) { - return this.map(array, function (item) { - if (item === undefined || item === null || !item.toString) { - return null; - } - else { - return item.toString(); - } - }); - }; - Utils.iterateArray = function (array, callback) { - for (var index = 0; index < array.length; index++) { - var value = array[index]; - callback(value, index); - } - }; - //Returns true if it is a DOM node - //taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object - Utils.isNode = function (o) { - return (typeof Node === "function" ? o instanceof Node : - o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string"); - }; - //Returns true if it is a DOM element - //taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object - Utils.isElement = function (o) { - return (typeof HTMLElement === "function" ? o instanceof HTMLElement : - o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string"); - }; - Utils.isNodeOrElement = function (o) { - return this.isNode(o) || this.isElement(o); - }; - Utils.isEventFromPrintableCharacter = function (event) { - var pressedChar = String.fromCharCode(event.charCode); - // newline is an exception, as it counts as a printable character, but we don't - // want to start editing when it is pressed. without this check, if user is in chrome - // and editing a cell, and they press ctrl+enter, the cell stops editing, and then - // starts editing again with a blank value (two 'key down' events are fired). to - // test this, remove the line below, edit a cell in chrome and hit ctrl+enter while editing. - // https://ag-grid.atlassian.net/browse/AG-605 - if (this.isKeyPressed(event, constants_1.Constants.KEY_NEW_LINE)) { - return false; - } - if (exports._.exists(event.key)) { - // modern browser will implement key, so we return if key is length 1, eg if it is 'a' for the - // a key, or '2' for the '2' key. non-printable characters have names, eg 'Enter' or 'Backspace'. - return event.key.length === 1; - } - else { - // otherwise, for older browsers, we test against a list of characters, which doesn't include - // accents for non-English, but don't care much, as most users are on modern browsers - return Utils.PRINTABLE_CHARACTERS.indexOf(pressedChar) >= 0; - } - }; - //adds all type of change listeners to an element, intended to be a text field - Utils.addChangeListener = function (element, listener) { - element.addEventListener("changed", listener); - element.addEventListener("paste", listener); - element.addEventListener("input", listener); - // IE doesn't fire changed for special keys (eg delete, backspace), so need to - // listen for this further ones - element.addEventListener("keydown", listener); - element.addEventListener("keyup", listener); - }; - //if value is undefined, null or blank, returns null, otherwise returns the value - Utils.makeNull = function (value) { - if (value === null || value === undefined || value === "") { - return null; - } - else { - return value; - } - }; - Utils.missing = function (value) { - return !this.exists(value); - }; - Utils.missingOrEmpty = function (value) { - return this.missing(value) || value.length === 0; - }; - Utils.missingOrEmptyObject = function (value) { - return this.missing(value) || Object.keys(value).length === 0; - }; - Utils.exists = function (value) { - if (value === null || value === undefined || value === '') { - return false; - } - else { - return true; - } - }; - Utils.firstExistingValue = function () { - var values = []; - for (var _i = 0; _i < arguments.length; _i++) { - values[_i] = arguments[_i]; - } - for (var i = 0; i < values.length; i++) { - var value = values[i]; - if (exports._.exists(value)) - return value; - } - return null; - }; - Utils.anyExists = function (values) { - if (values) { - for (var i = 0; i < values.length; i++) { - if (this.exists(values[i])) { - return true; - } - } - } - return false; - }; - Utils.existsAndNotEmpty = function (value) { - return this.exists(value) && value.length > 0; - }; - Utils.removeAllChildren = function (node) { - if (node) { - while (node.hasChildNodes()) { - node.removeChild(node.lastChild); - } - } - }; - Utils.removeElement = function (parent, cssSelector) { - this.removeFromParent(parent.querySelector(cssSelector)); - }; - Utils.removeFromParent = function (node) { - if (node && node.parentNode) { - node.parentNode.removeChild(node); - } - }; - Utils.isVisible = function (element) { - return (element.offsetParent !== null); - }; - /** - * loads the template and returns it as an element. makes up for no simple way in - * the dom api to load html directly, eg we cannot do this: document.createElement(template) - */ - Utils.loadTemplate = function (template) { - var tempDiv = document.createElement("div"); - tempDiv.innerHTML = template; - return tempDiv.firstChild; - }; - Utils.appendHtml = function (eContainer, htmlTemplate) { - if (eContainer.lastChild) { - // https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML - // we put the items at the start, so new items appear underneath old items, - // so when expanding/collapsing groups, the new rows don't go on top of the - // rows below that are moving our of the way - eContainer.insertAdjacentHTML('afterbegin', htmlTemplate); - } - else { - eContainer.innerHTML = htmlTemplate; - } - }; - Utils.addOrRemoveCssClass = function (element, className, addOrRemove) { - if (addOrRemove) { - this.addCssClass(element, className); - } - else { - this.removeCssClass(element, className); - } - }; - Utils.callIfPresent = function (func) { - if (func) { - func(); - } - }; - Utils.addCssClass = function (element, className) { - var _this = this; - if (!className || className.length === 0) { - return; - } - if (className.indexOf(' ') >= 0) { - className.split(' ').forEach(function (value) { return _this.addCssClass(element, value); }); - return; - } - if (element.classList) { - element.classList.add(className); - } - else { - if (element.className && element.className.length > 0) { - var cssClasses = element.className.split(' '); - if (cssClasses.indexOf(className) < 0) { - cssClasses.push(className); - element.className = cssClasses.join(' '); - } - } - else { - element.className = className; - } - } - }; - Utils.containsClass = function (element, className) { - if (element.classList) { - // for modern browsers - return element.classList.contains(className); - } - else if (element.className) { - // for older browsers, check against the string of class names - // if only one class, can check for exact match - var onlyClass = element.className === className; - // if many classes, check for class name, we have to pad with ' ' to stop other - // class names that are a substring of this class - var contains = element.className.indexOf(' ' + className + ' ') >= 0; - // the padding above then breaks when it's the first or last class names - var startsWithClass = element.className.indexOf(className + ' ') === 0; - var endsWithClass = element.className.lastIndexOf(' ' + className) === (element.className.length - className.length - 1); - return onlyClass || contains || startsWithClass || endsWithClass; - } - else { - // if item is not a node - return false; - } - }; - Utils.getElementAttribute = function (element, attributeName) { - if (element.attributes) { - if (element.attributes[attributeName]) { - var attribute = element.attributes[attributeName]; - return attribute.value; - } - else { - return null; - } - } - else { - return null; - } - }; - Utils.offsetHeight = function (element) { - return element && element.clientHeight ? element.clientHeight : 0; - }; - Utils.offsetWidth = function (element) { - return element && element.clientWidth ? element.clientWidth : 0; - }; - Utils.sortNumberArray = function (numberArray) { - numberArray.sort(function (a, b) { return a - b; }); - }; - Utils.removeCssClass = function (element, className) { - if (element.classList) { - element.classList.remove(className); - } - else { - if (element.className && element.className.length > 0) { - var cssClasses = element.className.split(' '); - if (cssClasses.indexOf(className) >= 0) { - // remove all instances of the item, not just the first, in case it's in more than once - while (cssClasses.indexOf(className) >= 0) { - cssClasses.splice(cssClasses.indexOf(className), 1); - } - element.className = cssClasses.join(' '); - } - } - } - }; - Utils.removeRepeatsFromArray = function (array, object) { - if (!array) { - return; - } - for (var index = array.length - 2; index >= 0; index--) { - var thisOneMatches = array[index] === object; - var nextOneMatches = array[index + 1] === object; - if (thisOneMatches && nextOneMatches) { - array.splice(index + 1, 1); - } - } - }; - Utils.removeFromArray = function (array, object) { - if (array.indexOf(object) >= 0) { - array.splice(array.indexOf(object), 1); - } - }; - Utils.removeAllFromArray = function (array, toRemove) { - toRemove.forEach(function (item) { - if (array.indexOf(item) >= 0) { - array.splice(array.indexOf(item), 1); - } - }); - }; - Utils.insertIntoArray = function (array, object, toIndex) { - array.splice(toIndex, 0, object); - }; - Utils.insertArrayIntoArray = function (dest, src, toIndex) { - if (this.missing(dest) || this.missing(src)) { - return; - } - // put items in backwards, otherwise inserted items end up in reverse order - for (var i = src.length - 1; i >= 0; i--) { - var item = src[i]; - this.insertIntoArray(dest, item, toIndex); - } - }; - Utils.moveInArray = function (array, objectsToMove, toIndex) { - var _this = this; - // first take out it items from the array - objectsToMove.forEach(function (obj) { - _this.removeFromArray(array, obj); - }); - // now add the objects, in same order as provided to us, that means we start at the end - // as the objects will be pushed to the right as they are inserted - objectsToMove.slice().reverse().forEach(function (obj) { - _this.insertIntoArray(array, obj, toIndex); - }); - }; - Utils.defaultComparator = function (valueA, valueB, accentedCompare) { - if (accentedCompare === void 0) { accentedCompare = false; } - var valueAMissing = valueA === null || valueA === undefined; - var valueBMissing = valueB === null || valueB === undefined; - // this is for aggregations sum and avg, where the result can be a number that is wrapped. - // if we didn't do this, then the toString() value would be used, which would result in - // the strings getting used instead of the numbers. - if (valueA && valueA.toNumber) { - valueA = valueA.toNumber(); - } - if (valueB && valueB.toNumber) { - valueB = valueB.toNumber(); - } - if (valueAMissing && valueBMissing) { - return 0; - } - if (valueAMissing) { - return -1; - } - if (valueBMissing) { - return 1; - } - if (typeof valueA === "string") { - if (!accentedCompare) { - return doQuickCompare(valueA, valueB); - } - else { - try { - // using local compare also allows chinese comparisons - return valueA.localeCompare(valueB); - } - catch (e) { - // if something wrong with localeCompare, eg not supported - // by browser, then just continue with the quick one - return doQuickCompare(valueA, valueB); - } - } - } - if (valueA < valueB) { - return -1; - } - else if (valueA > valueB) { - return 1; - } - else { - return 0; - } - function doQuickCompare(a, b) { - return (a > b ? 1 : (a < b ? -1 : 0)); - } - }; - Utils.compareArrays = function (array1, array2) { - if (this.missing(array1) && this.missing(array2)) { - return true; - } - if (this.missing(array1) || this.missing(array2)) { - return false; - } - if (array1.length !== array2.length) { - return false; - } - for (var i = 0; i < array1.length; i++) { - if (array1[i] !== array2[i]) { - return false; - } - } - return true; - }; - Utils.ensureDomOrder = function (eContainer, eChild, eChildBefore) { - // if already in right order, do nothing - if (eChildBefore && eChildBefore.nextSibling === eChild) { - return; - } - if (eChildBefore) { - if (eChildBefore.nextSibling) { - // insert between the eRowBefore and the row after it - eContainer.insertBefore(eChild, eChildBefore.nextSibling); - } - else { - // if nextSibling is missing, means other row is at end, so just append new row at the end - eContainer.appendChild(eChild); - } - } - else { - // otherwise put at start - if (eContainer.firstChild) { - // insert it at the first location - eContainer.insertBefore(eChild, eContainer.firstChild); - } - } - }; - Utils.insertWithDomOrder = function (eContainer, eChild, eChildBefore) { - if (eChildBefore) { - if (eChildBefore.nextSibling) { - // insert between the eRowBefore and the row after it - eContainer.insertBefore(eChild, eChildBefore.nextSibling); - } - else { - // if nextSibling is missing, means other row is at end, so just append new row at the end - eContainer.appendChild(eChild); - } - } - else { - if (eContainer.firstChild) { - // insert it at the first location - eContainer.insertBefore(eChild, eContainer.firstChild); - } - else { - // otherwise eContainer is empty, so just append it - eContainer.appendChild(eChild); - } - } - }; - Utils.insertTemplateWithDomOrder = function (eContainer, htmlTemplate, eChildBefore) { - var res; - if (eChildBefore) { - // if previous element exists, just slot in after the previous element - eChildBefore.insertAdjacentHTML('afterend', htmlTemplate); - res = eChildBefore.nextSibling; - } - else { - if (eContainer.firstChild) { - // insert it at the first location - eContainer.insertAdjacentHTML('afterbegin', htmlTemplate); - } - else { - // otherwise eContainer is empty, so just append it - eContainer.innerHTML = htmlTemplate; - } - res = eContainer.firstChild; - } - return res; - }; - Utils.toStringOrNull = function (value) { - if (this.exists(value) && value.toString) { - return value.toString(); - } - else { - return null; - } - }; - Utils.formatWidth = function (width) { - if (typeof width === "number") { - return width + "px"; - } - else { - return width; - } - }; - Utils.formatNumberTwoDecimalPlacesAndCommas = function (value) { - if (typeof value !== 'number') { - return ''; - } - // took this from: http://blog.tompawlak.org/number-currency-formatting-javascript - return (Math.round(value * 100) / 100).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); - }; - // the native method number.toLocaleString(undefined, {minimumFractionDigits: 0}) puts in decimal places in IE, - // so we use this method instead - Utils.formatNumberCommas = function (value) { - if (typeof value !== 'number') { - return ''; - } - // took this from: http://blog.tompawlak.org/number-currency-formatting-javascript - return value.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); - }; - Utils.prependDC = function (parent, documentFragment) { - if (this.exists(parent.firstChild)) { - parent.insertBefore(documentFragment, parent.firstChild); - } - else { - parent.appendChild(documentFragment); - } - }; - /** - * If icon provided, use this (either a string, or a function callback). - * if not, then use the default icon from the theme - */ - Utils.createIcon = function (iconName, gridOptionsWrapper, column) { - var iconContents = this.createIconNoSpan(iconName, gridOptionsWrapper, column); - if (iconContents.className.indexOf('ag-icon') > -1) { - return iconContents; - } - else { - var eResult = document.createElement('span'); - eResult.appendChild(iconContents); - return eResult; - } - }; - Utils.createIconNoSpan = function (iconName, gridOptionsWrapper, column) { - var userProvidedIcon; - // check col for icon first - if (column && column.getColDef().icons) { - userProvidedIcon = column.getColDef().icons[iconName]; - } - // it not in col, try grid options - if (!userProvidedIcon && gridOptionsWrapper.getIcons()) { - userProvidedIcon = gridOptionsWrapper.getIcons()[iconName]; - } - // now if user provided, use it - if (userProvidedIcon) { - var rendererResult = void 0; - if (typeof userProvidedIcon === 'function') { - rendererResult = userProvidedIcon(); - } - else if (typeof userProvidedIcon === 'string') { - rendererResult = userProvidedIcon; - } - else { - throw 'icon from grid options needs to be a string or a function'; - } - if (typeof rendererResult === 'string') { - return this.loadTemplate(rendererResult); - } - else if (this.isNodeOrElement(rendererResult)) { - return rendererResult; - } - else { - throw 'iconRenderer should return back a string or a dom object'; - } - } - else { - var span = document.createElement('span'); - var cssClass = this.iconNameClassMap[iconName]; - if (!cssClass) { - throw new Error(iconName + " did not find class"); - } - span.setAttribute("class", "ag-icon ag-icon-" + cssClass); - return span; - } - }; - Utils.addStylesToElement = function (eElement, styles) { - var _this = this; - if (!styles) { - return; - } - Object.keys(styles).forEach(function (key) { - var keyCamelCase = _this.hyphenToCamelCase(key); - eElement.style[keyCamelCase] = styles[key]; - }); - }; - Utils.isHorizontalScrollShowing = function (element) { - return element.clientWidth < element.scrollWidth; - }; - Utils.isVerticalScrollShowing = function (element) { - return element.clientHeight < element.scrollHeight; - }; - Utils.getScrollbarWidth = function () { - var outer = document.createElement("div"); - outer.style.visibility = "hidden"; - outer.style.width = "100px"; - outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps - document.body.appendChild(outer); - var widthNoScroll = outer.offsetWidth; - // force scrollbars - outer.style.overflow = "scroll"; - // add innerdiv - var inner = document.createElement("div"); - inner.style.width = "100%"; - outer.appendChild(inner); - var widthWithScroll = inner.offsetWidth; - // remove divs - outer.parentNode.removeChild(outer); - return widthNoScroll - widthWithScroll; - }; - Utils.isKeyPressed = function (event, keyToCheck) { - var pressedKey = event.which || event.keyCode; - return pressedKey === keyToCheck; - }; - Utils.setVisible = function (element, visible) { - this.addOrRemoveCssClass(element, 'ag-hidden', !visible); - }; - Utils.setHidden = function (element, hidden) { - this.addOrRemoveCssClass(element, 'ag-visibility-hidden', hidden); - }; - Utils.isBrowserIE = function () { - if (this.isIE === undefined) { - this.isIE = false || !!document.documentMode; // At least IE6 - } - return this.isIE; - }; - Utils.isBrowserEdge = function () { - if (this.isEdge === undefined) { - this.isEdge = !this.isBrowserIE() && !!window.StyleMedia; - } - return this.isEdge; - }; - Utils.isBrowserSafari = function () { - if (this.isSafari === undefined) { - var anyWindow = window; - // taken from https://github.com/ag-grid/ag-grid/issues/550 - this.isSafari = Object.prototype.toString.call(anyWindow.HTMLElement).indexOf('Constructor') > 0 - || (function (p) { - return p.toString() === "[object SafariRemoteNotification]"; - })(!anyWindow.safari || anyWindow.safari.pushNotification); - } - return this.isSafari; - }; - Utils.isBrowserChrome = function () { - if (this.isChrome === undefined) { - var anyWindow = window; - this.isChrome = !!anyWindow.chrome && !!anyWindow.chrome.webstore; - } - return this.isChrome; - }; - Utils.isBrowserFirefox = function () { - if (this.isFirefox === undefined) { - var anyWindow = window; - this.isFirefox = typeof anyWindow.InstallTrigger !== 'undefined'; - } - return this.isFirefox; - }; - Utils.isUserAgentIPad = function () { - if (this.isIPad === undefined) { - // taken from https://davidwalsh.name/detect-ipad - this.isIPad = navigator.userAgent.match(/iPad/i) != null; - } - return this.isIPad; - }; - // srcElement is only available in IE. In all other browsers it is target - // http://stackoverflow.com/questions/5301643/how-can-i-make-event-srcelement-work-in-firefox-and-what-does-it-mean - Utils.getTarget = function (event) { - var eventNoType = event; - return eventNoType.target || eventNoType.srcElement; - }; - Utils.isElementInEventPath = function (element, event) { - if (!event || !element) { - return false; - } - var path = exports._.getEventPath(event); - return path.indexOf(element) >= 0; - }; - Utils.createEventPath = function (event) { - var res = []; - var pointer = exports._.getTarget(event); - while (pointer) { - res.push(pointer); - pointer = pointer.parentElement; - } - return res; - }; - // firefox doesn't have event.path set, or any alternative to it, so we hack - // it in. this is needed as it's to late to work out the path when the item is - // removed from the dom - Utils.addAgGridEventPath = function (event) { - event.__agGridEventPath = this.getEventPath(event); - }; - Utils.getEventPath = function (event) { - // https://stackoverflow.com/questions/39245488/event-path-undefined-with-firefox-and-vue-js - // https://developer.mozilla.org/en-US/docs/Web/API/Event - var eventNoType = event; - if (event.deepPath) { - // IE supports deep path - return event.deepPath(); - } - else if (eventNoType.path) { - // Chrome supports path - return eventNoType.path; - } - else if (eventNoType.composedPath) { - // Firefox supports composePath - return eventNoType.composedPath(); - } - else if (eventNoType.__agGridEventPath) { - // Firefox supports composePath - return eventNoType.__agGridEventPath; - } - else { - // and finally, if none of the above worked, - // we create the path ourselves - return this.createEventPath(event); - } - }; - Utils.forEachSnapshotFirst = function (list, callback) { - if (list) { - var arrayCopy = list.slice(0); - arrayCopy.forEach(callback); - } - }; - // taken from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code - Utils.getBodyWidth = function () { - if (document.body) { - return document.body.clientWidth; - } - if (window.innerHeight) { - return window.innerWidth; - } - if (document.documentElement && document.documentElement.clientWidth) { - return document.documentElement.clientWidth; - } - return -1; - }; - // taken from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code - Utils.getBodyHeight = function () { - if (document.body) { - return document.body.clientHeight; - } - if (window.innerHeight) { - return window.innerHeight; - } - if (document.documentElement && document.documentElement.clientHeight) { - return document.documentElement.clientHeight; - } - return -1; - }; - Utils.setCheckboxState = function (eCheckbox, state) { - if (typeof state === 'boolean') { - eCheckbox.checked = state; - eCheckbox.indeterminate = false; - } - else { - // isNodeSelected returns back undefined if it's a group and the children - // are a mix of selected and unselected - eCheckbox.indeterminate = true; - } - }; - Utils.traverseNodesWithKey = function (nodes, callback) { - var keyParts = []; - recursiveSearchNodes(nodes); - function recursiveSearchNodes(nodes) { - nodes.forEach(function (node) { - if (node.group) { - keyParts.push(node.key); - var key = keyParts.join('|'); - callback(node, key); - recursiveSearchNodes(node.childrenAfterGroup); - keyParts.pop(); - } - }); - } - }; - // from https://gist.github.com/youssman/745578062609e8acac9f - Utils.camelCaseToHyphen = function (str) { - if (str === null || str === undefined) { - return null; - } - return str.replace(/([A-Z])/g, function (g) { return '-' + g[0].toLowerCase(); }); - }; - // from https://stackoverflow.com/questions/6660977/convert-hyphens-to-camel-case-camelcase - Utils.hyphenToCamelCase = function (str) { - if (str === null || str === undefined) { - return null; - } - return str.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); }); - }; - // pas in an object eg: {color: 'black', top: '25px'} and it returns "color: black; top: 25px;" for html - Utils.cssStyleObjectToMarkup = function (stylesToUse) { - var _this = this; - if (!stylesToUse) { - return ''; - } - var resParts = []; - this.iterateObject(stylesToUse, function (styleKey, styleValue) { - var styleKeyDashed = _this.camelCaseToHyphen(styleKey); - resParts.push(styleKeyDashed + ": " + styleValue + ";"); - }); - return resParts.join(' '); - }; - /** - * From http://stackoverflow.com/questions/9716468/is-there-any-function-like-isnumeric-in-javascript-to-validate-numbers - */ - Utils.isNumeric = function (value) { - if (value === '') - return false; - return !isNaN(parseFloat(value)) && isFinite(value); - }; - Utils.escape = function (toEscape) { - if (toEscape === null || toEscape === undefined || !toEscape.replace) { - return toEscape; - } - return toEscape.replace(reUnescapedHtml, function (chr) { return HTML_ESCAPES[chr]; }); - }; - // Taken from here: https://github.com/facebook/fixed-data-table/blob/master/src/vendor_upstream/dom/normalizeWheel.js - /** - * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is - * complicated, thus this doc is long and (hopefully) detailed enough to answer - * your questions. - * - * If you need to react to the mouse wheel in a predictable way, this code is - * like your bestest friend. * hugs * - * - * As of today, there are 4 DOM event types you can listen to: - * - * 'wheel' -- Chrome(31+), FF(17+), IE(9+) - * 'mousewheel' -- Chrome, IE(6+), Opera, Safari - * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! - * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 - * - * So what to do? The is the best: - * - * normalizeWheel.getEventType(); - * - * In your event callback, use this code to get sane interpretation of the - * deltas. This code will return an object with properties: - * - * spinX -- normalized spin speed (use for zoom) - x plane - * spinY -- " - y plane - * pixelX -- normalized distance (to pixels) - x plane - * pixelY -- " - y plane - * - * Wheel values are provided by the browser assuming you are using the wheel to - * scroll a web page by a number of lines or pixels (or pages). Values can vary - * significantly on different platforms and browsers, forgetting that you can - * scroll at different speeds. Some devices (like trackpads) emit more events - * at smaller increments with fine granularity, and some emit massive jumps with - * linear speed or acceleration. - * - * This code does its best to normalize the deltas for you: - * - * - spin is trying to normalize how far the wheel was spun (or trackpad - * dragged). This is super useful for zoom support where you want to - * throw away the chunky scroll steps on the PC and make those equal to - * the slow and smooth tiny steps on the Mac. Key data: This code tries to - * resolve a single slow step on a wheel to 1. - * - * - pixel is normalizing the desired scroll delta in pixel units. You'll - * get the crazy differences between browsers, but at least it'll be in - * pixels! - * - * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This - * should translate to positive value zooming IN, negative zooming OUT. - * This matches the newer 'wheel' event. - * - * Why are there spinX, spinY (or pixels)? - * - * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn - * with a mouse. It results in side-scrolling in the browser by default. - * - * - spinY is what you expect -- it's the classic axis of a mouse wheel. - * - * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and - * probably is by browsers in conjunction with fancy 3D controllers .. but - * you know. - * - * Implementation info: - * - * Examples of 'wheel' event if you scroll slowly (down) by one step with an - * average mouse: - * - * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) - * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) - * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) - * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) - * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) - * - * On the trackpad: - * - * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) - * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) - * - * On other/older browsers.. it's more complicated as there can be multiple and - * also missing delta values. - * - * The 'wheel' event is more standard: - * - * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents - * - * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and - * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain - * backward compatibility with older events. Those other values help us - * better normalize spin speed. Example of what the browsers provide: - * - * | event.wheelDelta | event.detail - * ------------------+------------------+-------------- - * Safari v5/OS X | -120 | 0 - * Safari v5/Win7 | -120 | 0 - * Chrome v17/OS X | -120 | 0 - * Chrome v17/Win7 | -120 | 0 - * IE9/Win7 | -120 | undefined - * Firefox v4/OS X | undefined | 1 - * Firefox v4/Win7 | undefined | 3 - * - */ - Utils.normalizeWheel = function (event) { - var PIXEL_STEP = 10; - var LINE_HEIGHT = 40; - var PAGE_HEIGHT = 800; - // spinX, spinY - var sX = 0; - var sY = 0; - // pixelX, pixelY - var pX = 0; - var pY = 0; - // Legacy - if ('detail' in event) { - sY = event.detail; - } - if ('wheelDelta' in event) { - sY = -event.wheelDelta / 120; - } - if ('wheelDeltaY' in event) { - sY = -event.wheelDeltaY / 120; - } - if ('wheelDeltaX' in event) { - sX = -event.wheelDeltaX / 120; - } - // side scrolling on FF with DOMMouseScroll - if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) { - sX = sY; - sY = 0; - } - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - if ('deltaY' in event) { - pY = event.deltaY; - } - if ('deltaX' in event) { - pX = event.deltaX; - } - if ((pX || pY) && event.deltaMode) { - if (event.deltaMode == 1) { - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } - else { - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - // Fall-back if spin cannot be determined - if (pX && !sX) { - sX = (pX < 1) ? -1 : 1; - } - if (pY && !sY) { - sY = (pY < 1) ? -1 : 1; - } - return { - spinX: sX, - spinY: sY, - pixelX: pX, - pixelY: pY - }; - }; - /** - * https://stackoverflow.com/questions/24004791/can-someone-explain-the-debounce-function-in-javascript - */ - Utils.debounce = function (func, wait, immediate) { - if (immediate === void 0) { immediate = false; } - // 'private' variable for instance - // The returned function will be able to reference this due to closure. - // Each call to the returned function will share this common timer. - var timeout; - // Calling debounce returns a new anonymous function - return function () { - // reference the context and args for the setTimeout function - var context = this, args = arguments; - // Should the function be called now? If immediate is true - // and not already in a timeout then the answer is: Yes - var callNow = immediate && !timeout; - // This is the basic debounce behaviour where you can call this - // function several times, but it will only execute once - // [before or after imposing a delay]. - // Each time the returned function is called, the timer starts over. - clearTimeout(timeout); - // Set the new timeout - timeout = setTimeout(function () { - // Inside the timeout function, clear the timeout variable - // which will let the next execution run when in 'immediate' mode - timeout = null; - // Check if the function already ran with the immediate flag - if (!immediate) { - // Call the original function with apply - // apply lets you define the 'this' object as well as the arguments - // (both captured before setTimeout) - func.apply(context, args); - } - }, wait); - // Immediate mode and no wait timer? Execute the function.. - if (callNow) - func.apply(context, args); - }; - }; - ; - // a user once raised an issue - they said that when you opened a popup (eg context menu) - // and then clicked on a selection checkbox, the popup wasn't closed. this is because the - // popup listens for clicks on the body, however ag-grid WAS stopping propagation on the - // checkbox clicks (so the rows didn't pick them up as row selection selection clicks). - // to get around this, we have a pattern to stop propagation for the purposes of ag-Grid, - // but we still let the event pass back to teh body. - Utils.stopPropagationForAgGrid = function (event) { - event[AG_GRID_STOP_PROPAGATION] = true; - }; - Utils.isStopPropagationForAgGrid = function (event) { - return event[AG_GRID_STOP_PROPAGATION] === true; - }; - Utils.executeInAWhile = function (funcs) { - this.executeAfter(funcs, 400); - }; - Utils.executeNextVMTurn = function (funcs) { - this.executeAfter(funcs, 0); - }; - Utils.executeAfter = function (funcs, millis) { - if (funcs.length > 0) { - setTimeout(function () { - funcs.forEach(function (func) { return func(); }); - }, millis); - } - }; - Utils.referenceCompare = function (left, right) { - if (left == null && right == null) - return true; - if (left == null && right) - return false; - if (left && right == null) - return false; - return left === right; - }; - Utils.get = function (source, expression, defaultValue) { - if (source == null) - return defaultValue; - if (expression.indexOf('.') > -1) { - var fields = expression.split('.'); - var thisKey = fields[0]; - var nextValue = source[thisKey]; - if (nextValue != null) { - return Utils.get(nextValue, fields.slice(1, fields.length).join('.'), defaultValue); - } - else { - return defaultValue; - } - } - else { - var nextValue = source[expression]; - return nextValue != null ? nextValue : defaultValue; - } - }; - Utils.addSafePassiveEventListener = function (eElement, event, listener) { - eElement.addEventListener(event, listener, (Utils.passiveEvents.indexOf(event) > -1 ? { passive: true } : undefined)); - }; - Utils.camelCaseToHumanText = function (camelCase) { - if (camelCase == null) - return null; - // Who needs to learn how to code when you have stack overflow! - // from: https://stackoverflow.com/questions/15369566/putting-space-in-camel-case-string-using-regular-expression - var rex = /([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g; - var words = camelCase.replace(rex, '$1$4 $2$3$5').replace('.', ' ').split(' '); - return words.map(function (word) { return word.substring(0, 1).toUpperCase() + ((word.length > 1) ? word.substring(1, word.length) : ''); }).join(' '); - }; - // displays a message to the browser. this is useful in iPad, where you can't easily see the console. - // so the javascript code can use this to give feedback. this is NOT intended to be called in production. - // it is intended the ag-Grid developer calls this to troubleshoot, but then takes out the calls before - // checking in. - Utils.message = function (msg) { - var eMessage = document.createElement('div'); - eMessage.innerHTML = msg; - var eBox = document.querySelector('#__ag__message'); - if (!eBox) { - var template = "
"; - eBox = this.loadTemplate(template); - if (document.body) { - document.body.appendChild(eBox); - } - } - eBox.appendChild(eMessage); - }; - // gets called by: a) InMemoryRowNodeManager and b) GroupStage to do sorting. - // when in InMemoryRowNodeManager we always have indexes (as this sorts the items the - // user provided) but when in GroupStage, the nodes can contain filler nodes that - // don't have order id's - Utils.sortRowNodesByOrder = function (rowNodes, rowNodeOrder) { - if (!rowNodes) { - return; - } - rowNodes.sort(function (nodeA, nodeB) { - var positionA = rowNodeOrder[nodeA.id]; - var positionB = rowNodeOrder[nodeB.id]; - var aHasIndex = positionA !== undefined; - var bHasIndex = positionB !== undefined; - var bothNodesAreUserNodes = aHasIndex && bHasIndex; - var bothNodesAreFillerNodes = !aHasIndex && !bHasIndex; - if (bothNodesAreUserNodes) { - // when comparing two nodes the user has provided, they always - // have indexes - return positionA - positionB; - } - else if (bothNodesAreFillerNodes) { - // when comparing two filler nodes, we have no index to compare them - // against, however we want this sorting to be deterministic, so that - // the rows don't jump around as the user does delta updates. so we - // want the same sort result. so we use the id - which doesn't make sense - // from a sorting point of view, but does give consistent behaviour between - // calls. otherwise groups jump around as delta updates are done. - return nodeA.id > nodeB.id ? 1 : -1; - } - else if (aHasIndex) { - return 1; - } - else { - return -1; - } - }); - }; - Utils.PRINTABLE_CHARACTERS = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!"£$%^&*()_+-=[];\'#,./\\|<>?:@~{}'; - Utils.doOnceFlags = {}; - // static prepend(parent: HTMLElement, child: HTMLElement): void { - // if (this.exists(parent.firstChild)) { - // parent.insertBefore(child, parent.firstChild); - // } else { - // parent.appendChild(child); - // } - // } - Utils.iconNameClassMap = { - 'columnMovePin': 'pin', - 'columnMoveAdd': 'plus', - 'columnMoveHide': 'eye-slash', - 'columnMoveMove': 'arrows', - 'columnMoveLeft': 'left', - 'columnMoveRight': 'right', - 'columnMoveGroup': 'group', - 'columnMoveValue': 'aggregation', - 'columnMovePivot': 'pivot', - 'dropNotAllowed': 'not-allowed', - 'groupContracted': 'expanded', - 'groupExpanded': 'contracted', - 'checkboxChecked': 'checkbox-checked', - 'checkboxUnchecked': 'checkbox-unchecked', - 'checkboxIndeterminate': 'checkbox-indeterminate', - 'checkboxCheckedReadOnly': 'checkbox-checked-readonly', - 'checkboxUncheckedReadOnly': 'checkbox-unchecked-readonly', - 'checkboxIndeterminateReadOnly': 'checkbox-indeterminate-readonly', - 'groupLoading': 'loading', - 'menu': 'menu', - 'filter': 'filter', - 'columns': 'columns', - 'menuPin': 'pin', - 'menuValue': 'aggregation', - 'menuAddRowGroup': 'group', - 'menuRemoveRowGroup': 'group', - 'clipboardCopy': 'copy', - 'clipboardCut': 'cut', - 'clipboardPaste': 'paste', - 'pivotPanel': 'pivot', - 'rowGroupPanel': 'group', - 'valuePanel': 'aggregation', - 'columnGroupOpened': 'expanded', - 'columnGroupClosed': 'contracted', - 'columnSelectClosed': 'tree-closed', - 'columnSelectOpen': 'tree-open', - // from deprecated header, remove at some point - 'sortAscending': 'asc', - 'sortDescending': 'desc', - 'sortUnSort': 'none' - }; - Utils.passiveEvents = ['touchstart', 'touchend', 'touchmove', 'touchcancel']; - return Utils; -}()); -exports.Utils = Utils; -var NumberSequence = (function () { - function NumberSequence(initValue, step) { - if (initValue === void 0) { initValue = 0; } - if (step === void 0) { step = 1; } - this.nextValue = initValue; - this.step = step; - } - NumberSequence.prototype.next = function () { - var valToReturn = this.nextValue; - this.nextValue += this.step; - return valToReturn; - }; - NumberSequence.prototype.peek = function () { - return this.nextValue; - }; - NumberSequence.prototype.skip = function (count) { - this.nextValue += count; - }; - return NumberSequence; -}()); -exports.NumberSequence = NumberSequence; -exports._ = Utils; -var PromiseStatus; -(function (PromiseStatus) { - PromiseStatus[PromiseStatus["IN_PROGRESS"] = 0] = "IN_PROGRESS"; - PromiseStatus[PromiseStatus["RESOLVED"] = 1] = "RESOLVED"; -})(PromiseStatus = exports.PromiseStatus || (exports.PromiseStatus = {})); -var Promise = (function () { - function Promise(callback) { - this.status = PromiseStatus.IN_PROGRESS; - this.resolution = null; - this.listOfWaiters = []; - callback(this.onDone.bind(this), this.onReject.bind(this)); - } - Promise.all = function (toCombine) { - return new Promise(function (resolve) { - var combinedValues = []; - var remainingToResolve = toCombine.length; - toCombine.forEach(function (source, index) { - source.then(function (sourceResolved) { - remainingToResolve--; - combinedValues[index] = sourceResolved; - if (remainingToResolve == 0) { - resolve(combinedValues); - } - }); - combinedValues.push(null); - }); - }); - }; - Promise.resolve = function (value) { - return new Promise(function (resolve) { return resolve(value); }); - }; - Promise.external = function () { - var capture; - var promise = new Promise(function (resolve) { - capture = resolve; - }); - return { - promise: promise, - resolve: function (value) { - capture(value); - } - }; - }; - Promise.prototype.then = function (func) { - if (this.status === PromiseStatus.IN_PROGRESS) { - this.listOfWaiters.push(func); - } - else { - func(this.resolution); - } - }; - Promise.prototype.map = function (adapter) { - var _this = this; - return new Promise(function (resolve) { - _this.then(function (unmapped) { - resolve(adapter(unmapped)); - }); - }); - }; - Promise.prototype.resolveNow = function (ifNotResolvedValue, ifResolved) { - if (this.status == PromiseStatus.IN_PROGRESS) - return ifNotResolvedValue; - return ifResolved(this.resolution); - }; - Promise.prototype.onDone = function (value) { - this.status = PromiseStatus.RESOLVED; - this.resolution = value; - this.listOfWaiters.forEach(function (waiter) { return waiter(value); }); - }; - Promise.prototype.onReject = function (params) { - console.warn('TBI'); - }; - return Promise; -}()); -exports.Promise = Promise; - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var eventService_1 = __webpack_require__(4); -var constants_1 = __webpack_require__(7); -var componentUtil_1 = __webpack_require__(61); -var gridApi_1 = __webpack_require__(6); -var context_1 = __webpack_require__(0); -var columnController_1 = __webpack_require__(3); -var utils_1 = __webpack_require__(1); -var environment_1 = __webpack_require__(57); -var DEFAULT_ROW_HEIGHT = 25; -var DEFAULT_DETAIL_ROW_HEIGHT = 300; -var DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE = 5; -var DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE = 5; -var legacyThemes = [ - 'ag-fresh', - 'ag-bootstrap', - 'ag-blue', - 'ag-dark', - 'ag-material' -]; -function isTrue(value) { - return value === true || value === 'true'; -} -function zeroOrGreater(value, defaultValue) { - if (value >= 0) { - return value; - } - else { - // zero gets returned if number is missing or the wrong type - return defaultValue; - } -} -function oneOrGreater(value, defaultValue) { - if (value > 0) { - return value; - } - else { - // zero gets returned if number is missing or the wrong type - return defaultValue; - } -} -var GridOptionsWrapper = (function () { - function GridOptionsWrapper() { - this.propertyEventService = new eventService_1.EventService(); - this.domDataKey = '__AG_' + Math.random().toString(); - } - GridOptionsWrapper_1 = GridOptionsWrapper; - GridOptionsWrapper.prototype.agWire = function (gridApi, columnApi) { - this.gridOptions.api = gridApi; - this.gridOptions.columnApi = columnApi; - this.checkForDeprecated(); - }; - GridOptionsWrapper.prototype.destroy = function () { - // need to remove these, as we don't own the lifecycle of the gridOptions, we need to - // remove the references in case the user keeps the grid options, we want the rest - // of the grid to be picked up by the garbage collector - this.gridOptions.api = null; - this.gridOptions.columnApi = null; - }; - GridOptionsWrapper.prototype.init = function () { - var async = this.useAsyncEvents(); - this.eventService.addGlobalListener(this.globalEventHandler.bind(this), async); - if (this.isGroupSelectsChildren() && this.isSuppressParentsInRowNodes()) { - console.warn('ag-Grid: groupSelectsChildren does not work wth suppressParentsInRowNodes, this selection method needs the part in rowNode to work'); - } - if (this.isGroupSelectsChildren()) { - if (!this.isRowSelectionMulti()) { - console.warn("ag-Grid: rowSelection must be 'multiple' for groupSelectsChildren to make sense"); - } - if (this.isRowModelEnterprise()) { - console.warn('ag-Grid: group selects children is NOT support for Enterprise Row Model. ' + - 'This is because the rows are lazy loaded, so selecting a group is not possible as' + - 'the grid has no way of knowing what the children are.'); - } - } - if (this.isGroupRemoveSingleChildren() && this.isGroupHideOpenParents()) { - console.warn('ag-Grid: groupRemoveSingleChildren and groupHideOpenParents do not work with each other, you need to pick one. And don\'t ask us how to us these together on our support forum either you will get the same answer!'); - } - }; - // returns the dom data, or undefined if not found - GridOptionsWrapper.prototype.getDomData = function (element, key) { - var domData = element[this.domDataKey]; - if (domData) { - return domData[key]; - } - else { - return undefined; - } - }; - GridOptionsWrapper.prototype.setDomData = function (element, key, value) { - var domData = element[this.domDataKey]; - if (utils_1.Utils.missing(domData)) { - domData = {}; - element[this.domDataKey] = domData; - } - domData[key] = value; - }; - GridOptionsWrapper.prototype.isEnterprise = function () { return this.enterprise; }; - GridOptionsWrapper.prototype.isRowSelection = function () { return this.gridOptions.rowSelection === "single" || this.gridOptions.rowSelection === "multiple"; }; - GridOptionsWrapper.prototype.isRowDeselection = function () { return isTrue(this.gridOptions.rowDeselection); }; - GridOptionsWrapper.prototype.isRowSelectionMulti = function () { return this.gridOptions.rowSelection === 'multiple'; }; - GridOptionsWrapper.prototype.getContext = function () { return this.gridOptions.context; }; - GridOptionsWrapper.prototype.isPivotMode = function () { return isTrue(this.gridOptions.pivotMode); }; - GridOptionsWrapper.prototype.isPivotTotals = function () { return isTrue(this.gridOptions.pivotTotals); }; - GridOptionsWrapper.prototype.isRowModelInfinite = function () { return this.gridOptions.rowModelType === constants_1.Constants.ROW_MODEL_TYPE_INFINITE; }; - GridOptionsWrapper.prototype.isRowModelViewport = function () { return this.gridOptions.rowModelType === constants_1.Constants.ROW_MODEL_TYPE_VIEWPORT; }; - GridOptionsWrapper.prototype.isRowModelEnterprise = function () { return this.gridOptions.rowModelType === constants_1.Constants.ROW_MODEL_TYPE_ENTERPRISE; }; - GridOptionsWrapper.prototype.isRowModelDefault = function () { - return utils_1.Utils.missing(this.gridOptions.rowModelType) || - this.gridOptions.rowModelType === constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY || - this.gridOptions.rowModelType === constants_1.Constants.DEPRECATED_ROW_MODEL_TYPE_NORMAL; - }; - GridOptionsWrapper.prototype.isFullRowEdit = function () { return this.gridOptions.editType === 'fullRow'; }; - GridOptionsWrapper.prototype.isSuppressFocusAfterRefresh = function () { return isTrue(this.gridOptions.suppressFocusAfterRefresh); }; - GridOptionsWrapper.prototype.isShowToolPanel = function () { return isTrue(this.gridOptions.showToolPanel); }; - GridOptionsWrapper.prototype.isToolPanelSuppressValues = function () { return isTrue(this.gridOptions.toolPanelSuppressValues); }; - GridOptionsWrapper.prototype.isToolPanelSuppressPivots = function () { - // we don't allow pivots when doing tree data - return isTrue(this.gridOptions.toolPanelSuppressPivots) || this.isTreeData(); - }; - GridOptionsWrapper.prototype.isToolPanelSuppressRowGroups = function () { - // we don't allow row grouping when doing tree data - return isTrue(this.gridOptions.toolPanelSuppressRowGroups) || this.isTreeData(); - }; - GridOptionsWrapper.prototype.isToolPanelSuppressPivotMode = function () { - return isTrue(this.gridOptions.toolPanelSuppressPivotMode) || this.isTreeData(); - }; - GridOptionsWrapper.prototype.isSuppressTouch = function () { return isTrue(this.gridOptions.suppressTouch); }; - GridOptionsWrapper.prototype.useAsyncEvents = function () { return !isTrue(this.gridOptions.suppressAsyncEvents); }; - GridOptionsWrapper.prototype.isEnableCellChangeFlash = function () { return isTrue(this.gridOptions.enableCellChangeFlash); }; - GridOptionsWrapper.prototype.isGroupSelectsChildren = function () { - var result = isTrue(this.gridOptions.groupSelectsChildren); - if (result && this.isTreeData()) { - console.warn('ag-Grid: groupSelectsChildren does not work with tree data'); - return false; - } - else { - return result; - } - }; - GridOptionsWrapper.prototype.isGroupSelectsFiltered = function () { return isTrue(this.gridOptions.groupSelectsFiltered); }; - GridOptionsWrapper.prototype.isGroupHideOpenParents = function () { return isTrue(this.gridOptions.groupHideOpenParents); }; - // if we are doing hideOpenParents, then we always have groupMultiAutoColumn, otherwise hideOpenParents would not work - GridOptionsWrapper.prototype.isGroupMultiAutoColumn = function () { return isTrue(this.gridOptions.groupMultiAutoColumn) || isTrue(this.gridOptions.groupHideOpenParents); }; - GridOptionsWrapper.prototype.isGroupRemoveSingleChildren = function () { return isTrue(this.gridOptions.groupRemoveSingleChildren); }; - GridOptionsWrapper.prototype.isGroupRemoveLowestSingleChildren = function () { return isTrue(this.gridOptions.groupRemoveLowestSingleChildren); }; - GridOptionsWrapper.prototype.isGroupIncludeFooter = function () { return isTrue(this.gridOptions.groupIncludeFooter); }; - GridOptionsWrapper.prototype.isGroupSuppressBlankHeader = function () { return isTrue(this.gridOptions.groupSuppressBlankHeader); }; - GridOptionsWrapper.prototype.isSuppressRowClickSelection = function () { return isTrue(this.gridOptions.suppressRowClickSelection); }; - GridOptionsWrapper.prototype.isSuppressCellSelection = function () { return isTrue(this.gridOptions.suppressCellSelection); }; - GridOptionsWrapper.prototype.isSuppressMultiSort = function () { return isTrue(this.gridOptions.suppressMultiSort); }; - GridOptionsWrapper.prototype.isGroupSuppressAutoColumn = function () { return isTrue(this.gridOptions.groupSuppressAutoColumn); }; - GridOptionsWrapper.prototype.isSuppressDragLeaveHidesColumns = function () { return isTrue(this.gridOptions.suppressDragLeaveHidesColumns); }; - GridOptionsWrapper.prototype.isSuppressScrollOnNewData = function () { return isTrue(this.gridOptions.suppressScrollOnNewData); }; - GridOptionsWrapper.prototype.isForPrint = function () { return this.gridOptions.domLayout === 'forPrint'; }; - GridOptionsWrapper.prototype.isAutoHeight = function () { return this.gridOptions.domLayout === 'autoHeight'; }; - GridOptionsWrapper.prototype.isSuppressHorizontalScroll = function () { return isTrue(this.gridOptions.suppressHorizontalScroll); }; - GridOptionsWrapper.prototype.isSuppressLoadingOverlay = function () { return isTrue(this.gridOptions.suppressLoadingOverlay); }; - GridOptionsWrapper.prototype.isSuppressNoRowsOverlay = function () { return isTrue(this.gridOptions.suppressNoRowsOverlay); }; - GridOptionsWrapper.prototype.isSuppressFieldDotNotation = function () { return isTrue(this.gridOptions.suppressFieldDotNotation); }; - GridOptionsWrapper.prototype.getPinnedTopRowData = function () { return this.gridOptions.pinnedTopRowData; }; - GridOptionsWrapper.prototype.getPinnedBottomRowData = function () { return this.gridOptions.pinnedBottomRowData; }; - GridOptionsWrapper.prototype.isFunctionsPassive = function () { return isTrue(this.gridOptions.functionsPassive); }; - GridOptionsWrapper.prototype.isSuppressTabbing = function () { return isTrue(this.gridOptions.suppressTabbing); }; - GridOptionsWrapper.prototype.isSuppressChangeDetection = function () { return isTrue(this.gridOptions.suppressChangeDetection); }; - GridOptionsWrapper.prototype.isSuppressAnimationFrame = function () { return isTrue(this.gridOptions.suppressAnimationFrame); }; - GridOptionsWrapper.prototype.getQuickFilterText = function () { return this.gridOptions.quickFilterText; }; - GridOptionsWrapper.prototype.isCacheQuickFilter = function () { return isTrue(this.gridOptions.cacheQuickFilter); }; - GridOptionsWrapper.prototype.isUnSortIcon = function () { return isTrue(this.gridOptions.unSortIcon); }; - GridOptionsWrapper.prototype.isSuppressMenuHide = function () { return isTrue(this.gridOptions.suppressMenuHide); }; - GridOptionsWrapper.prototype.getRowStyle = function () { return this.gridOptions.rowStyle; }; - GridOptionsWrapper.prototype.getRowClass = function () { return this.gridOptions.rowClass; }; - GridOptionsWrapper.prototype.getRowStyleFunc = function () { return this.gridOptions.getRowStyle; }; - GridOptionsWrapper.prototype.getRowClassFunc = function () { return this.gridOptions.getRowClass; }; - GridOptionsWrapper.prototype.rowClassRules = function () { return this.gridOptions.rowClassRules; }; - GridOptionsWrapper.prototype.getPostProcessPopupFunc = function () { return this.gridOptions.postProcessPopup; }; - GridOptionsWrapper.prototype.getDoesDataFlowerFunc = function () { return this.gridOptions.doesDataFlower; }; - GridOptionsWrapper.prototype.getPaginationNumberFormatterFunc = function () { return this.gridOptions.paginationNumberFormatter; }; - GridOptionsWrapper.prototype.getChildCountFunc = function () { return this.gridOptions.getChildCount; }; - GridOptionsWrapper.prototype.getIsFullWidthCellFunc = function () { return this.gridOptions.isFullWidthCell; }; - GridOptionsWrapper.prototype.getFullWidthCellRendererParams = function () { return this.gridOptions.fullWidthCellRendererParams; }; - GridOptionsWrapper.prototype.isEmbedFullWidthRows = function () { - // if autoHeight, we always embed fullWidth rows, otherwise we let the user decide - return this.isAutoHeight() || isTrue(this.gridOptions.embedFullWidthRows); - }; - GridOptionsWrapper.prototype.getBusinessKeyForNodeFunc = function () { return this.gridOptions.getBusinessKeyForNode; }; - GridOptionsWrapper.prototype.getApi = function () { return this.gridOptions.api; }; - GridOptionsWrapper.prototype.getColumnApi = function () { return this.gridOptions.columnApi; }; - GridOptionsWrapper.prototype.isDeltaRowDataMode = function () { return isTrue(this.gridOptions.deltaRowDataMode); }; - GridOptionsWrapper.prototype.isEnsureDomOrder = function () { return isTrue(this.gridOptions.ensureDomOrder); }; - GridOptionsWrapper.prototype.isEnableColResize = function () { return isTrue(this.gridOptions.enableColResize); }; - GridOptionsWrapper.prototype.isSingleClickEdit = function () { return isTrue(this.gridOptions.singleClickEdit); }; - GridOptionsWrapper.prototype.isSuppressClickEdit = function () { return isTrue(this.gridOptions.suppressClickEdit); }; - GridOptionsWrapper.prototype.isStopEditingWhenGridLosesFocus = function () { return isTrue(this.gridOptions.stopEditingWhenGridLosesFocus); }; - GridOptionsWrapper.prototype.getGroupDefaultExpanded = function () { return this.gridOptions.groupDefaultExpanded; }; - GridOptionsWrapper.prototype.getMaxConcurrentDatasourceRequests = function () { return this.gridOptions.maxConcurrentDatasourceRequests; }; - GridOptionsWrapper.prototype.getMaxBlocksInCache = function () { return this.gridOptions.maxBlocksInCache; }; - GridOptionsWrapper.prototype.getCacheOverflowSize = function () { return this.gridOptions.cacheOverflowSize; }; - GridOptionsWrapper.prototype.getPaginationPageSize = function () { return this.gridOptions.paginationPageSize; }; - GridOptionsWrapper.prototype.getCacheBlockSize = function () { return this.gridOptions.cacheBlockSize; }; - GridOptionsWrapper.prototype.getInfiniteInitialRowCount = function () { return this.gridOptions.infiniteInitialRowCount; }; - GridOptionsWrapper.prototype.isPurgeClosedRowNodes = function () { return isTrue(this.gridOptions.purgeClosedRowNodes); }; - GridOptionsWrapper.prototype.isSuppressPaginationPanel = function () { return isTrue(this.gridOptions.suppressPaginationPanel); }; - GridOptionsWrapper.prototype.getRowData = function () { return this.gridOptions.rowData; }; - GridOptionsWrapper.prototype.isGroupUseEntireRow = function () { return isTrue(this.gridOptions.groupUseEntireRow); }; - GridOptionsWrapper.prototype.isEnableRtl = function () { return isTrue(this.gridOptions.enableRtl); }; - GridOptionsWrapper.prototype.getAutoGroupColumnDef = function () { return this.gridOptions.autoGroupColumnDef; }; - GridOptionsWrapper.prototype.isGroupSuppressRow = function () { return isTrue(this.gridOptions.groupSuppressRow); }; - GridOptionsWrapper.prototype.getRowGroupPanelShow = function () { return this.gridOptions.rowGroupPanelShow; }; - GridOptionsWrapper.prototype.getPivotPanelShow = function () { return this.gridOptions.pivotPanelShow; }; - GridOptionsWrapper.prototype.isAngularCompileRows = function () { return isTrue(this.gridOptions.angularCompileRows); }; - GridOptionsWrapper.prototype.isAngularCompileFilters = function () { return isTrue(this.gridOptions.angularCompileFilters); }; - GridOptionsWrapper.prototype.isAngularCompileHeaders = function () { return isTrue(this.gridOptions.angularCompileHeaders); }; - GridOptionsWrapper.prototype.isDebug = function () { return isTrue(this.gridOptions.debug); }; - GridOptionsWrapper.prototype.getColumnDefs = function () { return this.gridOptions.columnDefs; }; - GridOptionsWrapper.prototype.getColumnTypes = function () { return this.gridOptions.columnTypes; }; - GridOptionsWrapper.prototype.getDatasource = function () { return this.gridOptions.datasource; }; - GridOptionsWrapper.prototype.getViewportDatasource = function () { return this.gridOptions.viewportDatasource; }; - GridOptionsWrapper.prototype.getEnterpriseDatasource = function () { return this.gridOptions.enterpriseDatasource; }; - GridOptionsWrapper.prototype.isEnableSorting = function () { return isTrue(this.gridOptions.enableSorting) || isTrue(this.gridOptions.enableServerSideSorting); }; - GridOptionsWrapper.prototype.isAccentedSort = function () { return isTrue(this.gridOptions.accentedSort); }; - GridOptionsWrapper.prototype.isEnableCellExpressions = function () { return isTrue(this.gridOptions.enableCellExpressions); }; - GridOptionsWrapper.prototype.isEnableGroupEdit = function () { return isTrue(this.gridOptions.enableGroupEdit); }; - GridOptionsWrapper.prototype.isSuppressMiddleClickScrolls = function () { return isTrue(this.gridOptions.suppressMiddleClickScrolls); }; - GridOptionsWrapper.prototype.isSuppressPreventDefaultOnMouseWheel = function () { return isTrue(this.gridOptions.suppressPreventDefaultOnMouseWheel); }; - GridOptionsWrapper.prototype.isSuppressColumnVirtualisation = function () { return isTrue(this.gridOptions.suppressColumnVirtualisation); }; - GridOptionsWrapper.prototype.isSuppressContextMenu = function () { return isTrue(this.gridOptions.suppressContextMenu); }; - GridOptionsWrapper.prototype.isAllowContextMenuWithControlKey = function () { return isTrue(this.gridOptions.allowContextMenuWithControlKey); }; - GridOptionsWrapper.prototype.isSuppressCopyRowsToClipboard = function () { return isTrue(this.gridOptions.suppressCopyRowsToClipboard); }; - GridOptionsWrapper.prototype.isEnableFilter = function () { return isTrue(this.gridOptions.enableFilter) || isTrue(this.gridOptions.enableServerSideFilter); }; - GridOptionsWrapper.prototype.isPagination = function () { return isTrue(this.gridOptions.pagination); }; - // these are deprecated, should remove them when we take out server side pagination - GridOptionsWrapper.prototype.isEnableServerSideFilter = function () { return this.gridOptions.enableServerSideFilter; }; - GridOptionsWrapper.prototype.isEnableServerSideSorting = function () { return isTrue(this.gridOptions.enableServerSideSorting); }; - GridOptionsWrapper.prototype.isSuppressMovableColumns = function () { return isTrue(this.gridOptions.suppressMovableColumns); }; - GridOptionsWrapper.prototype.isAnimateRows = function () { - // never allow animating if enforcing the row order - if (this.isEnsureDomOrder()) { - return false; - } - return isTrue(this.gridOptions.animateRows); - }; - GridOptionsWrapper.prototype.isSuppressColumnMoveAnimation = function () { return isTrue(this.gridOptions.suppressColumnMoveAnimation); }; - GridOptionsWrapper.prototype.isSuppressAggFuncInHeader = function () { return isTrue(this.gridOptions.suppressAggFuncInHeader); }; - GridOptionsWrapper.prototype.isSuppressAggAtRootLevel = function () { return isTrue(this.gridOptions.suppressAggAtRootLevel); }; - GridOptionsWrapper.prototype.isEnableRangeSelection = function () { return isTrue(this.gridOptions.enableRangeSelection); }; - GridOptionsWrapper.prototype.isPaginationAutoPageSize = function () { return isTrue(this.gridOptions.paginationAutoPageSize); }; - GridOptionsWrapper.prototype.isRememberGroupStateWhenNewData = function () { return isTrue(this.gridOptions.rememberGroupStateWhenNewData); }; - GridOptionsWrapper.prototype.getIcons = function () { return this.gridOptions.icons; }; - GridOptionsWrapper.prototype.getAggFuncs = function () { return this.gridOptions.aggFuncs; }; - GridOptionsWrapper.prototype.getSortingOrder = function () { return this.gridOptions.sortingOrder; }; - GridOptionsWrapper.prototype.getAlignedGrids = function () { return this.gridOptions.alignedGrids; }; - GridOptionsWrapper.prototype.isMasterDetail = function () { - var _this = this; - var usingMasterDetail = isTrue(this.gridOptions.masterDetail); - utils_1.Utils.doOnce(function () { - if (usingMasterDetail && !_this.enterprise) { - console.warn('ag-grid: Master Detail is an Enterprise feature of ag-Grid.'); - } - }, 'MasterDetailEnterpriseCheck'); - return usingMasterDetail && this.enterprise; - }; - GridOptionsWrapper.prototype.getIsRowMasterFunc = function () { return this.gridOptions.isRowMaster; }; - GridOptionsWrapper.prototype.getGroupRowRendererParams = function () { return this.gridOptions.groupRowRendererParams; }; - GridOptionsWrapper.prototype.getOverlayLoadingTemplate = function () { return this.gridOptions.overlayLoadingTemplate; }; - GridOptionsWrapper.prototype.getOverlayNoRowsTemplate = function () { return this.gridOptions.overlayNoRowsTemplate; }; - GridOptionsWrapper.prototype.isSuppressAutoSize = function () { return isTrue(this.gridOptions.suppressAutoSize); }; - GridOptionsWrapper.prototype.isSuppressParentsInRowNodes = function () { return isTrue(this.gridOptions.suppressParentsInRowNodes); }; - GridOptionsWrapper.prototype.isEnableStatusBar = function () { return isTrue(this.gridOptions.enableStatusBar); }; - GridOptionsWrapper.prototype.isAlwaysShowStatusBar = function () { return isTrue(this.gridOptions.alwaysShowStatusBar); }; - GridOptionsWrapper.prototype.isFunctionsReadOnly = function () { return isTrue(this.gridOptions.functionsReadOnly); }; - GridOptionsWrapper.prototype.isFloatingFilter = function () { return this.gridOptions.floatingFilter; }; - // public isFloatingFilter(): boolean { return true; } - GridOptionsWrapper.prototype.getDefaultColDef = function () { return this.gridOptions.defaultColDef; }; - GridOptionsWrapper.prototype.getDefaultColGroupDef = function () { return this.gridOptions.defaultColGroupDef; }; - GridOptionsWrapper.prototype.getDefaultExportParams = function () { return this.gridOptions.defaultExportParams; }; - GridOptionsWrapper.prototype.isSuppressCsvExport = function () { return isTrue(this.gridOptions.suppressCsvExport); }; - GridOptionsWrapper.prototype.isSuppressExcelExport = function () { return isTrue(this.gridOptions.suppressExcelExport); }; - GridOptionsWrapper.prototype.getNodeChildDetailsFunc = function () { return this.gridOptions.getNodeChildDetails; }; - GridOptionsWrapper.prototype.getDataPathFunc = function () { return this.gridOptions.getDataPath; }; - // public getIsGroupFunc(): ((dataItem: any) => boolean) { return this.gridOptions.isGroup } - GridOptionsWrapper.prototype.getGroupRowAggNodesFunc = function () { return this.gridOptions.groupRowAggNodes; }; - GridOptionsWrapper.prototype.getContextMenuItemsFunc = function () { return this.gridOptions.getContextMenuItems; }; - GridOptionsWrapper.prototype.getMainMenuItemsFunc = function () { return this.gridOptions.getMainMenuItems; }; - GridOptionsWrapper.prototype.getRowNodeIdFunc = function () { return this.gridOptions.getRowNodeId; }; - GridOptionsWrapper.prototype.getNavigateToNextCellFunc = function () { return this.gridOptions.navigateToNextCell; }; - GridOptionsWrapper.prototype.getTabToNextCellFunc = function () { return this.gridOptions.tabToNextCell; }; - GridOptionsWrapper.prototype.isTreeData = function () { return isTrue(this.gridOptions.treeData); }; - GridOptionsWrapper.prototype.isValueCache = function () { return isTrue(this.gridOptions.valueCache); }; - GridOptionsWrapper.prototype.isValueCacheNeverExpires = function () { return isTrue(this.gridOptions.valueCacheNeverExpires); }; - GridOptionsWrapper.prototype.isAggregateOnlyChangedColumns = function () { return isTrue(this.gridOptions.aggregateOnlyChangedColumns); }; - GridOptionsWrapper.prototype.getProcessSecondaryColDefFunc = function () { return this.gridOptions.processSecondaryColDef; }; - GridOptionsWrapper.prototype.getProcessSecondaryColGroupDefFunc = function () { return this.gridOptions.processSecondaryColGroupDef; }; - GridOptionsWrapper.prototype.getSendToClipboardFunc = function () { return this.gridOptions.sendToClipboard; }; - GridOptionsWrapper.prototype.getProcessRowPostCreateFunc = function () { return this.gridOptions.processRowPostCreate; }; - GridOptionsWrapper.prototype.getProcessCellForClipboardFunc = function () { return this.gridOptions.processCellForClipboard; }; - GridOptionsWrapper.prototype.getProcessCellFromClipboardFunc = function () { return this.gridOptions.processCellFromClipboard; }; - GridOptionsWrapper.prototype.getViewportRowModelPageSize = function () { return oneOrGreater(this.gridOptions.viewportRowModelPageSize, DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE); }; - GridOptionsWrapper.prototype.getViewportRowModelBufferSize = function () { return zeroOrGreater(this.gridOptions.viewportRowModelBufferSize, DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE); }; - // public getCellRenderers(): {[key: string]: {new(): ICellRenderer} | ICellRendererFunc} { return this.gridOptions.cellRenderers; } - // public getCellEditors(): {[key: string]: {new(): ICellEditor}} { return this.gridOptions.cellEditors; } - GridOptionsWrapper.prototype.getClipboardDeliminator = function () { - return utils_1.Utils.exists(this.gridOptions.clipboardDeliminator) ? this.gridOptions.clipboardDeliminator : '\t'; - }; - GridOptionsWrapper.prototype.setProperty = function (key, value) { - var gridOptionsNoType = this.gridOptions; - var previousValue = gridOptionsNoType[key]; - if (previousValue !== value) { - gridOptionsNoType[key] = value; - var event_1 = { - type: key, - currentValue: value, - previousValue: previousValue - }; - this.propertyEventService.dispatchEvent(event_1); - } - }; - GridOptionsWrapper.prototype.addEventListener = function (key, listener) { - this.propertyEventService.addEventListener(key, listener); - }; - GridOptionsWrapper.prototype.removeEventListener = function (key, listener) { - this.propertyEventService.removeEventListener(key, listener); - }; - GridOptionsWrapper.prototype.getAutoSizePadding = function () { - return this.gridOptions.autoSizePadding > 0 ? this.gridOptions.autoSizePadding : 0; - }; - // properties - GridOptionsWrapper.prototype.getHeaderHeight = function () { - if (typeof this.gridOptions.headerHeight === 'number') { - return this.gridOptions.headerHeight; - } - else { - return this.specialForNewMaterial(25, 'headerHeight'); - } - }; - GridOptionsWrapper.prototype.getFloatingFiltersHeight = function () { - if (typeof this.gridOptions.floatingFiltersHeight === 'number') { - return this.gridOptions.floatingFiltersHeight; - } - else { - return this.specialForNewMaterial(25, 'headerHeight'); - } - }; - GridOptionsWrapper.prototype.getGroupHeaderHeight = function () { - if (typeof this.gridOptions.groupHeaderHeight === 'number') { - return this.gridOptions.groupHeaderHeight; - } - else { - return this.getHeaderHeight(); - } - }; - GridOptionsWrapper.prototype.getPivotHeaderHeight = function () { - if (typeof this.gridOptions.pivotHeaderHeight === 'number') { - return this.gridOptions.pivotHeaderHeight; - } - else { - return this.getHeaderHeight(); - } - }; - GridOptionsWrapper.prototype.getPivotGroupHeaderHeight = function () { - if (typeof this.gridOptions.pivotGroupHeaderHeight === 'number') { - return this.gridOptions.pivotGroupHeaderHeight; - } - else { - return this.getGroupHeaderHeight(); - } - }; - GridOptionsWrapper.prototype.isExternalFilterPresent = function () { - if (typeof this.gridOptions.isExternalFilterPresent === 'function') { - return this.gridOptions.isExternalFilterPresent(); - } - else { - return false; - } - }; - GridOptionsWrapper.prototype.doesExternalFilterPass = function (node) { - if (typeof this.gridOptions.doesExternalFilterPass === 'function') { - return this.gridOptions.doesExternalFilterPass(node); - } - else { - return false; - } - }; - GridOptionsWrapper.prototype.getDocument = function () { - // if user is providing document, we use the users one, - // otherwise we use the document on the global namespace. - var result; - if (utils_1.Utils.exists(this.gridOptions.getDocument)) { - result = this.gridOptions.getDocument(); - } - if (utils_1.Utils.exists(result)) { - return result; - } - else { - return document; - } - }; - GridOptionsWrapper.prototype.getLayoutInterval = function () { - if (typeof this.gridOptions.layoutInterval === 'number') { - return this.gridOptions.layoutInterval; - } - else { - return constants_1.Constants.LAYOUT_INTERVAL; - } - }; - GridOptionsWrapper.prototype.getMinColWidth = function () { - if (this.gridOptions.minColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) { - return this.gridOptions.minColWidth; - } - else { - return GridOptionsWrapper_1.MIN_COL_WIDTH; - } - }; - GridOptionsWrapper.prototype.getMaxColWidth = function () { - if (this.gridOptions.maxColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) { - return this.gridOptions.maxColWidth; - } - else { - return null; - } - }; - GridOptionsWrapper.prototype.getColWidth = function () { - if (typeof this.gridOptions.colWidth !== 'number' || this.gridOptions.colWidth < GridOptionsWrapper_1.MIN_COL_WIDTH) { - return 200; - } - else { - return this.gridOptions.colWidth; - } - }; - GridOptionsWrapper.prototype.getRowBuffer = function () { - if (typeof this.gridOptions.rowBuffer === 'number') { - if (this.gridOptions.rowBuffer < 0) { - console.warn('ag-Grid: rowBuffer should not be negative'); - } - return this.gridOptions.rowBuffer; - } - else { - return constants_1.Constants.ROW_BUFFER_SIZE; - } - }; - // the user might be using some non-standard scrollbar, eg a scrollbar that has zero - // width and overlays (like the Safari scrollbar, but presented in Chrome). so we - // allow the user to provide the scroll width before we work it out. - GridOptionsWrapper.prototype.getScrollbarWidth = function () { - var scrollbarWidth = this.gridOptions.scrollbarWidth; - if (typeof scrollbarWidth !== 'number' || scrollbarWidth < 0) { - scrollbarWidth = utils_1.Utils.getScrollbarWidth(); - } - return scrollbarWidth; - }; - GridOptionsWrapper.prototype.checkForDeprecated = function () { - // casting to generic object, so typescript compiles even though - // we are looking for attributes that don't exist - var options = this.gridOptions; - if (options.suppressUnSort) { - console.warn('ag-grid: as of v1.12.4 suppressUnSort is not used. Please use sortingOrder instead.'); - } - if (options.suppressDescSort) { - console.warn('ag-grid: as of v1.12.4 suppressDescSort is not used. Please use sortingOrder instead.'); - } - if (options.groupAggFields) { - console.warn('ag-grid: as of v3 groupAggFields is not used. Please add appropriate agg fields to your columns.'); - } - if (options.groupHidePivotColumns) { - console.warn('ag-grid: as of v3 groupHidePivotColumns is not used as pivot columns are now called rowGroup columns. Please refer to the documentation'); - } - if (options.groupKeys) { - console.warn('ag-grid: as of v3 groupKeys is not used. You need to set rowGroupIndex on the columns to group. Please refer to the documentation'); - } - if (typeof options.groupDefaultExpanded === 'boolean') { - console.warn('ag-grid: groupDefaultExpanded can no longer be boolean. for groupDefaultExpanded=true, use groupDefaultExpanded=9999 instead, to expand all the groups'); - } - if (options.onRowDeselected || options.rowDeselected) { - console.warn('ag-grid: since version 3.4 event rowDeselected no longer exists, please check the docs'); - } - if (options.rowsAlreadyGrouped) { - console.warn('ag-grid: since version 3.4 rowsAlreadyGrouped no longer exists, please use getNodeChildDetails() instead'); - } - if (options.groupAggFunction) { - console.warn('ag-grid: since version 4.3.x groupAggFunction is now called groupRowAggNodes'); - } - if (options.checkboxSelection) { - console.warn('ag-grid: since version 8.0.x checkboxSelection is not supported as a grid option. ' + - 'If you want this on all columns, use defaultColDef instead and set it there'); - } - if (options.paginationInitialRowCount) { - console.warn('ag-grid: since version 9.0.x paginationInitialRowCount is now called infiniteInitialRowCount'); - } - if (options.infinitePageSize) { - console.warn('ag-grid: since version 9.0.x infinitePageSize is now called cacheBlockSize'); - } - if (options.infiniteBlockSize) { - console.warn('ag-grid: since version 10.0.x infiniteBlockSize is now called cacheBlockSize'); - } - if (options.maxPagesInCache) { - console.warn('ag-grid: since version 10.0.x maxPagesInCache is now called maxBlocksInCache'); - } - if (options.paginationOverflowSize) { - console.warn('ag-grid: since version 10.0.x paginationOverflowSize is now called cacheOverflowSize'); - } - if (options.forPrint) { - console.warn('ag-grid: since version 10.1.x, use property domLayout="forPrint" instead of forPrint=true'); - } - if (options.suppressMenuFilterPanel) { - console.warn("ag-grid: since version 11.0.x, use property colDef.menuTabs=['generalMenuTab','columnsMenuTab'] instead of suppressMenuFilterPanel=true"); - } - if (options.suppressMenuMainPanel) { - console.warn("ag-grid: since version 11.0.x, use property colDef.menuTabs=['filterMenuTab','columnsMenuTab'] instead of suppressMenuMainPanel=true"); - } - if (options.suppressMenuColumnPanel) { - console.warn("ag-grid: since version 11.0.x, use property colDef.menuTabs=['generalMenuTab','filterMenuTab'] instead of suppressMenuColumnPanel=true"); - } - if (options.suppressUseColIdForGroups) { - console.warn("ag-grid: since version 11.0.x, this is not in use anymore. You should be able to remove it from your definition"); - } - if (options.groupColumnDef) { - console.warn("ag-grid: since version 11.0.x, groupColumnDef has been renamed, this property is now called autoGroupColumnDef. Please change your configuration accordingly"); - } - if (options.slaveGrids) { - console.warn("ag-grid: since version 12.x, slaveGrids has been renamed, this property is now called alignedGrids. Please change your configuration accordingly"); - } - if (options.floatingTopRowData) { - console.warn("ag-grid: since version 12.x, floatingTopRowData is now called pinnedTopRowData"); - } - if (options.floatingBottomRowData) { - console.warn("ag-grid: since version 12.x, floatingBottomRowData is now called pinnedBottomRowData"); - } - if (options.paginationStartPage) { - console.warn("ag-grid: since version 12.x, paginationStartPage is gone, please call api.paginationGoToPage(" + options.paginationStartPage + ") instead."); - } - if (options.getHeaderCellTemplate) { - console.warn("ag-grid: since version 15.x, getHeaderCellTemplate is gone, please check the header documentation on how to set header templates."); - } - if (options.headerCellTemplate) { - console.warn("ag-grid: since version 15.x, headerCellTemplate is gone, please check the header documentation on how to set header templates."); - } - if (options.headerCellRenderer) { - console.warn("ag-grid: since version 15.x, headerCellRenderer is gone, please check the header documentation on how to set header templates."); - } - }; - GridOptionsWrapper.prototype.getLocaleTextFunc = function () { - if (this.gridOptions.localeTextFunc) { - return this.gridOptions.localeTextFunc; - } - var that = this; - return function (key, defaultValue) { - var localeText = that.gridOptions.localeText; - if (localeText && localeText[key]) { - return localeText[key]; - } - else { - return defaultValue; - } - }; - }; - // responsible for calling the onXXX functions on gridOptions - GridOptionsWrapper.prototype.globalEventHandler = function (eventName, event) { - var callbackMethodName = componentUtil_1.ComponentUtil.getCallbackForEvent(eventName); - if (typeof this.gridOptions[callbackMethodName] === 'function') { - this.gridOptions[callbackMethodName](event); - } - }; - // we don't allow dynamic row height for virtual paging - GridOptionsWrapper.prototype.getRowHeightAsNumber = function () { - var rowHeight = this.gridOptions.rowHeight; - if (utils_1.Utils.missing(rowHeight)) { - return this.getDefaultRowHeight(); - } - else if (this.isNumeric(this.gridOptions.rowHeight)) { - return this.gridOptions.rowHeight; - } - else { - console.warn('ag-Grid row height must be a number if not using standard row model'); - return this.getDefaultRowHeight(); - } - }; - GridOptionsWrapper.prototype.getRowHeightForNode = function (rowNode) { - // check the function first, in case use set both function and - // number, when using virtual pagination then function can be - // used for pinned rows and the number for the body rows. - if (typeof this.gridOptions.getRowHeight === 'function') { - var params = { - node: rowNode, - data: rowNode.data, - api: this.gridOptions.api, - context: this.gridOptions.context - }; - return this.gridOptions.getRowHeight(params); - } - else if (rowNode.detail && this.isMasterDetail()) { - if (this.isNumeric(this.gridOptions.detailRowHeight)) { - return this.gridOptions.detailRowHeight; - } - else { - return DEFAULT_DETAIL_ROW_HEIGHT; - } - } - else if (this.isNumeric(this.gridOptions.rowHeight)) { - return this.gridOptions.rowHeight; - } - else { - return this.getDefaultRowHeight(); - } - }; - GridOptionsWrapper.prototype.isDynamicRowHeight = function () { - return typeof this.gridOptions.getRowHeight === 'function'; - }; - GridOptionsWrapper.prototype.getVirtualItemHeight = function () { - return this.specialForNewMaterial(20, 'virtualItemHeight'); - }; - GridOptionsWrapper.prototype.isNumeric = function (value) { - return !isNaN(value) && typeof value === 'number'; - }; - // Material data table has strict guidelines about whitespace, and these values are different than the ones - // ag-grid uses by default. We override the default ones for the sake of making it better out of the box - GridOptionsWrapper.prototype.specialForNewMaterial = function (defaultValue, sassVariableName) { - var theme = this.environment.getTheme(); - if (theme.indexOf('ag-theme') === 0) { - return this.environment.getSassVariable(theme, sassVariableName); - } - else { - return defaultValue; - } - }; - GridOptionsWrapper.prototype.getDefaultRowHeight = function () { - return this.specialForNewMaterial(DEFAULT_ROW_HEIGHT, 'rowHeight'); - }; - GridOptionsWrapper.MIN_COL_WIDTH = 10; - GridOptionsWrapper.PROP_HEADER_HEIGHT = 'headerHeight'; - GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN = 'groupRemoveSingleChildren'; - GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN = 'groupRemoveLowestSingleChildren'; - GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT = 'pivotHeaderHeight'; - GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT = 'groupHeaderHeight'; - GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT = 'pivotGroupHeaderHeight'; - GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT = 'floatingFiltersHeight'; - __decorate([ - context_1.Autowired('gridOptions'), - __metadata("design:type", Object) - ], GridOptionsWrapper.prototype, "gridOptions", void 0); - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", columnController_1.ColumnController) - ], GridOptionsWrapper.prototype, "columnController", void 0); - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], GridOptionsWrapper.prototype, "eventService", void 0); - __decorate([ - context_1.Autowired('enterprise'), - __metadata("design:type", Boolean) - ], GridOptionsWrapper.prototype, "enterprise", void 0); - __decorate([ - context_1.Autowired('frameworkFactory'), - __metadata("design:type", Object) - ], GridOptionsWrapper.prototype, "frameworkFactory", void 0); - __decorate([ - context_1.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], GridOptionsWrapper.prototype, "gridApi", void 0); - __decorate([ - context_1.Autowired('columnApi'), - __metadata("design:type", columnController_1.ColumnApi) - ], GridOptionsWrapper.prototype, "columnApi", void 0); - __decorate([ - context_1.Autowired('environment'), - __metadata("design:type", environment_1.Environment) - ], GridOptionsWrapper.prototype, "environment", void 0); - __decorate([ - __param(0, context_1.Qualifier('gridApi')), __param(1, context_1.Qualifier('columnApi')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [gridApi_1.GridApi, columnController_1.ColumnApi]), - __metadata("design:returntype", void 0) - ], GridOptionsWrapper.prototype, "agWire", null); - __decorate([ - context_1.PreDestroy, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], GridOptionsWrapper.prototype, "destroy", null); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], GridOptionsWrapper.prototype, "init", null); - GridOptionsWrapper = GridOptionsWrapper_1 = __decorate([ - context_1.Bean('gridOptionsWrapper') - ], GridOptionsWrapper); - return GridOptionsWrapper; - var GridOptionsWrapper_1; -}()); -exports.GridOptionsWrapper = GridOptionsWrapper; - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var utils_1 = __webpack_require__(1); -var columnGroup_1 = __webpack_require__(27); -var column_1 = __webpack_require__(9); -var gridOptionsWrapper_1 = __webpack_require__(2); -var expressionService_1 = __webpack_require__(19); -var balancedColumnTreeBuilder_1 = __webpack_require__(42); -var displayedGroupCreator_1 = __webpack_require__(44); -var autoWidthCalculator_1 = __webpack_require__(63); -var eventService_1 = __webpack_require__(4); -var columnUtils_1 = __webpack_require__(31); -var logger_1 = __webpack_require__(10); -var events_1 = __webpack_require__(5); -var originalColumnGroup_1 = __webpack_require__(32); -var groupInstanceIdCreator_1 = __webpack_require__(81); -var context_1 = __webpack_require__(0); -var gridPanel_1 = __webpack_require__(11); -var columnAnimationService_1 = __webpack_require__(71); -var autoGroupColService_1 = __webpack_require__(100); -var valueCache_1 = __webpack_require__(33); -var gridApi_1 = __webpack_require__(6); -var ColumnApi = (function () { - function ColumnApi() { - } - ColumnApi.prototype.sizeColumnsToFit = function (gridWidth) { this._columnController.sizeColumnsToFit(gridWidth); }; - ColumnApi.prototype.setColumnGroupOpened = function (group, newValue) { this._columnController.setColumnGroupOpened(group, newValue); }; - ColumnApi.prototype.getColumnGroup = function (name, instanceId) { return this._columnController.getColumnGroup(name, instanceId); }; - ColumnApi.prototype.getOriginalColumnGroup = function (name) { return this._columnController.getOriginalColumnGroup(name); }; - ColumnApi.prototype.getDisplayNameForColumn = function (column, location) { return this._columnController.getDisplayNameForColumn(column, location); }; - ColumnApi.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) { return this._columnController.getDisplayNameForColumnGroup(columnGroup, location); }; - ColumnApi.prototype.getColumn = function (key) { return this._columnController.getPrimaryColumn(key); }; - ColumnApi.prototype.setColumnState = function (columnState) { return this._columnController.setColumnState(columnState); }; - ColumnApi.prototype.getColumnState = function () { return this._columnController.getColumnState(); }; - ColumnApi.prototype.resetColumnState = function () { this._columnController.resetColumnState(); }; - ColumnApi.prototype.getColumnGroupState = function () { return this._columnController.getColumnGroupState(); }; - ColumnApi.prototype.setColumnGroupState = function (stateItems) { this._columnController.setColumnGroupState(stateItems); }; - ColumnApi.prototype.resetColumnGroupState = function () { this._columnController.resetColumnGroupState(); }; - ColumnApi.prototype.isPinning = function () { return this._columnController.isPinningLeft() || this._columnController.isPinningRight(); }; - ColumnApi.prototype.isPinningLeft = function () { return this._columnController.isPinningLeft(); }; - ColumnApi.prototype.isPinningRight = function () { return this._columnController.isPinningRight(); }; - ColumnApi.prototype.getDisplayedColAfter = function (col) { return this._columnController.getDisplayedColAfter(col); }; - ColumnApi.prototype.getDisplayedColBefore = function (col) { return this._columnController.getDisplayedColBefore(col); }; - ColumnApi.prototype.setColumnVisible = function (key, visible) { this._columnController.setColumnVisible(key, visible); }; - ColumnApi.prototype.setColumnsVisible = function (keys, visible) { this._columnController.setColumnsVisible(keys, visible); }; - ColumnApi.prototype.setColumnPinned = function (key, pinned) { this._columnController.setColumnPinned(key, pinned); }; - ColumnApi.prototype.setColumnsPinned = function (keys, pinned) { this._columnController.setColumnsPinned(keys, pinned); }; - ColumnApi.prototype.getAllColumns = function () { return this._columnController.getAllPrimaryColumns(); }; - ColumnApi.prototype.getAllGridColumns = function () { return this._columnController.getAllGridColumns(); }; - ColumnApi.prototype.getDisplayedLeftColumns = function () { return this._columnController.getDisplayedLeftColumns(); }; - ColumnApi.prototype.getDisplayedCenterColumns = function () { return this._columnController.getDisplayedCenterColumns(); }; - ColumnApi.prototype.getDisplayedRightColumns = function () { return this._columnController.getDisplayedRightColumns(); }; - ColumnApi.prototype.getAllDisplayedColumns = function () { return this._columnController.getAllDisplayedColumns(); }; - ColumnApi.prototype.getAllDisplayedVirtualColumns = function () { return this._columnController.getAllDisplayedVirtualColumns(); }; - ColumnApi.prototype.moveColumn = function (key, toIndex) { - if (typeof key === 'number') { - // moveColumn used to take indexes, so this is advising user who hasn't moved to new method name - console.log('ag-Grid: you are using moveColumn(fromIndex, toIndex) - moveColumn takes a column key and a destination index, not two indexes, to move with indexes use moveColumnByIndex(from,to) instead'); - this._columnController.moveColumnByIndex(key, toIndex); - } - else { - this._columnController.moveColumn(key, toIndex); - } - }; - ColumnApi.prototype.moveColumnByIndex = function (fromIndex, toIndex) { this._columnController.moveColumnByIndex(fromIndex, toIndex); }; - ColumnApi.prototype.moveColumns = function (columnsToMoveKeys, toIndex) { this._columnController.moveColumns(columnsToMoveKeys, toIndex); }; - ColumnApi.prototype.moveRowGroupColumn = function (fromIndex, toIndex) { this._columnController.moveRowGroupColumn(fromIndex, toIndex); }; - ColumnApi.prototype.setColumnAggFunc = function (column, aggFunc) { this._columnController.setColumnAggFunc(column, aggFunc); }; - ColumnApi.prototype.setColumnWidth = function (key, newWidth, finished) { - if (finished === void 0) { finished = true; } - this._columnController.setColumnWidth(key, newWidth, finished); - }; - ColumnApi.prototype.setPivotMode = function (pivotMode) { this._columnController.setPivotMode(pivotMode); }; - ColumnApi.prototype.isPivotMode = function () { return this._columnController.isPivotMode(); }; - ColumnApi.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) { return this._columnController.getSecondaryPivotColumn(pivotKeys, valueColKey); }; - ColumnApi.prototype.setValueColumns = function (colKeys) { this._columnController.setValueColumns(colKeys); }; - ColumnApi.prototype.getValueColumns = function () { return this._columnController.getValueColumns(); }; - ColumnApi.prototype.removeValueColumn = function (colKey) { this._columnController.removeValueColumn(colKey); }; - ColumnApi.prototype.removeValueColumns = function (colKeys) { this._columnController.removeValueColumns(colKeys); }; - ColumnApi.prototype.addValueColumn = function (colKey) { this._columnController.addValueColumn(colKey); }; - ColumnApi.prototype.addValueColumns = function (colKeys) { this._columnController.addValueColumns(colKeys); }; - ColumnApi.prototype.setRowGroupColumns = function (colKeys) { this._columnController.setRowGroupColumns(colKeys); }; - ColumnApi.prototype.removeRowGroupColumn = function (colKey) { this._columnController.removeRowGroupColumn(colKey); }; - ColumnApi.prototype.removeRowGroupColumns = function (colKeys) { this._columnController.removeRowGroupColumns(colKeys); }; - ColumnApi.prototype.addRowGroupColumn = function (colKey) { this._columnController.addRowGroupColumn(colKey); }; - ColumnApi.prototype.addRowGroupColumns = function (colKeys) { this._columnController.addRowGroupColumns(colKeys); }; - ColumnApi.prototype.getRowGroupColumns = function () { return this._columnController.getRowGroupColumns(); }; - ColumnApi.prototype.setPivotColumns = function (colKeys) { this._columnController.setPivotColumns(colKeys); }; - ColumnApi.prototype.removePivotColumn = function (colKey) { this._columnController.removePivotColumn(colKey); }; - ColumnApi.prototype.removePivotColumns = function (colKeys) { this._columnController.removePivotColumns(colKeys); }; - ColumnApi.prototype.addPivotColumn = function (colKey) { this._columnController.addPivotColumn(colKey); }; - ColumnApi.prototype.addPivotColumns = function (colKeys) { this._columnController.addPivotColumns(colKeys); }; - ColumnApi.prototype.getPivotColumns = function () { return this._columnController.getPivotColumns(); }; - ColumnApi.prototype.getLeftDisplayedColumnGroups = function () { return this._columnController.getLeftDisplayedColumnGroups(); }; - ColumnApi.prototype.getCenterDisplayedColumnGroups = function () { return this._columnController.getCenterDisplayedColumnGroups(); }; - ColumnApi.prototype.getRightDisplayedColumnGroups = function () { return this._columnController.getRightDisplayedColumnGroups(); }; - ColumnApi.prototype.getAllDisplayedColumnGroups = function () { return this._columnController.getAllDisplayedColumnGroups(); }; - ColumnApi.prototype.autoSizeColumn = function (key) { return this._columnController.autoSizeColumn(key); }; - ColumnApi.prototype.autoSizeColumns = function (keys) { return this._columnController.autoSizeColumns(keys); }; - ColumnApi.prototype.autoSizeAllColumns = function () { this._columnController.autoSizeAllColumns(); }; - ColumnApi.prototype.setSecondaryColumns = function (colDefs) { this._columnController.setSecondaryColumns(colDefs); }; - // below goes through deprecated items, prints message to user, then calls the new version of the same method - ColumnApi.prototype.columnGroupOpened = function (group, newValue) { - console.error('ag-Grid: columnGroupOpened no longer exists, use setColumnGroupOpened'); - this.setColumnGroupOpened(group, newValue); - }; - ColumnApi.prototype.hideColumns = function (colIds, hide) { - console.error('ag-Grid: hideColumns is deprecated, use setColumnsVisible'); - this._columnController.setColumnsVisible(colIds, !hide); - }; - ColumnApi.prototype.hideColumn = function (colId, hide) { - console.error('ag-Grid: hideColumn is deprecated, use setColumnVisible'); - this._columnController.setColumnVisible(colId, !hide); - }; - ColumnApi.prototype.setState = function (columnState) { - console.error('ag-Grid: setState is deprecated, use setColumnState'); - return this.setColumnState(columnState); - }; - ColumnApi.prototype.getState = function () { - console.error('ag-Grid: getState is deprecated, use getColumnState'); - return this.getColumnState(); - }; - ColumnApi.prototype.resetState = function () { - console.error('ag-Grid: resetState is deprecated, use resetColumnState'); - this.resetColumnState(); - }; - ColumnApi.prototype.getAggregationColumns = function () { - console.error('ag-Grid: getAggregationColumns is deprecated, use getValueColumns'); - return this._columnController.getValueColumns(); - }; - ColumnApi.prototype.removeAggregationColumn = function (colKey) { - console.error('ag-Grid: removeAggregationColumn is deprecated, use removeValueColumn'); - this._columnController.removeValueColumn(colKey); - }; - ColumnApi.prototype.removeAggregationColumns = function (colKeys) { - console.error('ag-Grid: removeAggregationColumns is deprecated, use removeValueColumns'); - this._columnController.removeValueColumns(colKeys); - }; - ColumnApi.prototype.addAggregationColumn = function (colKey) { - console.error('ag-Grid: addAggregationColumn is deprecated, use addValueColumn'); - this._columnController.addValueColumn(colKey); - }; - ColumnApi.prototype.addAggregationColumns = function (colKeys) { - console.error('ag-Grid: addAggregationColumns is deprecated, use addValueColumns'); - this._columnController.addValueColumns(colKeys); - }; - ColumnApi.prototype.setColumnAggFunction = function (column, aggFunc) { - console.error('ag-Grid: setColumnAggFunction is deprecated, use setColumnAggFunc'); - this._columnController.setColumnAggFunc(column, aggFunc); - }; - ColumnApi.prototype.getDisplayNameForCol = function (column) { - console.error('ag-Grid: getDisplayNameForCol is deprecated, use getDisplayNameForColumn'); - return this.getDisplayNameForColumn(column, null); - }; - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", ColumnController) - ], ColumnApi.prototype, "_columnController", void 0); - ColumnApi = __decorate([ - context_1.Bean('columnApi') - ], ColumnApi); - return ColumnApi; -}()); -exports.ColumnApi = ColumnApi; -var ColumnController = (function () { - function ColumnController() { - // header row count, based on user provided columns - this.primaryHeaderRowCount = 0; - this.secondaryHeaderRowCount = 0; - this.secondaryColumnsPresent = false; - // header row count, either above, or based on pivoting if we are pivoting - this.gridHeaderRowCount = 0; - // these are the lists used by the rowRenderer to render nodes. almost the leaf nodes of the above - // displayed trees, however it also takes into account if the groups are open or not. - this.displayedLeftColumns = []; - this.displayedRightColumns = []; - this.displayedCenterColumns = []; - // all three lists above combined - this.allDisplayedColumns = []; - // same as above, except trimmed down to only columns within the viewport - this.allDisplayedVirtualColumns = []; - this.allDisplayedCenterVirtualColumns = []; - this.rowGroupColumns = []; - this.valueColumns = []; - this.pivotColumns = []; - this.ready = false; - this.autoGroupsNeedBuilding = false; - this.pivotMode = false; - this.bodyWidth = 0; - this.leftWidth = 0; - this.rightWidth = 0; - this.bodyWidthDirty = true; - } - ColumnController.prototype.init = function () { - var pivotMode = this.gridOptionsWrapper.isPivotMode(); - if (this.isPivotSettingAllowed(pivotMode)) { - this.pivotMode = pivotMode; - } - this.usingTreeData = this.gridOptionsWrapper.isTreeData(); - }; - ColumnController.prototype.setVirtualViewportLeftAndRight = function () { - if (this.gridOptionsWrapper.isEnableRtl()) { - this.viewportLeft = this.bodyWidth - this.scrollPosition - this.scrollWidth; - this.viewportRight = this.bodyWidth - this.scrollPosition; - } - else { - this.viewportLeft = this.scrollPosition; - this.viewportRight = this.scrollWidth + this.scrollPosition; - } - }; - // used by clipboard service, to know what columns to paste into - ColumnController.prototype.getDisplayedColumnsStartingAt = function (column) { - var currentColumn = column; - var result = []; - while (utils_1.Utils.exists(currentColumn)) { - result.push(currentColumn); - currentColumn = this.getDisplayedColAfter(currentColumn); - } - return result; - }; - // checks what columns are currently displayed due to column virtualisation. fires an event - // if the list of columns has changed. - // + setColumnWidth(), setVirtualViewportPosition(), setColumnDefs(), sizeColumnsToFit() - ColumnController.prototype.checkDisplayedVirtualColumns = function () { - // check displayCenterColumnTree exists first, as it won't exist when grid is initialising - if (utils_1.Utils.exists(this.displayedCenterColumns)) { - var hashBefore = this.allDisplayedVirtualColumns.map(function (column) { return column.getId(); }).join('#'); - this.updateVirtualSets(); - var hashAfter = this.allDisplayedVirtualColumns.map(function (column) { return column.getId(); }).join('#'); - if (hashBefore !== hashAfter) { - var event_1 = { - type: events_1.Events.EVENT_VIRTUAL_COLUMNS_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event_1); - } - } - }; - ColumnController.prototype.setVirtualViewportPosition = function (scrollWidth, scrollPosition) { - if (scrollWidth !== this.scrollWidth || scrollPosition !== this.scrollPosition || this.bodyWidthDirty) { - this.scrollWidth = scrollWidth; - this.scrollPosition = scrollPosition; - // we need to call setVirtualViewportLeftAndRight() at least once after the body width changes, - // as the viewport can stay the same, but in RTL, if body width changes, we need to work out the - // virtual columns again - this.bodyWidthDirty = true; - this.setVirtualViewportLeftAndRight(); - if (this.ready) { - this.checkDisplayedVirtualColumns(); - } - } - }; - ColumnController.prototype.isPivotMode = function () { - return this.pivotMode; - }; - ColumnController.prototype.isPivotSettingAllowed = function (pivot) { - if (pivot) { - if (this.gridOptionsWrapper.isTreeData()) { - console.warn("ag-Grid: Pivot mode not available in conjunction Tree Data i.e. 'gridOptions.treeData: true'"); - return false; - } - else { - return true; - } - } - else { - return true; - } - }; - ColumnController.prototype.setPivotMode = function (pivotMode) { - if (pivotMode === this.pivotMode) { - return; - } - if (!this.isPivotSettingAllowed(this.pivotMode)) { - return; - } - this.pivotMode = pivotMode; - this.updateDisplayedColumns(); - var event = { - type: events_1.Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) { - if (!this.secondaryColumnsPresent) { - return null; - } - var valueColumnToFind = this.getPrimaryColumn(valueColKey); - var foundColumn = null; - this.secondaryColumns.forEach(function (column) { - var thisPivotKeys = column.getColDef().pivotKeys; - var pivotValueColumn = column.getColDef().pivotValueColumn; - var pivotKeyMatches = utils_1.Utils.compareArrays(thisPivotKeys, pivotKeys); - var pivotValueMatches = pivotValueColumn === valueColumnToFind; - if (pivotKeyMatches && pivotValueMatches) { - foundColumn = column; - } - }); - return foundColumn; - }; - ColumnController.prototype.setBeans = function (loggerFactory) { - this.logger = loggerFactory.create('ColumnController'); - }; - ColumnController.prototype.setFirstRightAndLastLeftPinned = function () { - var lastLeft; - var firstRight; - if (this.gridOptionsWrapper.isEnableRtl()) { - lastLeft = this.displayedLeftColumns ? this.displayedLeftColumns[0] : null; - firstRight = this.displayedRightColumns ? this.displayedRightColumns[this.displayedRightColumns.length - 1] : null; - } - else { - lastLeft = this.displayedLeftColumns ? this.displayedLeftColumns[this.displayedLeftColumns.length - 1] : null; - firstRight = this.displayedRightColumns ? this.displayedRightColumns[0] : null; - } - this.gridColumns.forEach(function (column) { - column.setLastLeftPinned(column === lastLeft); - column.setFirstRightPinned(column === firstRight); - }); - }; - ColumnController.prototype.autoSizeColumns = function (keys) { - // because of column virtualisation, we can only do this function on columns that are - // actually rendered, as non-rendered columns (outside the viewport and not rendered - // due to column virtualisation) are not present. this can result in all rendered columns - // getting narrowed, which in turn introduces more rendered columns on the RHS which - // did not get autosized in the original run, leaving the visible grid with columns on - // the LHS sized, but RHS no. so we keep looping through teh visible columns until - // no more cols are available (rendered) to be resized - var _this = this; - // keep track of which cols we have resized in here - var columnsAutosized = []; - // initialise with anything except 0 so that while loop executs at least once - var changesThisTimeAround = -1; - while (changesThisTimeAround !== 0) { - changesThisTimeAround = 0; - this.actionOnGridColumns(keys, function (column) { - // if already autosized, skip it - if (columnsAutosized.indexOf(column) >= 0) { - return; - } - // get how wide this col should be - var preferredWidth = _this.autoWidthCalculator.getPreferredWidthForColumn(column); - // preferredWidth = -1 if this col is not on the screen - if (preferredWidth > 0) { - var newWidth = _this.normaliseColumnWidth(column, preferredWidth); - column.setActualWidth(newWidth); - columnsAutosized.push(column); - changesThisTimeAround++; - } - return true; - }); - } - if (columnsAutosized.length > 0) { - var event_2 = { - type: events_1.Events.EVENT_COLUMN_RESIZED, - columns: columnsAutosized, - column: columnsAutosized.length === 1 ? columnsAutosized[0] : null, - finished: true, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event_2); - } - }; - ColumnController.prototype.autoSizeColumn = function (key) { - this.autoSizeColumns([key]); - }; - ColumnController.prototype.autoSizeAllColumns = function () { - var allDisplayedColumns = this.getAllDisplayedColumns(); - this.autoSizeColumns(allDisplayedColumns); - }; - ColumnController.prototype.getColumnsFromTree = function (rootColumns) { - var result = []; - recursiveFindColumns(rootColumns); - return result; - function recursiveFindColumns(childColumns) { - for (var i = 0; i < childColumns.length; i++) { - var child = childColumns[i]; - if (child instanceof column_1.Column) { - result.push(child); - } - else if (child instanceof originalColumnGroup_1.OriginalColumnGroup) { - recursiveFindColumns(child.getChildren()); - } - } - } - }; - ColumnController.prototype.getAllDisplayedColumnGroups = function () { - if (this.displayedLeftColumnTree && this.displayedRightColumnTree && this.displayedCentreColumnTree) { - return this.displayedLeftColumnTree - .concat(this.displayedCentreColumnTree) - .concat(this.displayedRightColumnTree); - } - else { - return null; - } - }; - // + columnSelectPanel - ColumnController.prototype.getPrimaryColumnTree = function () { - return this.primaryBalancedTree; - }; - // + gridPanel -> for resizing the body and setting top margin - ColumnController.prototype.getHeaderRowCount = function () { - return this.gridHeaderRowCount; - }; - // + headerRenderer -> setting pinned body width - ColumnController.prototype.getLeftDisplayedColumnGroups = function () { - return this.displayedLeftColumnTree; - }; - // + headerRenderer -> setting pinned body width - ColumnController.prototype.getRightDisplayedColumnGroups = function () { - return this.displayedRightColumnTree; - }; - // + headerRenderer -> setting pinned body width - ColumnController.prototype.getCenterDisplayedColumnGroups = function () { - return this.displayedCentreColumnTree; - }; - ColumnController.prototype.getDisplayedColumnGroups = function (type) { - switch (type) { - case column_1.Column.PINNED_LEFT: return this.getLeftDisplayedColumnGroups(); - case column_1.Column.PINNED_RIGHT: return this.getRightDisplayedColumnGroups(); - default: return this.getCenterDisplayedColumnGroups(); - } - }; - // gridPanel -> ensureColumnVisible - ColumnController.prototype.isColumnDisplayed = function (column) { - return this.getAllDisplayedColumns().indexOf(column) >= 0; - }; - // + csvCreator - ColumnController.prototype.getAllDisplayedColumns = function () { - return this.allDisplayedColumns; - }; - ColumnController.prototype.getAllDisplayedVirtualColumns = function () { - return this.allDisplayedVirtualColumns; - }; - ColumnController.prototype.getDisplayedLeftColumnsForRow = function (rowNode) { - if (!this.colSpanActive) { - return this.displayedLeftColumns; - } - else { - return this.getDisplayedColumnsForRow(rowNode, this.displayedLeftColumns); - } - }; - ColumnController.prototype.getDisplayedRightColumnsForRow = function (rowNode) { - if (!this.colSpanActive) { - return this.displayedRightColumns; - } - else { - return this.getDisplayedColumnsForRow(rowNode, this.displayedRightColumns); - } - }; - ColumnController.prototype.getDisplayedColumnsForRow = function (rowNode, displayedColumns, filterCallback, gapBeforeCallback) { - var result = []; - var lastConsideredCol = null; - for (var i = 0; i < displayedColumns.length; i++) { - var col = displayedColumns[i]; - var colSpan = col.getColSpan(rowNode); - if (colSpan > 1) { - var colsToRemove = colSpan - 1; - i += colsToRemove; - } - var filterPasses = filterCallback ? filterCallback(col) : true; - if (filterPasses) { - var gapBeforeColumn = gapBeforeCallback ? gapBeforeCallback(col) : false; - var addInPreviousColumn = result.length === 0 && gapBeforeColumn && lastConsideredCol; - if (addInPreviousColumn) { - result.push(lastConsideredCol); - } - result.push(col); - } - lastConsideredCol = col; - } - return result; - }; - // + rowRenderer - // if we are not column spanning, this just returns back the virtual centre columns, - // however if we are column spanning, then different rows can have different virtual - // columns, so we have to work out the list for each individual row. - ColumnController.prototype.getAllDisplayedCenterVirtualColumnsForRow = function (rowNode) { - var _this = this; - if (!this.colSpanActive) { - return this.allDisplayedCenterVirtualColumns; - } - var gapBeforeCallback = function (col) { return col.getLeft() > _this.viewportLeft; }; - return this.getDisplayedColumnsForRow(rowNode, this.displayedCenterColumns, this.isColumnInViewport.bind(this), gapBeforeCallback); - }; - ColumnController.prototype.isColumnInViewport = function (col) { - var columnLeft = col.getLeft(); - var columnRight = col.getLeft() + col.getActualWidth(); - var columnToMuchLeft = columnLeft < this.viewportLeft && columnRight < this.viewportLeft; - var columnToMuchRight = columnLeft > this.viewportRight && columnRight > this.viewportRight; - return !columnToMuchLeft && !columnToMuchRight; - }; - // used by: - // + angularGrid -> setting pinned body width - // todo: this needs to be cached - ColumnController.prototype.getPinnedLeftContainerWidth = function () { - return this.getWidthOfColsInList(this.displayedLeftColumns); - }; - // todo: this needs to be cached - ColumnController.prototype.getPinnedRightContainerWidth = function () { - return this.getWidthOfColsInList(this.displayedRightColumns); - }; - ColumnController.prototype.updatePrimaryColumnList = function (keys, masterList, actionIsAdd, columnCallback, eventType) { - var _this = this; - if (utils_1.Utils.missingOrEmpty(keys)) { - return; - } - var atLeastOne = false; - keys.forEach(function (key) { - var columnToAdd = _this.getPrimaryColumn(key); - if (!columnToAdd) { - return; - } - if (actionIsAdd) { - if (masterList.indexOf(columnToAdd) >= 0) { - return; - } - masterList.push(columnToAdd); - } - else { - if (masterList.indexOf(columnToAdd) < 0) { - return; - } - utils_1.Utils.removeFromArray(masterList, columnToAdd); - } - columnCallback(columnToAdd); - atLeastOne = true; - }); - if (!atLeastOne) { - return; - } - this.updateDisplayedColumns(); - var event = { - type: eventType, - columns: masterList, - column: masterList.length === 1 ? masterList[0] : null, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.setRowGroupColumns = function (colKeys) { - this.autoGroupsNeedBuilding = true; - this.setPrimaryColumnList(colKeys, this.rowGroupColumns, events_1.Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.setRowGroupActive.bind(this)); - }; - ColumnController.prototype.setRowGroupActive = function (active, column) { - if (active === column.isRowGroupActive()) { - return; - } - column.setRowGroupActive(active); - if (!active) { - column.setVisible(true); - } - }; - ColumnController.prototype.addRowGroupColumn = function (key) { - this.addRowGroupColumns([key]); - }; - ColumnController.prototype.addRowGroupColumns = function (keys) { - this.autoGroupsNeedBuilding = true; - this.updatePrimaryColumnList(keys, this.rowGroupColumns, true, this.setRowGroupActive.bind(this, true), events_1.Events.EVENT_COLUMN_ROW_GROUP_CHANGED); - }; - ColumnController.prototype.removeRowGroupColumns = function (keys) { - this.autoGroupsNeedBuilding = true; - this.updatePrimaryColumnList(keys, this.rowGroupColumns, false, this.setRowGroupActive.bind(this, false), events_1.Events.EVENT_COLUMN_ROW_GROUP_CHANGED); - }; - ColumnController.prototype.removeRowGroupColumn = function (key) { - this.removeRowGroupColumns([key]); - }; - ColumnController.prototype.addPivotColumns = function (keys) { - this.updatePrimaryColumnList(keys, this.pivotColumns, true, function (column) { return column.setPivotActive(true); }, events_1.Events.EVENT_COLUMN_PIVOT_CHANGED); - }; - ColumnController.prototype.setPivotColumns = function (colKeys) { - this.setPrimaryColumnList(colKeys, this.pivotColumns, events_1.Events.EVENT_COLUMN_PIVOT_CHANGED, function (added, column) { - column.setPivotActive(added); - }); - }; - ColumnController.prototype.addPivotColumn = function (key) { - this.addPivotColumns([key]); - }; - ColumnController.prototype.removePivotColumns = function (keys) { - this.updatePrimaryColumnList(keys, this.pivotColumns, false, function (column) { return column.setPivotActive(false); }, events_1.Events.EVENT_COLUMN_PIVOT_CHANGED); - }; - ColumnController.prototype.removePivotColumn = function (key) { - this.removePivotColumns([key]); - }; - ColumnController.prototype.setPrimaryColumnList = function (colKeys, masterList, eventName, columnCallback) { - var _this = this; - masterList.length = 0; - if (utils_1.Utils.exists(colKeys)) { - colKeys.forEach(function (key) { - var column = _this.getPrimaryColumn(key); - masterList.push(column); - }); - } - this.primaryColumns.forEach(function (column) { - var added = masterList.indexOf(column) >= 0; - columnCallback(added, column); - }); - this.updateDisplayedColumns(); - var event = { - type: eventName, - columns: masterList, - column: masterList.length === 1 ? masterList[0] : null, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.setValueColumns = function (colKeys) { - this.setPrimaryColumnList(colKeys, this.valueColumns, events_1.Events.EVENT_COLUMN_VALUE_CHANGED, this.setValueActive.bind(this)); - }; - ColumnController.prototype.setValueActive = function (active, column) { - if (active === column.isValueActive()) { - return; - } - column.setValueActive(active); - if (active && !column.getAggFunc()) { - var defaultAggFunc = this.aggFuncService.getDefaultAggFunc(column); - column.setAggFunc(defaultAggFunc); - } - }; - ColumnController.prototype.addValueColumns = function (keys) { - this.updatePrimaryColumnList(keys, this.valueColumns, true, this.setValueActive.bind(this, true), events_1.Events.EVENT_COLUMN_VALUE_CHANGED); - }; - ColumnController.prototype.addValueColumn = function (colKey) { - this.addValueColumns([colKey]); - }; - ColumnController.prototype.removeValueColumn = function (colKey) { - this.removeValueColumns([colKey]); - }; - ColumnController.prototype.removeValueColumns = function (keys) { - this.updatePrimaryColumnList(keys, this.valueColumns, false, this.setValueActive.bind(this, false), events_1.Events.EVENT_COLUMN_VALUE_CHANGED); - }; - // returns the width we can set to this col, taking into consideration min and max widths - ColumnController.prototype.normaliseColumnWidth = function (column, newWidth) { - if (newWidth < column.getMinWidth()) { - newWidth = column.getMinWidth(); - } - if (column.isGreaterThanMax(newWidth)) { - newWidth = column.getMaxWidth(); - } - return newWidth; - }; - ColumnController.prototype.getPrimaryOrGridColumn = function (key) { - var column = this.getPrimaryColumn(key); - if (column) { - return column; - } - else { - return this.getGridColumn(key); - } - }; - ColumnController.prototype.setColumnWidth = function (key, newWidth, finished) { - var column = this.getPrimaryOrGridColumn(key); - if (!column) { - return; - } - newWidth = this.normaliseColumnWidth(column, newWidth); - var widthChanged = column.getActualWidth() !== newWidth; - if (widthChanged) { - column.setActualWidth(newWidth); - this.setLeftValues(); - } - this.updateBodyWidths(); - this.checkDisplayedVirtualColumns(); - // check for change first, to avoid unnecessary firing of events - // however we always fire 'finished' events. this is important - // when groups are resized, as if the group is changing slowly, - // eg 1 pixel at a time, then each change will fire change events - // in all the columns in the group, but only one with get the pixel. - if (finished || widthChanged) { - var event_3 = { - type: events_1.Events.EVENT_COLUMN_RESIZED, - columns: [column], - column: column, - finished: finished, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event_3); - } - }; - ColumnController.prototype.setColumnAggFunc = function (column, aggFunc) { - column.setAggFunc(aggFunc); - var event = { - type: events_1.Events.EVENT_COLUMN_VALUE_CHANGED, - columns: [column], - column: column, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.moveRowGroupColumn = function (fromIndex, toIndex) { - var column = this.rowGroupColumns[fromIndex]; - this.rowGroupColumns.splice(fromIndex, 1); - this.rowGroupColumns.splice(toIndex, 0, column); - var event = { - type: events_1.Events.EVENT_COLUMN_ROW_GROUP_CHANGED, - columns: this.rowGroupColumns, - column: this.rowGroupColumns.length === 1 ? this.rowGroupColumns[0] : null, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.moveColumns = function (columnsToMoveKeys, toIndex) { - this.columnAnimationService.start(); - if (toIndex > this.gridColumns.length - columnsToMoveKeys.length) { - console.warn('ag-Grid: tried to insert columns in invalid location, toIndex = ' + toIndex); - console.warn('ag-Grid: remember that you should not count the moving columns when calculating the new index'); - return; - } - // we want to pull all the columns out first and put them into an ordered list - var columnsToMove = this.getGridColumns(columnsToMoveKeys); - var failedRules = !this.doesMovePassRules(columnsToMove, toIndex); - if (failedRules) { - return; - } - utils_1.Utils.moveInArray(this.gridColumns, columnsToMove, toIndex); - this.updateDisplayedColumns(); - var event = { - type: events_1.Events.EVENT_COLUMN_MOVED, - columns: columnsToMove, - column: columnsToMove.length === 1 ? columnsToMove[0] : null, - toIndex: toIndex, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - this.columnAnimationService.finish(); - }; - ColumnController.prototype.doesMovePassRules = function (columnsToMove, toIndex) { - var allColumnsCopy = this.gridColumns.slice(); - utils_1.Utils.moveInArray(allColumnsCopy, columnsToMove, toIndex); - var rulesPass = true; - this.columnUtils.depthFirstOriginalTreeSearch(this.gridBalancedTree, function (child) { - if (!(child instanceof originalColumnGroup_1.OriginalColumnGroup)) { - return; - } - var columnGroup = child; - var marryChildren = columnGroup.getColGroupDef() && columnGroup.getColGroupDef().marryChildren; - if (!marryChildren) { - return; - } - var newIndexes = []; - columnGroup.getLeafColumns().forEach(function (col) { - var newColIndex = allColumnsCopy.indexOf(col); - newIndexes.push(newColIndex); - }); - var maxIndex = Math.max.apply(Math, newIndexes); - var minIndex = Math.min.apply(Math, newIndexes); - // width is how far the first column in this group is away from the last column - var spread = maxIndex - minIndex; - var maxSpread = columnGroup.getLeafColumns().length - 1; - // if the columns - if (spread > maxSpread) { - rulesPass = false; - } - // console.log(`maxIndex = ${maxIndex}, minIndex = ${minIndex}, spread = ${spread}, maxSpread = ${maxSpread}, fail = ${spread > (count-1)}`) - // console.log(allColumnsCopy.map( col => col.getColDef().field).join(',')); - }); - return rulesPass; - }; - ColumnController.prototype.moveColumn = function (key, toIndex) { - this.moveColumns([key], toIndex); - }; - ColumnController.prototype.moveColumnByIndex = function (fromIndex, toIndex) { - var column = this.gridColumns[fromIndex]; - this.moveColumn(column, toIndex); - }; - // used by: - // + angularGrid -> for setting body width - // + rowController -> setting main row widths (when inserting and resizing) - // need to cache this - ColumnController.prototype.getBodyContainerWidth = function () { - return this.bodyWidth; - }; - ColumnController.prototype.getContainerWidth = function (pinned) { - switch (pinned) { - case column_1.Column.PINNED_LEFT: return this.leftWidth; - case column_1.Column.PINNED_RIGHT: return this.rightWidth; - default: return this.bodyWidth; - } - }; - // after setColumnWidth or updateGroupsAndDisplayedColumns - ColumnController.prototype.updateBodyWidths = function () { - var newBodyWidth = this.getWidthOfColsInList(this.displayedCenterColumns); - var newLeftWidth = this.getWidthOfColsInList(this.displayedLeftColumns); - var newRightWidth = this.getWidthOfColsInList(this.displayedRightColumns); - // this is used by virtual col calculation, for RTL only, as a change to body width can impact displayed - // columns, due to RTL inverting the y coordinates - this.bodyWidthDirty = this.bodyWidth !== newBodyWidth; - var atLeastOneChanged = this.bodyWidth !== newBodyWidth || this.leftWidth !== newLeftWidth || this.rightWidth !== newRightWidth; - if (atLeastOneChanged) { - this.bodyWidth = newBodyWidth; - this.leftWidth = newLeftWidth; - this.rightWidth = newRightWidth; - // when this fires, it is picked up by the gridPanel, which ends up in - // gridPanel calling setWidthAndScrollPosition(), which in turn calls setVirtualViewportPosition() - var event_4 = { - type: events_1.Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event_4); - } - }; - // + rowController - ColumnController.prototype.getValueColumns = function () { - return this.valueColumns ? this.valueColumns : []; - }; - // + rowController - ColumnController.prototype.getPivotColumns = function () { - return this.pivotColumns ? this.pivotColumns : []; - }; - // + inMemoryRowModel - ColumnController.prototype.isPivotActive = function () { - return this.pivotColumns && this.pivotColumns.length > 0 && this.pivotMode; - }; - // + toolPanel - ColumnController.prototype.getRowGroupColumns = function () { - return this.rowGroupColumns ? this.rowGroupColumns : []; - }; - // + rowController -> while inserting rows - ColumnController.prototype.getDisplayedCenterColumns = function () { - return this.displayedCenterColumns; - }; - // + rowController -> while inserting rows - ColumnController.prototype.getDisplayedLeftColumns = function () { - return this.displayedLeftColumns; - }; - ColumnController.prototype.getDisplayedRightColumns = function () { - return this.displayedRightColumns; - }; - ColumnController.prototype.getDisplayedColumns = function (type) { - switch (type) { - case column_1.Column.PINNED_LEFT: return this.getDisplayedLeftColumns(); - case column_1.Column.PINNED_RIGHT: return this.getDisplayedRightColumns(); - default: return this.getDisplayedCenterColumns(); - } - }; - // used by: - // + inMemoryRowController -> sorting, building quick filter text - // + headerRenderer -> sorting (clearing icon) - ColumnController.prototype.getAllPrimaryColumns = function () { - return this.primaryColumns; - }; - // + moveColumnController - ColumnController.prototype.getAllGridColumns = function () { - return this.gridColumns; - }; - ColumnController.prototype.isEmpty = function () { - return utils_1.Utils.missingOrEmpty(this.gridColumns); - }; - ColumnController.prototype.isRowGroupEmpty = function () { - return utils_1.Utils.missingOrEmpty(this.rowGroupColumns); - }; - ColumnController.prototype.setColumnVisible = function (key, visible) { - this.setColumnsVisible([key], visible); - }; - ColumnController.prototype.setColumnsVisible = function (keys, visible) { - var _this = this; - this.columnAnimationService.start(); - this.actionOnGridColumns(keys, function (column) { - column.setVisible(visible); - return true; - }, function () { - var event = { - type: events_1.Events.EVENT_COLUMN_VISIBLE, - visible: visible, - column: null, - columns: null, - api: _this.gridApi, - columnApi: _this.columnApi - }; - return event; - }); - this.columnAnimationService.finish(); - }; - ColumnController.prototype.setColumnPinned = function (key, pinned) { - this.setColumnsPinned([key], pinned); - }; - ColumnController.prototype.setColumnsPinned = function (keys, pinned) { - var _this = this; - this.columnAnimationService.start(); - var actualPinned; - if (pinned === true || pinned === column_1.Column.PINNED_LEFT) { - actualPinned = column_1.Column.PINNED_LEFT; - } - else if (pinned === column_1.Column.PINNED_RIGHT) { - actualPinned = column_1.Column.PINNED_RIGHT; - } - else { - actualPinned = null; - } - this.actionOnGridColumns(keys, function (col) { - if (col.getPinned() !== actualPinned) { - col.setPinned(actualPinned); - return true; - } - else { - return false; - } - }, function () { - var event = { - type: events_1.Events.EVENT_COLUMN_PINNED, - pinned: actualPinned, - column: null, - columns: null, - api: _this.gridApi, - columnApi: _this.columnApi - }; - return event; - }); - this.columnAnimationService.finish(); - }; - // does an action on a set of columns. provides common functionality for looking up the - // columns based on key, getting a list of effected columns, and then updated the event - // with either one column (if it was just one col) or a list of columns - // used by: autoResize, setVisible, setPinned - ColumnController.prototype.actionOnGridColumns = function (// the column keys this action will be on - keys, - // the action to do - if this returns false, the column was skipped - // and won't be included in the event - action, - // should return back a column event of the right type - createEvent) { - var _this = this; - if (utils_1.Utils.missingOrEmpty(keys)) { - return; - } - var updatedColumns = []; - keys.forEach(function (key) { - var column = _this.getGridColumn(key); - if (!column) { - return; - } - // need to check for false with type (ie !== instead of !=) - // as not returning anything (undefined) would also be false - var resultOfAction = action(column); - if (resultOfAction !== false) { - updatedColumns.push(column); - } - }); - if (updatedColumns.length === 0) { - return; - } - this.updateDisplayedColumns(); - if (utils_1.Utils.exists(createEvent)) { - var event_5 = createEvent(); - event_5.columns = updatedColumns; - event_5.column = updatedColumns.length === 1 ? updatedColumns[0] : null; - this.eventService.dispatchEvent(event_5); - } - }; - ColumnController.prototype.getDisplayedColBefore = function (col) { - var allDisplayedColumns = this.getAllDisplayedColumns(); - var oldIndex = allDisplayedColumns.indexOf(col); - if (oldIndex > 0) { - return allDisplayedColumns[oldIndex - 1]; - } - else { - return null; - } - }; - // used by: - // + rowRenderer -> for navigation - ColumnController.prototype.getDisplayedColAfter = function (col) { - var allDisplayedColumns = this.getAllDisplayedColumns(); - var oldIndex = allDisplayedColumns.indexOf(col); - if (oldIndex < (allDisplayedColumns.length - 1)) { - return allDisplayedColumns[oldIndex + 1]; - } - else { - return null; - } - }; - ColumnController.prototype.isPinningLeft = function () { - return this.displayedLeftColumns.length > 0; - }; - ColumnController.prototype.isPinningRight = function () { - return this.displayedRightColumns.length > 0; - }; - ColumnController.prototype.getPrimaryAndSecondaryAndAutoColumns = function () { - var result = this.primaryColumns ? this.primaryColumns.slice(0) : []; - if (utils_1.Utils.exists(this.groupAutoColumns)) { - this.groupAutoColumns.forEach(function (col) { return result.push(col); }); - } - if (this.secondaryColumnsPresent) { - this.secondaryColumns.forEach(function (column) { return result.push(column); }); - } - return result; - }; - ColumnController.prototype.createStateItemFromColumn = function (column) { - var rowGroupIndex = column.isRowGroupActive() ? this.rowGroupColumns.indexOf(column) : null; - var pivotIndex = column.isPivotActive() ? this.pivotColumns.indexOf(column) : null; - var aggFunc = column.isValueActive() ? column.getAggFunc() : null; - var resultItem = { - colId: column.getColId(), - hide: !column.isVisible(), - aggFunc: aggFunc, - width: column.getActualWidth(), - pivotIndex: pivotIndex, - pinned: column.getPinned(), - rowGroupIndex: rowGroupIndex - }; - return resultItem; - }; - ColumnController.prototype.getColumnState = function () { - if (utils_1.Utils.missing(this.primaryColumns)) { - return []; - } - var columnStateList = this.primaryColumns.map(this.createStateItemFromColumn.bind(this)); - if (!this.pivotMode) { - this.orderColumnStateList(columnStateList); - } - return columnStateList; - }; - ColumnController.prototype.orderColumnStateList = function (columnStateList) { - var gridColumnIds = this.gridColumns.map(function (column) { return column.getColId(); }); - columnStateList.sort(function (itemA, itemB) { - var posA = gridColumnIds.indexOf(itemA.colId); - var posB = gridColumnIds.indexOf(itemB.colId); - return posA - posB; - }); - }; - ColumnController.prototype.resetColumnState = function () { - // we can't use 'allColumns' as the order might of messed up, so get the primary ordered list - var primaryColumns = this.getColumnsFromTree(this.primaryBalancedTree); - var state = []; - if (primaryColumns) { - primaryColumns.forEach(function (column) { - state.push({ - colId: column.getColId(), - aggFunc: column.getColDef().aggFunc, - hide: column.getColDef().hide, - pinned: column.getColDef().pinned, - rowGroupIndex: column.getColDef().rowGroupIndex, - pivotIndex: column.getColDef().pivotIndex, - width: column.getColDef().width - }); - }); - } - this.setColumnState(state); - }; - ColumnController.prototype.setColumnState = function (columnState) { - var _this = this; - if (utils_1.Utils.missingOrEmpty(this.primaryColumns)) { - return false; - } - this.autoGroupsNeedBuilding = true; - // at the end below, this list will have all columns we got no state for - var columnsWithNoState = this.primaryColumns.slice(); - this.rowGroupColumns = []; - this.valueColumns = []; - this.pivotColumns = []; - var success = true; - var rowGroupIndexes = {}; - var pivotIndexes = {}; - if (columnState) { - columnState.forEach(function (stateItem) { - var column = _this.getPrimaryColumn(stateItem.colId); - if (!column) { - console.warn('ag-grid: column ' + stateItem.colId + ' not found'); - success = false; - } - else { - _this.syncColumnWithStateItem(column, stateItem, rowGroupIndexes, pivotIndexes); - utils_1.Utils.removeFromArray(columnsWithNoState, column); - } - }); - } - // anything left over, we got no data for, so add in the column as non-value, non-rowGroup and hidden - columnsWithNoState.forEach(this.syncColumnWithNoState.bind(this)); - // sort the lists according to the indexes that were provided - this.rowGroupColumns.sort(this.sortColumnListUsingIndexes.bind(this, rowGroupIndexes)); - this.pivotColumns.sort(this.sortColumnListUsingIndexes.bind(this, pivotIndexes)); - this.copyDownGridColumns(); - var orderOfColIds = columnState.map(function (stateItem) { return stateItem.colId; }); - this.gridColumns.sort(function (colA, colB) { - var indexA = orderOfColIds.indexOf(colA.getId()); - var indexB = orderOfColIds.indexOf(colB.getId()); - return indexA - indexB; - }); - this.updateDisplayedColumns(); - var event = { - type: events_1.Events.EVENT_COLUMN_EVERYTHING_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - return success; - }; - ColumnController.prototype.sortColumnListUsingIndexes = function (indexes, colA, colB) { - var indexA = indexes[colA.getId()]; - var indexB = indexes[colB.getId()]; - return indexA - indexB; - }; - ColumnController.prototype.syncColumnWithNoState = function (column) { - column.setVisible(false); - column.setAggFunc(null); - column.setPinned(null); - column.setRowGroupActive(false); - column.setPivotActive(false); - column.setValueActive(false); - }; - ColumnController.prototype.syncColumnWithStateItem = function (column, stateItem, rowGroupIndexes, pivotIndexes) { - // following ensures we are left with boolean true or false, eg converts (null, undefined, 0) all to true - column.setVisible(!stateItem.hide); - // sets pinned to 'left' or 'right' - column.setPinned(stateItem.pinned); - // if width provided and valid, use it, otherwise stick with the old width - if (stateItem.width >= this.gridOptionsWrapper.getMinColWidth()) { - column.setActualWidth(stateItem.width); - } - if (typeof stateItem.aggFunc === 'string') { - column.setAggFunc(stateItem.aggFunc); - column.setValueActive(true); - this.valueColumns.push(column); - } - else { - if (utils_1.Utils.exists(stateItem.aggFunc)) { - console.warn('ag-Grid: stateItem.aggFunc must be a string. if using your own aggregation ' + - 'functions, register the functions first before using them in get/set state. This is because it is' + - 'intended for the column state to be stored and retrieved as simple JSON.'); - } - column.setAggFunc(null); - column.setValueActive(false); - } - if (typeof stateItem.rowGroupIndex === 'number') { - this.rowGroupColumns.push(column); - column.setRowGroupActive(true); - rowGroupIndexes[column.getId()] = stateItem.rowGroupIndex; - } - else { - column.setRowGroupActive(false); - } - if (typeof stateItem.pivotIndex === 'number') { - this.pivotColumns.push(column); - column.setPivotActive(true); - pivotIndexes[column.getId()] = stateItem.pivotIndex; - } - else { - column.setPivotActive(false); - } - }; - ColumnController.prototype.getGridColumns = function (keys) { - return this.getColumns(keys, this.getGridColumn.bind(this)); - }; - ColumnController.prototype.getColumns = function (keys, columnLookupCallback) { - var foundColumns = []; - if (keys) { - keys.forEach(function (key) { - var column = columnLookupCallback(key); - if (column) { - foundColumns.push(column); - } - }); - } - return foundColumns; - }; - // used by growGroupPanel - ColumnController.prototype.getColumnWithValidation = function (key) { - var column = this.getPrimaryColumn(key); - if (!column) { - console.warn('ag-Grid: could not find column ' + column); - } - return column; - }; - ColumnController.prototype.getPrimaryColumn = function (key) { - return this.getColumn(key, this.primaryColumns); - }; - ColumnController.prototype.getGridColumn = function (key) { - return this.getColumn(key, this.gridColumns); - }; - ColumnController.prototype.getColumn = function (key, columnList) { - if (!key) { - return null; - } - for (var i = 0; i < columnList.length; i++) { - if (this.columnsMatch(columnList[i], key)) { - return columnList[i]; - } - } - return this.getAutoColumn(key); - }; - ColumnController.prototype.getAutoColumn = function (key) { - var _this = this; - if (!utils_1.Utils.exists(this.groupAutoColumns) || utils_1.Utils.missing(this.groupAutoColumns)) { - return null; - } - return utils_1.Utils.find(this.groupAutoColumns, function (groupCol) { - return _this.columnsMatch(groupCol, key); - }); - }; - ColumnController.prototype.columnsMatch = function (column, key) { - var columnMatches = column === key; - var colDefMatches = column.getColDef() === key; - var idMatches = column.getColId() == key; - return columnMatches || colDefMatches || idMatches; - }; - ColumnController.prototype.getDisplayNameForColumn = function (column, location, includeAggFunc) { - if (includeAggFunc === void 0) { includeAggFunc = false; } - var headerName = this.getHeaderName(column.getColDef(), column, null, location); - if (includeAggFunc) { - return this.wrapHeaderNameWithAggFunc(column, headerName); - } - else { - return headerName; - } - }; - ColumnController.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) { - var colGroupDef = columnGroup.getOriginalColumnGroup().getColGroupDef(); - if (colGroupDef) { - return this.getHeaderName(colGroupDef, null, columnGroup, location); - } - else { - return null; - } - }; - // location is where the column is going to appear, ie who is calling us - ColumnController.prototype.getHeaderName = function (colDef, column, columnGroup, location) { - var headerValueGetter = colDef.headerValueGetter; - if (headerValueGetter) { - var params = { - colDef: colDef, - column: column, - columnGroup: columnGroup, - location: location, - api: this.gridOptionsWrapper.getApi(), - context: this.gridOptionsWrapper.getContext() - }; - if (typeof headerValueGetter === 'function') { - // valueGetter is a function, so just call it - return headerValueGetter(params); - } - else if (typeof headerValueGetter === 'string') { - // valueGetter is an expression, so execute the expression - return this.expressionService.evaluate(headerValueGetter, params); - } - else { - console.warn('ag-grid: headerValueGetter must be a function or a string'); - return ''; - } - } - else if (colDef.headerName != null) { - return colDef.headerName; - } - else if (colDef.field) { - return utils_1.Utils.camelCaseToHumanText(colDef.field); - } - else { - return ''; - } - }; - /* - private getHeaderGroupName(columnGroup: ColumnGroup): string { - let colGroupDef = columnGroup.getOriginalColumnGroup().getColGroupDef(); - let headerValueGetter = colGroupDef.headerValueGetter; - - if (headerValueGetter) { - let params = { - columnGroup: columnGroup, - colDef: colGroupDef, - api: this.gridOptionsWrapper.getApi(), - context: this.gridOptionsWrapper.getContext() - }; - - if (typeof headerValueGetter === 'function') { - // valueGetter is a function, so just call it - return headerValueGetter(params); - } else if (typeof headerValueGetter === 'string') { - // valueGetter is an expression, so execute the expression - return this.expressionService.evaluate(headerValueGetter, params); - } else { - console.warn('ag-grid: headerValueGetter must be a function or a string'); - return ''; - } - } else { - return colGroupDef.headerName; - } - } - */ - ColumnController.prototype.wrapHeaderNameWithAggFunc = function (column, headerName) { - if (this.gridOptionsWrapper.isSuppressAggFuncInHeader()) { - return headerName; - } - // only columns with aggregation active can have aggregations - var pivotValueColumn = column.getColDef().pivotValueColumn; - var pivotActiveOnThisColumn = utils_1.Utils.exists(pivotValueColumn); - var aggFunc = null; - var aggFuncFound; - // otherwise we have a measure that is active, and we are doing aggregation on it - if (pivotActiveOnThisColumn) { - aggFunc = pivotValueColumn.getAggFunc(); - aggFuncFound = true; - } - else { - var measureActive = column.isValueActive(); - var aggregationPresent = this.pivotMode || !this.isRowGroupEmpty(); - if (measureActive && aggregationPresent) { - aggFunc = column.getAggFunc(); - aggFuncFound = true; - } - else { - aggFuncFound = false; - } - } - if (aggFuncFound) { - var aggFuncString = (typeof aggFunc === 'string') ? aggFunc : 'func'; - var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc(); - var aggFuncStringTranslated = localeTextFunc(aggFuncString, aggFuncString); - return aggFuncStringTranslated + "(" + headerName + ")"; - } - else { - return headerName; - } - }; - // returns the group with matching colId and instanceId. If instanceId is missing, - // matches only on the colId. - ColumnController.prototype.getColumnGroup = function (colId, instanceId) { - if (!colId) { - return null; - } - if (colId instanceof columnGroup_1.ColumnGroup) { - return colId; - } - var allColumnGroups = this.getAllDisplayedColumnGroups(); - var checkInstanceId = typeof instanceId === 'number'; - var result = null; - this.columnUtils.depthFirstAllColumnTreeSearch(allColumnGroups, function (child) { - if (child instanceof columnGroup_1.ColumnGroup) { - var columnGroup = child; - var matched = void 0; - if (checkInstanceId) { - matched = colId === columnGroup.getGroupId() && instanceId === columnGroup.getInstanceId(); - } - else { - matched = colId === columnGroup.getGroupId(); - } - if (matched) { - result = columnGroup; - } - } - }); - return result; - }; - ColumnController.prototype.setColumnDefs = function (columnDefs) { - // always invalidate cache on changing columns, as the column id's for the new columns - // could overlap with the old id's, so the cache would return old values for new columns. - this.valueCache.expire(); - // NOTE ================== - // we should be destroying the existing columns and groups if they exist, for example, the original column - // group adds a listener to the columns, it should be also removing the listeners - this.autoGroupsNeedBuilding = true; - var balancedTreeResult = this.balancedColumnTreeBuilder.createBalancedColumnGroups(columnDefs, true); - this.primaryBalancedTree = balancedTreeResult.balancedTree; - this.primaryHeaderRowCount = balancedTreeResult.treeDept + 1; - this.primaryColumns = this.getColumnsFromTree(this.primaryBalancedTree); - this.extractRowGroupColumns(); - this.extractPivotColumns(); - this.createValueColumns(); - this.copyDownGridColumns(); - this.updateDisplayedColumns(); - this.checkDisplayedVirtualColumns(); - this.ready = true; - var eventEverythingChanged = { - type: events_1.Events.EVENT_COLUMN_EVERYTHING_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(eventEverythingChanged); - var newColumnsLoadedEvent = { - type: events_1.Events.EVENT_NEW_COLUMNS_LOADED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(newColumnsLoadedEvent); - }; - ColumnController.prototype.isReady = function () { - return this.ready; - }; - ColumnController.prototype.extractRowGroupColumns = function () { - var _this = this; - this.rowGroupColumns.forEach(function (column) { return column.setRowGroupActive(false); }); - this.rowGroupColumns = []; - // pull out items with rowGroupIndex - this.primaryColumns.forEach(function (column) { - if (typeof column.getColDef().rowGroupIndex === 'number') { - _this.rowGroupColumns.push(column); - column.setRowGroupActive(true); - } - }); - // then sort them - this.rowGroupColumns.sort(function (colA, colB) { - return colA.getColDef().rowGroupIndex - colB.getColDef().rowGroupIndex; - }); - // now just pull out items rowGroup, they will be added at the end - // after the indexed ones, but in the order the columns appear - this.primaryColumns.forEach(function (column) { - if (column.getColDef().rowGroup) { - // if user already specified rowGroupIndex then we skip it as this col already included - if (_this.rowGroupColumns.indexOf(column) >= 0) { - return; - } - _this.rowGroupColumns.push(column); - column.setRowGroupActive(true); - } - }); - }; - ColumnController.prototype.extractPivotColumns = function () { - var _this = this; - this.pivotColumns.forEach(function (column) { return column.setPivotActive(false); }); - this.pivotColumns = []; - // pull out items with pivotIndex - this.primaryColumns.forEach(function (column) { - if (typeof column.getColDef().pivotIndex === 'number') { - _this.pivotColumns.push(column); - column.setPivotActive(true); - } - }); - // then sort them - this.pivotColumns.sort(function (colA, colB) { - return colA.getColDef().pivotIndex - colB.getColDef().pivotIndex; - }); - // now check the boolean equivalent - this.primaryColumns.forEach(function (column) { - if (column.getColDef().pivot) { - // if user already specified pivotIndex then we skip it as this col already included - if (_this.pivotColumns.indexOf(column) >= 0) { - return; - } - _this.pivotColumns.push(column); - column.setPivotActive(true); - } - }); - }; - ColumnController.prototype.resetColumnGroupState = function () { - var stateItems = []; - this.columnUtils.depthFirstOriginalTreeSearch(this.primaryBalancedTree, function (child) { - if (child instanceof originalColumnGroup_1.OriginalColumnGroup) { - var groupState = { - groupId: child.getGroupId(), - open: child.getColGroupDef().openByDefault - }; - stateItems.push(groupState); - } - }); - this.setColumnGroupState(stateItems); - }; - ColumnController.prototype.getColumnGroupState = function () { - var columnGroupState = []; - this.columnUtils.depthFirstOriginalTreeSearch(this.gridBalancedTree, function (node) { - if (node instanceof originalColumnGroup_1.OriginalColumnGroup) { - var originalColumnGroup = node; - columnGroupState.push({ - groupId: originalColumnGroup.getGroupId(), - open: originalColumnGroup.isExpanded() - }); - } - }); - return columnGroupState; - }; - ColumnController.prototype.setColumnGroupState = function (stateItems) { - var _this = this; - this.columnAnimationService.start(); - var impactedGroups = []; - stateItems.forEach(function (stateItem) { - var groupKey = stateItem.groupId; - var newValue = stateItem.open; - var originalColumnGroup = _this.getOriginalColumnGroup(groupKey); - if (!originalColumnGroup) { - return; - } - if (originalColumnGroup.isExpanded() === newValue) { - return; - } - _this.logger.log('columnGroupOpened(' + originalColumnGroup.getGroupId() + ',' + newValue + ')'); - originalColumnGroup.setExpanded(newValue); - impactedGroups.push(originalColumnGroup); - }); - this.updateGroupsAndDisplayedColumns(); - impactedGroups.forEach(function (originalColumnGroup) { - var event = { - type: events_1.Events.EVENT_COLUMN_GROUP_OPENED, - columnGroup: originalColumnGroup, - api: _this.gridApi, - columnApi: _this.columnApi - }; - _this.eventService.dispatchEvent(event); - }); - this.columnAnimationService.finish(); - }; - // called by headerRenderer - when a header is opened or closed - ColumnController.prototype.setColumnGroupOpened = function (key, newValue) { - var keyAsString; - if (key instanceof originalColumnGroup_1.OriginalColumnGroup) { - keyAsString = key.getId(); - } - else { - keyAsString = key; - } - this.setColumnGroupState([{ groupId: keyAsString, open: newValue }]); - }; - ColumnController.prototype.getOriginalColumnGroup = function (key) { - if (key instanceof originalColumnGroup_1.OriginalColumnGroup) { - return key; - } - if (typeof key !== 'string') { - console.error('ag-Grid: group key must be a string'); - } - // otherwise, search for the column group by id - var res = null; - this.columnUtils.depthFirstOriginalTreeSearch(this.gridBalancedTree, function (node) { - if (node instanceof originalColumnGroup_1.OriginalColumnGroup) { - var originalColumnGroup = node; - if (originalColumnGroup.getId() === key) { - res = originalColumnGroup; - } - } - }); - return res; - }; - ColumnController.prototype.calculateColumnsForDisplay = function () { - var columnsForDisplay; - if (this.pivotMode && !this.secondaryColumnsPresent) { - // pivot mode is on, but we are not pivoting, so we only - // show columns we are aggregating on - columnsForDisplay = this.createColumnsToDisplayFromValueColumns(); - } - else { - // otherwise continue as normal. this can be working on the primary - // or secondary columns, whatever the gridColumns are set to - columnsForDisplay = utils_1.Utils.filter(this.gridColumns, function (column) { return column.isVisible(); }); - } - this.createGroupAutoColumnsIfNeeded(); - if (utils_1.Utils.exists(this.groupAutoColumns)) { - columnsForDisplay = this.groupAutoColumns.concat(columnsForDisplay); - } - return columnsForDisplay; - }; - ColumnController.prototype.checkColSpanActiveInCols = function (columns) { - var result = false; - columns.forEach(function (col) { - if (utils_1.Utils.exists(col.getColDef().colSpan)) { - result = true; - } - }); - return result; - }; - ColumnController.prototype.calculateColumnsForGroupDisplay = function () { - var _this = this; - this.groupDisplayColumns = []; - var checkFunc = function (col) { - var colDef = col.getColDef(); - if (colDef && utils_1.Utils.exists(colDef.showRowGroup)) { - _this.groupDisplayColumns.push(col); - } - }; - this.gridColumns.forEach(checkFunc); - if (this.groupAutoColumns) { - this.groupAutoColumns.forEach(checkFunc); - } - }; - ColumnController.prototype.getGroupDisplayColumns = function () { - return this.groupDisplayColumns; - }; - ColumnController.prototype.createColumnsToDisplayFromValueColumns = function () { - var _this = this; - // make a copy of the value columns, so we have to side effects - var result = this.valueColumns.slice(); - // order the columns as per the grid columns. having the order is - // important as without it, reordering of columns would have no impact - result.sort(function (colA, colB) { - return _this.gridColumns.indexOf(colA) - _this.gridColumns.indexOf(colB); - }); - return result; - }; - ColumnController.prototype.updateDisplayedColumns = function () { - var columnsForDisplay = this.calculateColumnsForDisplay(); - this.buildDisplayedTrees(columnsForDisplay); - this.calculateColumnsForGroupDisplay(); - // this is also called when a group is opened or closed - this.updateGroupsAndDisplayedColumns(); - this.setFirstRightAndLastLeftPinned(); - }; - ColumnController.prototype.isSecondaryColumnsPresent = function () { - return this.secondaryColumnsPresent; - }; - ColumnController.prototype.setSecondaryColumns = function (colDefs) { - var newColsPresent = colDefs && colDefs.length > 0; - // if not cols passed, and we had to cols anyway, then do nothing - if (!newColsPresent && !this.secondaryColumnsPresent) { - return; - } - if (newColsPresent) { - this.processSecondaryColumnDefinitions(colDefs); - var balancedTreeResult = this.balancedColumnTreeBuilder.createBalancedColumnGroups(colDefs, false); - this.secondaryBalancedTree = balancedTreeResult.balancedTree; - this.secondaryHeaderRowCount = balancedTreeResult.treeDept + 1; - this.secondaryColumns = this.getColumnsFromTree(this.secondaryBalancedTree); - this.secondaryColumnsPresent = true; - } - else { - this.secondaryBalancedTree = null; - this.secondaryHeaderRowCount = -1; - this.secondaryColumns = null; - this.secondaryColumnsPresent = false; - } - this.copyDownGridColumns(); - this.updateDisplayedColumns(); - }; - ColumnController.prototype.processSecondaryColumnDefinitions = function (colDefs) { - var columnCallback = this.gridOptionsWrapper.getProcessSecondaryColDefFunc(); - var groupCallback = this.gridOptionsWrapper.getProcessSecondaryColGroupDefFunc(); - if (!columnCallback && !groupCallback) { - return; - } - searchForColDefs(colDefs); - function searchForColDefs(colDefs2) { - colDefs2.forEach(function (abstractColDef) { - var isGroup = utils_1.Utils.exists(abstractColDef.children); - if (isGroup) { - var colGroupDef = abstractColDef; - if (groupCallback) { - groupCallback(colGroupDef); - } - searchForColDefs(colGroupDef.children); - } - else { - var colDef = abstractColDef; - if (columnCallback) { - columnCallback(colDef); - } - } - }); - } - }; - // called from: setColumnState, setColumnDefs, setAlternativeColumnDefs - ColumnController.prototype.copyDownGridColumns = function () { - if (this.secondaryColumns) { - this.gridBalancedTree = this.secondaryBalancedTree.slice(); - this.gridHeaderRowCount = this.secondaryHeaderRowCount; - this.gridColumns = this.secondaryColumns.slice(); - } - else { - this.gridBalancedTree = this.primaryBalancedTree.slice(); - this.gridHeaderRowCount = this.primaryHeaderRowCount; - this.gridColumns = this.primaryColumns.slice(); - } - this.clearDisplayedColumns(); - this.colSpanActive = this.checkColSpanActiveInCols(this.gridColumns); - var event = { - type: events_1.Events.EVENT_GRID_COLUMNS_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - // gets called after we copy down grid columns, to make sure any part of the gui - // that tries to draw, eg the header, it will get empty lists of columns rather - // than stale columns. for example, the header will received gridColumnsChanged - // event, so will try and draw, but it will draw successfully when it acts on the - // virtualColumnsChanged event - ColumnController.prototype.clearDisplayedColumns = function () { - this.displayedLeftColumnTree = []; - this.displayedRightColumnTree = []; - this.displayedCentreColumnTree = []; - this.displayedLeftHeaderRows = {}; - this.displayedRightHeaderRows = {}; - this.displayedCentreHeaderRows = {}; - this.displayedLeftColumns = []; - this.displayedRightColumns = []; - this.displayedCenterColumns = []; - this.allDisplayedColumns = []; - this.allDisplayedVirtualColumns = []; - }; - ColumnController.prototype.updateGroupsAndDisplayedColumns = function () { - this.updateGroups(); - this.updateDisplayedColumnsFromTrees(); - this.updateVirtualSets(); - this.updateBodyWidths(); - // this event is picked up by the gui, headerRenderer and rowRenderer, to recalculate what columns to display - var event = { - type: events_1.Events.EVENT_DISPLAYED_COLUMNS_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - ColumnController.prototype.updateDisplayedColumnsFromTrees = function () { - this.addToDisplayedColumns(this.displayedLeftColumnTree, this.displayedLeftColumns); - this.addToDisplayedColumns(this.displayedCentreColumnTree, this.displayedCenterColumns); - this.addToDisplayedColumns(this.displayedRightColumnTree, this.displayedRightColumns); - this.setupAllDisplayedColumns(); - this.setLeftValues(); - }; - ColumnController.prototype.setupAllDisplayedColumns = function () { - if (this.gridOptionsWrapper.isEnableRtl()) { - this.allDisplayedColumns = this.displayedRightColumns - .concat(this.displayedCenterColumns) - .concat(this.displayedLeftColumns); - } - else { - this.allDisplayedColumns = this.displayedLeftColumns - .concat(this.displayedCenterColumns) - .concat(this.displayedRightColumns); - } - }; - // sets the left pixel position of each column - ColumnController.prototype.setLeftValues = function () { - this.setLeftValuesOfColumns(); - this.setLeftValuesOfGroups(); - }; - ColumnController.prototype.setLeftValuesOfColumns = function () { - var _this = this; - // go through each list of displayed columns - var allColumns = this.primaryColumns.slice(0); - // let totalColumnWidth = this.getWidthOfColsInList() - var doingRtl = this.gridOptionsWrapper.isEnableRtl(); - [this.displayedLeftColumns, this.displayedRightColumns, this.displayedCenterColumns].forEach(function (columns) { - if (doingRtl) { - // when doing RTL, we start at the top most pixel (ie RHS) and work backwards - var left_1 = _this.getWidthOfColsInList(columns); - columns.forEach(function (column) { - left_1 -= column.getActualWidth(); - column.setLeft(left_1); - }); - } - else { - // otherwise normal LTR, we start at zero - var left_2 = 0; - columns.forEach(function (column) { - column.setLeft(left_2); - left_2 += column.getActualWidth(); - }); - } - utils_1.Utils.removeAllFromArray(allColumns, columns); - }); - // items left in allColumns are columns not displayed, so remove the left position. this is - // important for the rows, as if a col is made visible, then taken out, then made visible again, - // we don't want the animation of the cell floating in from the old position, whatever that was. - allColumns.forEach(function (column) { - column.setLeft(null); - }); - }; - ColumnController.prototype.setLeftValuesOfGroups = function () { - // a groups left value is the lest left value of it's children - [this.displayedLeftColumnTree, this.displayedRightColumnTree, this.displayedCentreColumnTree].forEach(function (columns) { - columns.forEach(function (column) { - if (column instanceof columnGroup_1.ColumnGroup) { - var columnGroup = column; - columnGroup.checkLeft(); - } - }); - }); - }; - ColumnController.prototype.addToDisplayedColumns = function (displayedColumnTree, displayedColumns) { - displayedColumns.length = 0; - this.columnUtils.depthFirstDisplayedColumnTreeSearch(displayedColumnTree, function (child) { - if (child instanceof column_1.Column) { - displayedColumns.push(child); - } - }); - }; - ColumnController.prototype.updateDisplayedCenterVirtualColumns = function () { - var skipVirtualisation = this.gridOptionsWrapper.isSuppressColumnVirtualisation() || this.gridOptionsWrapper.isForPrint(); - if (skipVirtualisation) { - // no virtualisation, so don't filter - this.allDisplayedCenterVirtualColumns = this.displayedCenterColumns; - } - else { - // filter out what should be visible - this.allDisplayedCenterVirtualColumns = this.filterOutColumnsWithinViewport(); - } - this.allDisplayedVirtualColumns = this.allDisplayedCenterVirtualColumns - .concat(this.displayedLeftColumns) - .concat(this.displayedRightColumns); - // return map of virtual col id's, for easy lookup when building the groups. - // the map will be colId=>true, ie col id's mapping to 'true'. - var result = {}; - this.allDisplayedVirtualColumns.forEach(function (col) { - result[col.getId()] = true; - }); - return result; - }; - ColumnController.prototype.getVirtualHeaderGroupRow = function (type, dept) { - var result; - switch (type) { - case column_1.Column.PINNED_LEFT: - result = this.displayedLeftHeaderRows[dept]; - break; - case column_1.Column.PINNED_RIGHT: - result = this.displayedRightHeaderRows[dept]; - break; - default: - result = this.displayedCentreHeaderRows[dept]; - break; - } - if (utils_1.Utils.missing(result)) { - result = []; - } - return result; - }; - ColumnController.prototype.updateDisplayedVirtualGroups = function (virtualColIds) { - // go through each group, see if any of it's cols are displayed, and if yes, - // then this group is included - this.displayedLeftHeaderRows = {}; - this.displayedRightHeaderRows = {}; - this.displayedCentreHeaderRows = {}; - testGroup(this.displayedLeftColumnTree, this.displayedLeftHeaderRows, 0); - testGroup(this.displayedRightColumnTree, this.displayedRightHeaderRows, 0); - testGroup(this.displayedCentreColumnTree, this.displayedCentreHeaderRows, 0); - function testGroup(children, result, dept) { - var returnValue = false; - for (var i = 0; i < children.length; i++) { - // see if this item is within viewport - var child = children[i]; - var addThisItem = void 0; - if (child instanceof column_1.Column) { - // for column, test if column is included - addThisItem = virtualColIds[child.getId()] === true; - } - else { - // if group, base decision on children - var columnGroup = child; - addThisItem = testGroup(columnGroup.getDisplayedChildren(), result, dept + 1); - } - if (addThisItem) { - returnValue = true; - if (!result[dept]) { - result[dept] = []; - } - result[dept].push(child); - } - } - return returnValue; - } - }; - ColumnController.prototype.updateVirtualSets = function () { - var virtualColIds = this.updateDisplayedCenterVirtualColumns(); - this.updateDisplayedVirtualGroups(virtualColIds); - }; - ColumnController.prototype.filterOutColumnsWithinViewport = function () { - return utils_1.Utils.filter(this.displayedCenterColumns, this.isColumnInViewport.bind(this)); - }; - // called from api - ColumnController.prototype.sizeColumnsToFit = function (gridWidth) { - var _this = this; - // avoid divide by zero - var allDisplayedColumns = this.getAllDisplayedColumns(); - if (gridWidth <= 0 || allDisplayedColumns.length === 0) { - return; - } - var colsToNotSpread = utils_1.Utils.filter(allDisplayedColumns, function (column) { - return column.getColDef().suppressSizeToFit === true; - }); - var colsToSpread = utils_1.Utils.filter(allDisplayedColumns, function (column) { - return column.getColDef().suppressSizeToFit !== true; - }); - // make a copy of the cols that are going to be resized - var colsToFireEventFor = colsToSpread.slice(0); - var finishedResizing = false; - while (!finishedResizing) { - finishedResizing = true; - var availablePixels = gridWidth - this.getWidthOfColsInList(colsToNotSpread); - if (availablePixels <= 0) { - // no width, set everything to minimum - colsToSpread.forEach(function (column) { - column.setMinimum(); - }); - } - else { - var scale = availablePixels / this.getWidthOfColsInList(colsToSpread); - // we set the pixels for the last col based on what's left, as otherwise - // we could be a pixel or two short or extra because of rounding errors. - var pixelsForLastCol = availablePixels; - // backwards through loop, as we are removing items as we go - for (var i = colsToSpread.length - 1; i >= 0; i--) { - var column = colsToSpread[i]; - var newWidth = Math.round(column.getActualWidth() * scale); - if (newWidth < column.getMinWidth()) { - column.setMinimum(); - moveToNotSpread(column); - finishedResizing = false; - } - else if (column.isGreaterThanMax(newWidth)) { - column.setActualWidth(column.getMaxWidth()); - moveToNotSpread(column); - finishedResizing = false; - } - else { - var onLastCol = i === 0; - if (onLastCol) { - column.setActualWidth(pixelsForLastCol); - } - else { - column.setActualWidth(newWidth); - } - } - pixelsForLastCol -= newWidth; - } - } - } - this.setLeftValues(); - this.updateBodyWidths(); - colsToFireEventFor.forEach(function (column) { - var event = { - type: events_1.Events.EVENT_COLUMN_RESIZED, - column: column, - columns: [column], - finished: true, - api: _this.gridApi, - columnApi: _this.columnApi - }; - _this.eventService.dispatchEvent(event); - }); - function moveToNotSpread(column) { - utils_1.Utils.removeFromArray(colsToSpread, column); - colsToNotSpread.push(column); - } - }; - ColumnController.prototype.buildDisplayedTrees = function (visibleColumns) { - var leftVisibleColumns = utils_1.Utils.filter(visibleColumns, function (column) { - return column.getPinned() === 'left'; - }); - var rightVisibleColumns = utils_1.Utils.filter(visibleColumns, function (column) { - return column.getPinned() === 'right'; - }); - var centerVisibleColumns = utils_1.Utils.filter(visibleColumns, function (column) { - return column.getPinned() !== 'left' && column.getPinned() !== 'right'; - }); - var groupInstanceIdCreator = new groupInstanceIdCreator_1.GroupInstanceIdCreator(); - this.displayedLeftColumnTree = this.displayedGroupCreator.createDisplayedGroups(leftVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, this.displayedLeftColumnTree); - this.displayedRightColumnTree = this.displayedGroupCreator.createDisplayedGroups(rightVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, this.displayedRightColumnTree); - this.displayedCentreColumnTree = this.displayedGroupCreator.createDisplayedGroups(centerVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, this.displayedCentreColumnTree); - }; - ColumnController.prototype.updateGroups = function () { - var allGroups = this.getAllDisplayedColumnGroups(); - this.columnUtils.depthFirstAllColumnTreeSearch(allGroups, function (child) { - if (child instanceof columnGroup_1.ColumnGroup) { - var group = child; - group.calculateDisplayedColumns(); - } - }); - }; - ColumnController.prototype.getGroupAutoColumns = function () { - return this.groupAutoColumns; - }; - ColumnController.prototype.createGroupAutoColumnsIfNeeded = function () { - if (!this.autoGroupsNeedBuilding) { - return; - } - this.autoGroupsNeedBuilding = false; - // see if we need to insert the default grouping column - var needAutoColumns = (this.rowGroupColumns.length > 0 || this.usingTreeData) - && !this.gridOptionsWrapper.isGroupSuppressAutoColumn() - && !this.gridOptionsWrapper.isGroupUseEntireRow() - && !this.gridOptionsWrapper.isGroupSuppressRow(); - if (needAutoColumns) { - this.groupAutoColumns = this.autoGroupColService.createAutoGroupColumns(this.rowGroupColumns); - } - else { - this.groupAutoColumns = null; - } - }; - ColumnController.prototype.createValueColumns = function () { - this.valueColumns.forEach(function (column) { return column.setValueActive(false); }); - this.valueColumns = []; - // override with columns that have the aggFunc specified explicitly - for (var i = 0; i < this.primaryColumns.length; i++) { - var column = this.primaryColumns[i]; - if (column.getColDef().aggFunc) { - column.setAggFunc(column.getColDef().aggFunc); - this.valueColumns.push(column); - column.setValueActive(true); - } - } - }; - ColumnController.prototype.getWidthOfColsInList = function (columnList) { - var result = 0; - for (var i = 0; i < columnList.length; i++) { - result += columnList[i].getActualWidth(); - } - return result; - }; - ColumnController.prototype.getGridBalancedTree = function () { - return this.gridBalancedTree; - }; - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], ColumnController.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('expressionService'), - __metadata("design:type", expressionService_1.ExpressionService) - ], ColumnController.prototype, "expressionService", void 0); - __decorate([ - context_1.Autowired('balancedColumnTreeBuilder'), - __metadata("design:type", balancedColumnTreeBuilder_1.BalancedColumnTreeBuilder) - ], ColumnController.prototype, "balancedColumnTreeBuilder", void 0); - __decorate([ - context_1.Autowired('displayedGroupCreator'), - __metadata("design:type", displayedGroupCreator_1.DisplayedGroupCreator) - ], ColumnController.prototype, "displayedGroupCreator", void 0); - __decorate([ - context_1.Autowired('autoWidthCalculator'), - __metadata("design:type", autoWidthCalculator_1.AutoWidthCalculator) - ], ColumnController.prototype, "autoWidthCalculator", void 0); - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], ColumnController.prototype, "eventService", void 0); - __decorate([ - context_1.Autowired('columnUtils'), - __metadata("design:type", columnUtils_1.ColumnUtils) - ], ColumnController.prototype, "columnUtils", void 0); - __decorate([ - context_1.Autowired('gridPanel'), - __metadata("design:type", gridPanel_1.GridPanel) - ], ColumnController.prototype, "gridPanel", void 0); - __decorate([ - context_1.Autowired('context'), - __metadata("design:type", context_1.Context) - ], ColumnController.prototype, "context", void 0); - __decorate([ - context_1.Autowired('columnAnimationService'), - __metadata("design:type", columnAnimationService_1.ColumnAnimationService) - ], ColumnController.prototype, "columnAnimationService", void 0); - __decorate([ - context_1.Autowired('autoGroupColService'), - __metadata("design:type", autoGroupColService_1.AutoGroupColService) - ], ColumnController.prototype, "autoGroupColService", void 0); - __decorate([ - context_1.Optional('aggFuncService'), - __metadata("design:type", Object) - ], ColumnController.prototype, "aggFuncService", void 0); - __decorate([ - context_1.Optional('valueCache'), - __metadata("design:type", valueCache_1.ValueCache) - ], ColumnController.prototype, "valueCache", void 0); - __decorate([ - context_1.Autowired('columnApi'), - __metadata("design:type", ColumnApi) - ], ColumnController.prototype, "columnApi", void 0); - __decorate([ - context_1.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], ColumnController.prototype, "gridApi", void 0); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], ColumnController.prototype, "init", null); - __decorate([ - __param(0, context_1.Qualifier('loggerFactory')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [logger_1.LoggerFactory]), - __metadata("design:returntype", void 0) - ], ColumnController.prototype, "setBeans", null); - ColumnController = __decorate([ - context_1.Bean('columnController') - ], ColumnController); - return ColumnController; -}()); -exports.ColumnController = ColumnController; - - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var logger_1 = __webpack_require__(10); -var utils_1 = __webpack_require__(1); -var context_1 = __webpack_require__(0); -var context_2 = __webpack_require__(0); -var gridOptionsWrapper_1 = __webpack_require__(2); -var EventService = (function () { - function EventService() { - this.allSyncListeners = {}; - this.allAsyncListeners = {}; - this.globalSyncListeners = []; - this.globalAsyncListeners = []; - this.asyncFunctionsQueue = []; - this.scheduled = false; - } - EventService_1 = EventService; - // because this class is used both inside the context and outside the context, we do not - // use autowired attributes, as that would be confusing, as sometimes the attributes - // would be wired, and sometimes not. - // - // the global event servers used by ag-Grid is autowired by the context once, and this - // setBeans method gets called once. - // - // the times when this class is used outside of the context (eg RowNode has an instance of this - // class) then it is not a bean, and this setBeans method is not called. - EventService.prototype.setBeans = function (loggerFactory, gridOptionsWrapper, globalEventListener) { - if (globalEventListener === void 0) { globalEventListener = null; } - this.logger = loggerFactory.create('EventService'); - if (globalEventListener) { - var async = gridOptionsWrapper.useAsyncEvents(); - this.addGlobalListener(globalEventListener, async); - } - }; - EventService.prototype.getListenerList = function (eventType, async) { - var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners; - var listenerList = listenerMap[eventType]; - if (!listenerList) { - listenerList = []; - listenerMap[eventType] = listenerList; - } - return listenerList; - }; - EventService.prototype.addEventListener = function (eventType, listener, async) { - if (async === void 0) { async = false; } - if (!this.assertNotDeprecated(eventType)) - return; - var listenerList = this.getListenerList(eventType, async); - if (listenerList.indexOf(listener) < 0) { - listenerList.push(listener); - } - }; - EventService.prototype.assertNotDeprecated = function (eventType) { - if (eventType === 'floatingRowDataChanged') { - console.warn('ag-Grid: floatingRowDataChanged is now called pinnedRowDataChanged'); - return false; - } - else { - return true; - } - }; - // for some events, it's important that the model gets to hear about them before the view, - // as the model may need to update before the view works on the info. if you register - // via this method, you get notified before the view parts - EventService.prototype.addModalPriorityEventListener = function (eventType, listener, async) { - if (async === void 0) { async = false; } - if (!this.assertNotDeprecated(eventType)) - return; - this.addEventListener(eventType + EventService_1.PRIORITY, listener, async); - }; - EventService.prototype.addGlobalListener = function (listener, async) { - if (async === void 0) { async = false; } - if (async) { - this.globalAsyncListeners.push(listener); - } - else { - this.globalSyncListeners.push(listener); - } - }; - EventService.prototype.removeEventListener = function (eventType, listener, async) { - if (async === void 0) { async = false; } - var listenerList = this.getListenerList(eventType, async); - utils_1.Utils.removeFromArray(listenerList, listener); - }; - EventService.prototype.removeGlobalListener = function (listener, async) { - if (async === void 0) { async = false; } - if (async) { - utils_1.Utils.removeFromArray(this.globalAsyncListeners, listener); - } - else { - utils_1.Utils.removeFromArray(this.globalSyncListeners, listener); - } - }; - // why do we pass the type here? the type is in ColumnChangeEvent, so unless the - // type is not in other types of events??? - EventService.prototype.dispatchEvent = function (event) { - // console.log(`dispatching ${eventType}: ${event}`); - this.dispatchToListeners(event, true); - this.dispatchToListeners(event, false); - }; - EventService.prototype.dispatchToListeners = function (event, async) { - var _this = this; - var globalListeners = async ? this.globalAsyncListeners : this.globalSyncListeners; - var eventType = event.type; - // this allows the columnController to get events before anyone else - var p1ListenerList = this.getListenerList(eventType + EventService_1.PRIORITY, async); - utils_1.Utils.forEachSnapshotFirst(p1ListenerList, function (listener) { - if (async) { - _this.dispatchAsync(function () { return listener(event); }); - } - else { - listener(event); - } - }); - var listenerList = this.getListenerList(eventType, async); - utils_1.Utils.forEachSnapshotFirst(listenerList, function (listener) { - if (async) { - _this.dispatchAsync(function () { return listener(event); }); - } - else { - listener(event); - } - }); - utils_1.Utils.forEachSnapshotFirst(globalListeners, function (listener) { - if (async) { - _this.dispatchAsync(function () { return listener(eventType, event); }); - } - else { - listener(eventType, event); - } - }); - }; - // this gets called inside the grid's thread, for each event that it - // wants to set async. the grid then batches the events into one setTimeout() - // because setTimeout() is an expensive operation. ideally we would have - // each event in it's own setTimeout(), but we batch for performance. - EventService.prototype.dispatchAsync = function (func) { - // add to the queue for executing later in the next VM turn - this.asyncFunctionsQueue.push(func); - // check if timeout is already scheduled. the first time the grid calls - // this within it's thread turn, this should be false, so it will schedule - // the 'flush queue' method the first time it comes here. then the flag is - // set to 'true' so it will know it's already scheduled for subsequent calls. - if (!this.scheduled) { - // if not scheduled, schedule one - setTimeout(this.flushAsyncQueue.bind(this), 0); - // mark that it is scheduled - this.scheduled = true; - } - }; - // this happens in the next VM turn only, and empties the queue of events - EventService.prototype.flushAsyncQueue = function () { - this.scheduled = false; - // we take a copy, because the event listener could be using - // the grid, which would cause more events, which would be potentially - // added to the queue, so safe to take a copy, the new events will - // get executed in a later VM turn rather than risk updating the - // queue as we are flushing it. - var queueCopy = this.asyncFunctionsQueue.slice(); - this.asyncFunctionsQueue = []; - // execute the queue - queueCopy.forEach(function (func) { return func(); }); - }; - // this is an old idea niall had, should really take it out, was to do with ordering who gets to process - // events first, to give model and service objects preference over the view - EventService.PRIORITY = '-P1'; - __decorate([ - __param(0, context_2.Qualifier('loggerFactory')), - __param(1, context_2.Qualifier('gridOptionsWrapper')), - __param(2, context_2.Qualifier('globalEventListener')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [logger_1.LoggerFactory, - gridOptionsWrapper_1.GridOptionsWrapper, - Function]), - __metadata("design:returntype", void 0) - ], EventService.prototype, "setBeans", null); - EventService = EventService_1 = __decorate([ - context_1.Bean('eventService') - ], EventService); - return EventService; - var EventService_1; -}()); -exports.EventService = EventService; - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var eventKeys_1 = __webpack_require__(117); -exports.Events = eventKeys_1.Events; - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var csvCreator_1 = __webpack_require__(43); -var rowRenderer_1 = __webpack_require__(20); -var headerRenderer_1 = __webpack_require__(56); -var filterManager_1 = __webpack_require__(21); -var columnController_1 = __webpack_require__(3); -var selectionController_1 = __webpack_require__(14); -var gridOptionsWrapper_1 = __webpack_require__(2); -var gridPanel_1 = __webpack_require__(11); -var valueService_1 = __webpack_require__(16); -var eventService_1 = __webpack_require__(4); -var constants_1 = __webpack_require__(7); -var context_1 = __webpack_require__(0); -var gridCore_1 = __webpack_require__(39); -var sortController_1 = __webpack_require__(30); -var focusedCellController_1 = __webpack_require__(24); -var gridCell_1 = __webpack_require__(23); -var utils_1 = __webpack_require__(1); -var cellRendererFactory_1 = __webpack_require__(53); -var cellEditorFactory_1 = __webpack_require__(52); -var paginationProxy_1 = __webpack_require__(28); -var immutableService_1 = __webpack_require__(101); -var valueCache_1 = __webpack_require__(33); -var alignedGridsService_1 = __webpack_require__(46); -var pinnedRowModel_1 = __webpack_require__(29); -var GridApi = (function () { - function GridApi() { - this.detailGridInfoMap = {}; - /* - Taking these out, as we want to reconsider how we register components - - public addCellRenderer(key: string, cellRenderer: {new(): ICellRenderer} | ICellRendererFunc): void { - this.cellRendererFactory.addCellRenderer(key, cellRenderer); - } - - public addCellEditor(key: string, cellEditor: {new(): ICellEditor}): void { - this.cellEditorFactory.addCellEditor(key, cellEditor); - }*/ - } - GridApi.prototype.init = function () { - switch (this.rowModel.getType()) { - case constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY: - this.inMemoryRowModel = this.rowModel; - break; - case constants_1.Constants.ROW_MODEL_TYPE_INFINITE: - this.infinitePageRowModel = this.rowModel; - break; - case constants_1.Constants.ROW_MODEL_TYPE_ENTERPRISE: - this.enterpriseRowModel = this.rowModel; - break; - } - }; - /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */ - GridApi.prototype.__getAlignedGridService = function () { - return this.alignedGridsService; - }; - GridApi.prototype.addDetailGridInfo = function (id, gridInfo) { - this.detailGridInfoMap[id] = gridInfo; - }; - GridApi.prototype.removeDetailGridInfo = function (id) { - this.detailGridInfoMap[id] = undefined; - }; - GridApi.prototype.getDetailGridInfo = function (id) { - return this.detailGridInfoMap[id]; - }; - GridApi.prototype.forEachDetailGridInfo = function (callback) { - var index = 0; - utils_1.Utils.iterateObject(this.detailGridInfoMap, function (id, gridInfo) { - // check for undefined, as old references will still be lying around - if (utils_1.Utils.exists(gridInfo)) { - callback(gridInfo, index); - index++; - } - }); - }; - GridApi.prototype.getDataAsCsv = function (params) { - return this.csvCreator.getDataAsCsv(params); - }; - GridApi.prototype.exportDataAsCsv = function (params) { - this.csvCreator.exportDataAsCsv(params); - }; - GridApi.prototype.getDataAsExcel = function (params) { - if (!this.excelCreator) { - console.warn('ag-Grid: Excel export is only available in ag-Grid Enterprise'); - } - return this.excelCreator.getDataAsExcelXml(params); - }; - GridApi.prototype.exportDataAsExcel = function (params) { - if (!this.excelCreator) { - console.warn('ag-Grid: Excel export is only available in ag-Grid Enterprise'); - } - this.excelCreator.exportDataAsExcel(params); - }; - GridApi.prototype.setEnterpriseDatasource = function (datasource) { - if (this.gridOptionsWrapper.isRowModelEnterprise()) { - // should really have an IEnterpriseRowModel interface, so we are not casting to any - this.rowModel.setDatasource(datasource); - } - else { - console.warn("ag-Grid: you can only use an enterprise datasource when gridOptions.rowModelType is '" + constants_1.Constants.ROW_MODEL_TYPE_ENTERPRISE + "'"); - } - }; - GridApi.prototype.setDatasource = function (datasource) { - if (this.gridOptionsWrapper.isRowModelInfinite()) { - this.rowModel.setDatasource(datasource); - } - else { - console.warn("ag-Grid: you can only use a datasource when gridOptions.rowModelType is '" + constants_1.Constants.ROW_MODEL_TYPE_INFINITE + "'"); - } - }; - GridApi.prototype.setViewportDatasource = function (viewportDatasource) { - if (this.gridOptionsWrapper.isRowModelViewport()) { - // this is bad coding, because it's using an interface that's exposed in the enterprise. - // really we should create an interface in the core for viewportDatasource and let - // the enterprise implement it, rather than casting to 'any' here - this.rowModel.setViewportDatasource(viewportDatasource); - } - else { - console.warn("ag-Grid: you can only use a viewport datasource when gridOptions.rowModelType is '" + constants_1.Constants.ROW_MODEL_TYPE_VIEWPORT + "'"); - } - }; - GridApi.prototype.setRowData = function (rowData) { - if (this.gridOptionsWrapper.isRowModelDefault()) { - if (this.gridOptionsWrapper.isDeltaRowDataMode()) { - var _a = this.immutableService.createTransactionForRowData(rowData), transaction = _a[0], orderIdMap = _a[1]; - this.inMemoryRowModel.updateRowData(transaction, orderIdMap); - } - else { - this.selectionController.reset(); - this.inMemoryRowModel.setRowData(rowData); - } - } - else { - console.log('cannot call setRowData unless using normal row model'); - } - }; - // DEPRECATED - GridApi.prototype.setFloatingTopRowData = function (rows) { - console.warn('ag-Grid: since v12, api.setFloatingTopRowData() is now api.setPinnedTopRowData()'); - this.setPinnedTopRowData(rows); - }; - // DEPRECATED - GridApi.prototype.setFloatingBottomRowData = function (rows) { - console.warn('ag-Grid: since v12, api.setFloatingBottomRowData() is now api.setPinnedBottomRowData()'); - this.setPinnedBottomRowData(rows); - }; - // DEPRECATED - GridApi.prototype.getFloatingTopRowCount = function () { - console.warn('ag-Grid: since v12, api.getFloatingTopRowCount() is now api.getPinnedTopRowCount()'); - return this.getPinnedTopRowCount(); - }; - // DEPRECATED - GridApi.prototype.getFloatingBottomRowCount = function () { - console.warn('ag-Grid: since v12, api.getFloatingBottomRowCount() is now api.getPinnedBottomRowCount()'); - return this.getPinnedBottomRowCount(); - }; - // DEPRECATED - GridApi.prototype.getFloatingTopRow = function (index) { - console.warn('ag-Grid: since v12, api.getFloatingTopRow() is now api.getPinnedTopRow()'); - return this.getPinnedTopRow(index); - }; - // DEPRECATED - GridApi.prototype.getFloatingBottomRow = function (index) { - console.warn('ag-Grid: since v12, api.getFloatingBottomRow() is now api.getPinnedBottomRow()'); - return this.getPinnedBottomRow(index); - }; - GridApi.prototype.setPinnedTopRowData = function (rows) { - this.pinnedRowModel.setPinnedTopRowData(rows); - }; - GridApi.prototype.setPinnedBottomRowData = function (rows) { - this.pinnedRowModel.setPinnedBottomRowData(rows); - }; - GridApi.prototype.getPinnedTopRowCount = function () { - return this.pinnedRowModel.getPinnedTopRowCount(); - }; - GridApi.prototype.getPinnedBottomRowCount = function () { - return this.pinnedRowModel.getPinnedBottomRowCount(); - }; - GridApi.prototype.getPinnedTopRow = function (index) { - return this.pinnedRowModel.getPinnedTopRow(index); - }; - GridApi.prototype.getPinnedBottomRow = function (index) { - return this.pinnedRowModel.getPinnedBottomRow(index); - }; - GridApi.prototype.setColumnDefs = function (colDefs) { - this.columnController.setColumnDefs(colDefs); - }; - GridApi.prototype.expireValueCache = function () { - this.valueCache.expire(); - }; - GridApi.prototype.getVerticalPixelRange = function () { - return this.gridPanel.getVerticalPixelRange(); - }; - GridApi.prototype.refreshToolPanel = function () { - if (this.toolPanel) { - this.toolPanel.refresh(); - } - }; - GridApi.prototype.refreshCells = function (params) { - if (params === void 0) { params = {}; } - if (Array.isArray(params)) { - // the old version of refreshCells() took an array of rowNodes for the first argument - console.warn('since ag-Grid v11.1, refreshCells() now takes parameters, please see the documentation.'); - return; - } - this.rowRenderer.refreshCells(params); - }; - GridApi.prototype.redrawRows = function (params) { - if (params === void 0) { params = {}; } - if (params && params.rowNodes) { - this.rowRenderer.redrawRows(params.rowNodes); - } - else { - this.rowRenderer.redrawAfterModelUpdate(); - } - }; - GridApi.prototype.timeFullRedraw = function (count) { - if (count === void 0) { count = 1; } - var iterationCount = 0; - var totalProcessing = 0; - var totalReflow = 0; - var that = this; - doOneIteration(); - function doOneIteration() { - var start = (new Date()).getTime(); - that.rowRenderer.redrawAfterModelUpdate(); - var endProcessing = (new Date()).getTime(); - setTimeout(function () { - var endReflow = (new Date()).getTime(); - var durationProcessing = endProcessing - start; - var durationReflow = endReflow - endProcessing; - console.log('duration: processing = ' + durationProcessing + 'ms, reflow = ' + durationReflow + 'ms'); - iterationCount++; - totalProcessing += durationProcessing; - totalReflow += durationReflow; - if (iterationCount < count) { - // wait for 1s between tests - setTimeout(doOneIteration, 1000); - } - else { - finish(); - } - }, 0); - } - function finish() { - console.log('tests complete. iteration count = ' + iterationCount); - console.log('average processing = ' + (totalProcessing / iterationCount) + 'ms'); - console.log('average reflow = ' + (totalReflow / iterationCount) + 'ms'); - } - }; - // *** deprecated - GridApi.prototype.refreshView = function () { - console.warn('ag-Grid: since v11.1, refreshView() is deprecated, please call refreshCells() or redrawRows() instead'); - this.redrawRows(); - }; - // *** deprecated - GridApi.prototype.refreshRows = function (rowNodes) { - console.warn('since ag-Grid v11.1, refreshRows() is deprecated, please use refreshCells({rowNodes: rows}) or redrawRows({rowNodes: rows}) instead'); - this.refreshCells({ rowNodes: rowNodes }); - }; - // *** deprecated - GridApi.prototype.rowDataChanged = function (rows) { - console.log('ag-Grid: rowDataChanged is deprecated, either call refreshView() to refresh everything, or call rowNode.setRowData(newData) to set value on a particular node'); - this.redrawRows(); - }; - // *** deprecated - GridApi.prototype.softRefreshView = function () { - console.warn('ag-Grid: since v11.1, softRefreshView() is deprecated, call refreshCells(params) instead.'); - this.refreshCells({ volatile: true }); - }; - // *** deprecated - GridApi.prototype.refreshGroupRows = function () { - console.warn('ag-Grid: since v11.1, refreshGroupRows() is no longer supported, call refreshCells() instead. ' + - 'Because refreshCells() now does dirty checking, it will only refresh cells that have changed, so it should ' + - 'not be necessary to only refresh the group rows.'); - this.refreshCells(); - }; - GridApi.prototype.setFunctionsReadOnly = function (readOnly) { - this.gridOptionsWrapper.setProperty('functionsReadOnly', readOnly); - }; - GridApi.prototype.refreshHeader = function () { - this.headerRenderer.refreshHeader(); - }; - GridApi.prototype.isAnyFilterPresent = function () { - return this.filterManager.isAnyFilterPresent(); - }; - GridApi.prototype.isAdvancedFilterPresent = function () { - return this.filterManager.isAdvancedFilterPresent(); - }; - GridApi.prototype.isQuickFilterPresent = function () { - return this.filterManager.isQuickFilterPresent(); - }; - GridApi.prototype.getModel = function () { - return this.rowModel; - }; - GridApi.prototype.onGroupExpandedOrCollapsed = function (deprecated_refreshFromIndex) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('ag-Grid: cannot call onGroupExpandedOrCollapsed unless using normal row model'); - } - if (utils_1.Utils.exists(deprecated_refreshFromIndex)) { - console.log('ag-Grid: api.onGroupExpandedOrCollapsed - refreshFromIndex parameter is no longer used, the grid will refresh all rows'); - } - // we don't really want the user calling this if one one rowNode was expanded, instead they should be - // calling rowNode.setExpanded(boolean) - this way we do a 'keepRenderedRows=false' so that the whole - // grid gets refreshed again - otherwise the row with the rowNodes that were changed won't get updated, - // and thus the expand icon in the group cell won't get 'opened' or 'closed'. - this.inMemoryRowModel.refreshModel({ step: constants_1.Constants.STEP_MAP }); - }; - GridApi.prototype.refreshInMemoryRowModel = function (step) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('cannot call refreshInMemoryRowModel unless using normal row model'); - } - var paramsStep = constants_1.Constants.STEP_EVERYTHING; - var stepsMapped = { - group: constants_1.Constants.STEP_EVERYTHING, - filter: constants_1.Constants.STEP_FILTER, - map: constants_1.Constants.STEP_MAP, - aggregate: constants_1.Constants.STEP_AGGREGATE, - sort: constants_1.Constants.STEP_SORT, - pivot: constants_1.Constants.STEP_PIVOT - }; - if (utils_1.Utils.exists(step)) { - paramsStep = stepsMapped[step]; - } - if (utils_1.Utils.missing(paramsStep)) { - console.error("ag-Grid: invalid step " + step + ", available steps are " + Object.keys(stepsMapped).join(', ')); - return; - } - var modelParams = { - step: paramsStep, - keepRenderedRows: true, - animate: true, - keepEditingRows: true - }; - this.inMemoryRowModel.refreshModel(modelParams); - }; - GridApi.prototype.getRowNode = function (id) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.warn('ag-Grid: cannot call getRowNode unless using normal row model'); - return; - } - return this.inMemoryRowModel.getRowNode(id); - }; - GridApi.prototype.expandAll = function () { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.warn('ag-Grid: cannot call expandAll unless using normal row model'); - return; - } - this.inMemoryRowModel.expandOrCollapseAll(true); - }; - GridApi.prototype.collapseAll = function () { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.warn('ag-Grid: cannot call collapseAll unless using normal row model'); - return; - } - this.inMemoryRowModel.expandOrCollapseAll(false); - }; - GridApi.prototype.addVirtualRowListener = function (eventName, rowIndex, callback) { - if (typeof eventName !== 'string') { - console.log('ag-Grid: addVirtualRowListener is deprecated, please use addRenderedRowListener.'); - } - this.addRenderedRowListener(eventName, rowIndex, callback); - }; - GridApi.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) { - if (eventName === 'virtualRowSelected') { - console.log('ag-Grid: event virtualRowSelected is deprecated, to register for individual row ' + - 'selection events, add a listener directly to the row node.'); - } - this.rowRenderer.addRenderedRowListener(eventName, rowIndex, callback); - }; - GridApi.prototype.setQuickFilter = function (newFilter) { - this.filterManager.setQuickFilter(newFilter); - }; - GridApi.prototype.selectIndex = function (index, tryMulti, suppressEvents) { - console.log('ag-Grid: do not use api for selection, call node.setSelected(value) instead'); - if (suppressEvents) { - console.log('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it'); - } - this.selectionController.selectIndex(index, tryMulti); - }; - GridApi.prototype.deselectIndex = function (index, suppressEvents) { - if (suppressEvents === void 0) { suppressEvents = false; } - console.log('ag-Grid: do not use api for selection, call node.setSelected(value) instead'); - if (suppressEvents) { - console.log('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it'); - } - this.selectionController.deselectIndex(index); - }; - GridApi.prototype.selectNode = function (node, tryMulti, suppressEvents) { - if (tryMulti === void 0) { tryMulti = false; } - if (suppressEvents === void 0) { suppressEvents = false; } - console.log('ag-Grid: API for selection is deprecated, call node.setSelected(value) instead'); - if (suppressEvents) { - console.log('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it'); - } - node.setSelectedParams({ newValue: true, clearSelection: !tryMulti }); - }; - GridApi.prototype.deselectNode = function (node, suppressEvents) { - if (suppressEvents === void 0) { suppressEvents = false; } - console.log('ag-Grid: API for selection is deprecated, call node.setSelected(value) instead'); - if (suppressEvents) { - console.log('ag-Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it'); - } - node.setSelectedParams({ newValue: false }); - }; - GridApi.prototype.selectAll = function () { - this.selectionController.selectAllRowNodes(); - }; - GridApi.prototype.deselectAll = function () { - this.selectionController.deselectAllRowNodes(); - }; - GridApi.prototype.selectAllFiltered = function () { - this.selectionController.selectAllRowNodes(true); - }; - GridApi.prototype.deselectAllFiltered = function () { - this.selectionController.deselectAllRowNodes(true); - }; - GridApi.prototype.recomputeAggregates = function () { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('cannot call recomputeAggregates unless using normal row model'); - } - this.inMemoryRowModel.refreshModel({ step: constants_1.Constants.STEP_AGGREGATE }); - }; - GridApi.prototype.sizeColumnsToFit = function () { - if (this.gridOptionsWrapper.isForPrint()) { - console.warn('ag-grid: sizeColumnsToFit does not work when forPrint=true'); - return; - } - this.gridPanel.sizeColumnsToFit(); - }; - GridApi.prototype.showLoadingOverlay = function () { - this.gridPanel.showLoadingOverlay(); - }; - GridApi.prototype.showNoRowsOverlay = function () { - this.gridPanel.showNoRowsOverlay(); - }; - GridApi.prototype.hideOverlay = function () { - this.gridPanel.hideOverlay(); - }; - GridApi.prototype.isNodeSelected = function (node) { - console.log('ag-Grid: no need to call api.isNodeSelected(), just call node.isSelected() instead'); - return node.isSelected(); - }; - GridApi.prototype.getSelectedNodesById = function () { - console.error('ag-Grid: since version 3.4, getSelectedNodesById no longer exists, use getSelectedNodes() instead'); - return null; - }; - GridApi.prototype.getSelectedNodes = function () { - return this.selectionController.getSelectedNodes(); - }; - GridApi.prototype.getSelectedRows = function () { - return this.selectionController.getSelectedRows(); - }; - GridApi.prototype.getBestCostNodeSelection = function () { - return this.selectionController.getBestCostNodeSelection(); - }; - GridApi.prototype.getRenderedNodes = function () { - return this.rowRenderer.getRenderedNodes(); - }; - GridApi.prototype.ensureColIndexVisible = function (index) { - console.warn('ag-Grid: ensureColIndexVisible(index) no longer supported, use ensureColumnVisible(colKey) instead.'); - }; - GridApi.prototype.ensureColumnVisible = function (key) { - this.gridPanel.ensureColumnVisible(key); - }; - // Valid values for position are bottom, middle and top - GridApi.prototype.ensureIndexVisible = function (index, position) { - this.gridPanel.ensureIndexVisible(index, position); - }; - // Valid values for position are bottom, middle and top - GridApi.prototype.ensureNodeVisible = function (comparator, position) { - this.gridCore.ensureNodeVisible(comparator, position); - }; - GridApi.prototype.forEachLeafNode = function (callback) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('cannot call forEachNode unless using normal row model'); - } - this.inMemoryRowModel.forEachLeafNode(callback); - }; - GridApi.prototype.forEachNode = function (callback) { - this.rowModel.forEachNode(callback); - }; - GridApi.prototype.forEachNodeAfterFilter = function (callback) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('cannot call forEachNodeAfterFilter unless using normal row model'); - } - this.inMemoryRowModel.forEachNodeAfterFilter(callback); - }; - GridApi.prototype.forEachNodeAfterFilterAndSort = function (callback) { - if (utils_1.Utils.missing(this.inMemoryRowModel)) { - console.log('cannot call forEachNodeAfterFilterAndSort unless using normal row model'); - } - this.inMemoryRowModel.forEachNodeAfterFilterAndSort(callback); - }; - GridApi.prototype.getFilterApiForColDef = function (colDef) { - console.warn('ag-grid API method getFilterApiForColDef deprecated, use getFilterApi instead'); - return this.getFilterInstance(colDef); - }; - GridApi.prototype.getFilterInstance = function (key) { - var column = this.columnController.getPrimaryColumn(key); - if (column) { - return this.filterManager.getFilterComponent(column).resolveNow(null, function (filterComp) { return filterComp; }); - } - }; - GridApi.prototype.getFilterApi = function (key) { - console.warn('ag-Grid: getFilterApi is deprecated, use getFilterInstance instead'); - return this.getFilterInstance(key); - }; - GridApi.prototype.destroyFilter = function (key) { - var column = this.columnController.getPrimaryColumn(key); - if (column) { - return this.filterManager.destroyFilter(column); - } - }; - GridApi.prototype.getColumnDef = function (key) { - var column = this.columnController.getPrimaryColumn(key); - if (column) { - return column.getColDef(); - } - else { - return null; - } - }; - GridApi.prototype.onFilterChanged = function () { - this.filterManager.onFilterChanged(); - }; - GridApi.prototype.onSortChanged = function () { - this.sortController.onSortChanged(); - }; - GridApi.prototype.setSortModel = function (sortModel) { - this.sortController.setSortModel(sortModel); - }; - GridApi.prototype.getSortModel = function () { - return this.sortController.getSortModel(); - }; - GridApi.prototype.setFilterModel = function (model) { - this.filterManager.setFilterModel(model); - }; - GridApi.prototype.getFilterModel = function () { - return this.filterManager.getFilterModel(); - }; - GridApi.prototype.getFocusedCell = function () { - return this.focusedCellController.getFocusedCell(); - }; - GridApi.prototype.clearFocusedCell = function () { - return this.focusedCellController.clearFocusedCell(); - }; - GridApi.prototype.setFocusedCell = function (rowIndex, colKey, floating) { - this.focusedCellController.setFocusedCell(rowIndex, colKey, floating, true); - }; - GridApi.prototype.setHeaderHeight = function (headerHeight) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_HEADER_HEIGHT, headerHeight); - this.doLayout(); - }; - GridApi.prototype.setGroupHeaderHeight = function (headerHeight) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, headerHeight); - this.doLayout(); - }; - GridApi.prototype.setFloatingFiltersHeight = function (headerHeight) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, headerHeight); - this.doLayout(); - }; - GridApi.prototype.setPivotGroupHeaderHeight = function (headerHeight) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, headerHeight); - this.doLayout(); - }; - GridApi.prototype.setPivotHeaderHeight = function (headerHeight) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, headerHeight); - this.doLayout(); - }; - GridApi.prototype.showToolPanel = function (show) { - this.gridCore.showToolPanel(show); - }; - GridApi.prototype.isToolPanelShowing = function () { - return this.gridCore.isToolPanelShowing(); - }; - GridApi.prototype.doLayout = function () { - this.gridCore.doLayout(); - // if the column is not visible, then made visible, it will be right size, but the - // correct virtual columns will not be displayed. the setLeftAndRightBounds() gets - // called when size changes. however when size is not changed, then wrong cols are shown. - // this was to fix https://ag-grid.atlassian.net/browse/AG-1081 - this.gridPanel.setLeftAndRightBounds(); - }; - GridApi.prototype.resetRowHeights = function () { - if (utils_1.Utils.exists(this.inMemoryRowModel)) { - this.inMemoryRowModel.resetRowHeights(); - } - }; - GridApi.prototype.setGroupRemoveSingleChildren = function (value) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, value); - }; - GridApi.prototype.setGroupRemoveLowestSingleChildren = function (value) { - this.gridOptionsWrapper.setProperty(gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, value); - }; - GridApi.prototype.onRowHeightChanged = function () { - if (utils_1.Utils.exists(this.inMemoryRowModel)) { - this.inMemoryRowModel.onRowHeightChanged(); - } - }; - GridApi.prototype.getValue = function (colKey, rowNode) { - var column = this.columnController.getPrimaryColumn(colKey); - if (utils_1.Utils.missing(column)) { - column = this.columnController.getGridColumn(colKey); - } - if (utils_1.Utils.missing(column)) { - return null; - } - else { - return this.valueService.getValue(column, rowNode); - } - }; - GridApi.prototype.addEventListener = function (eventType, listener) { - var async = this.gridOptionsWrapper.useAsyncEvents(); - this.eventService.addEventListener(eventType, listener, async); - }; - GridApi.prototype.addGlobalListener = function (listener) { - var async = this.gridOptionsWrapper.useAsyncEvents(); - this.eventService.addGlobalListener(listener, async); - }; - GridApi.prototype.removeEventListener = function (eventType, listener) { - var async = this.gridOptionsWrapper.useAsyncEvents(); - this.eventService.removeEventListener(eventType, listener, async); - }; - GridApi.prototype.removeGlobalListener = function (listener) { - var async = this.gridOptionsWrapper.useAsyncEvents(); - this.eventService.removeGlobalListener(listener, async); - }; - GridApi.prototype.dispatchEvent = function (event) { - this.eventService.dispatchEvent(event); - }; - GridApi.prototype.destroy = function () { - this.context.destroy(); - }; - GridApi.prototype.resetQuickFilter = function () { - this.rowModel.forEachNode(function (node) { return node.quickFilterAggregateText = null; }); - }; - GridApi.prototype.getRangeSelections = function () { - if (this.rangeController) { - return this.rangeController.getCellRanges(); - } - else { - console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise'); - return null; - } - }; - GridApi.prototype.camelCaseToHumanReadable = function (camelCase) { - return utils_1.Utils.camelCaseToHumanText(camelCase); - }; - GridApi.prototype.addRangeSelection = function (rangeSelection) { - if (!this.rangeController) { - console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise'); - } - this.rangeController.addRange(rangeSelection); - }; - GridApi.prototype.clearRangeSelection = function () { - if (!this.rangeController) { - console.warn('ag-Grid: cell range selection is only available in ag-Grid Enterprise'); - } - this.rangeController.clearSelection(); - }; - GridApi.prototype.copySelectedRowsToClipboard = function (includeHeader, columnKeys) { - if (!this.clipboardService) { - console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise'); - } - this.clipboardService.copySelectedRowsToClipboard(includeHeader, columnKeys); - }; - GridApi.prototype.copySelectedRangeToClipboard = function (includeHeader) { - if (!this.clipboardService) { - console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise'); - } - this.clipboardService.copySelectedRangeToClipboard(includeHeader); - }; - GridApi.prototype.copySelectedRangeDown = function () { - if (!this.clipboardService) { - console.warn('ag-Grid: clipboard is only available in ag-Grid Enterprise'); - } - this.clipboardService.copyRangeDown(); - }; - GridApi.prototype.showColumnMenuAfterButtonClick = function (colKey, buttonElement) { - var column = this.columnController.getPrimaryColumn(colKey); - this.menuFactory.showMenuAfterButtonClick(column, buttonElement); - }; - GridApi.prototype.showColumnMenuAfterMouseClick = function (colKey, mouseEvent) { - var column = this.columnController.getPrimaryColumn(colKey); - this.menuFactory.showMenuAfterMouseEvent(column, mouseEvent); - }; - GridApi.prototype.tabToNextCell = function () { - return this.rowRenderer.tabToNextCell(false); - }; - GridApi.prototype.tabToPreviousCell = function () { - return this.rowRenderer.tabToNextCell(true); - }; - GridApi.prototype.stopEditing = function (cancel) { - if (cancel === void 0) { cancel = false; } - this.rowRenderer.stopEditing(cancel); - }; - GridApi.prototype.startEditingCell = function (params) { - var column = this.columnController.getGridColumn(params.colKey); - if (!column) { - console.warn("ag-Grid: no column found for " + params.colKey); - return; - } - var gridCellDef = { - rowIndex: params.rowIndex, - floating: params.rowPinned, - column: column - }; - var gridCell = new gridCell_1.GridCell(gridCellDef); - var notPinned = utils_1.Utils.missing(params.rowPinned); - if (notPinned) { - this.gridPanel.ensureIndexVisible(params.rowIndex); - } - this.rowRenderer.startEditingCell(gridCell, params.keyPress, params.charPress); - }; - GridApi.prototype.addAggFunc = function (key, aggFunc) { - if (this.aggFuncService) { - this.aggFuncService.addAggFunc(key, aggFunc); - } - }; - GridApi.prototype.addAggFuncs = function (aggFuncs) { - if (this.aggFuncService) { - this.aggFuncService.addAggFuncs(aggFuncs); - } - }; - GridApi.prototype.clearAggFuncs = function () { - if (this.aggFuncService) { - this.aggFuncService.clear(); - } - }; - GridApi.prototype.updateRowData = function (rowDataTransaction) { - var res = null; - if (this.inMemoryRowModel) { - res = this.inMemoryRowModel.updateRowData(rowDataTransaction); - } - else if (this.infinitePageRowModel) { - this.infinitePageRowModel.updateRowData(rowDataTransaction); - } - else { - console.error('ag-Grid: updateRowData() only works with InMemoryRowModel and InfiniteRowModel.'); - } - // do change detection for all present cells - if (!this.gridOptionsWrapper.isSuppressChangeDetection()) { - this.rowRenderer.refreshCells(); - } - return res; - }; - GridApi.prototype.insertItemsAtIndex = function (index, items, skipRefresh) { - if (skipRefresh === void 0) { skipRefresh = false; } - console.warn('ag-Grid: insertItemsAtIndex() is deprecated, use updateRowData(transaction) instead.'); - this.updateRowData({ add: items, addIndex: index, update: null, remove: null }); - }; - GridApi.prototype.removeItems = function (rowNodes, skipRefresh) { - if (skipRefresh === void 0) { skipRefresh = false; } - console.warn('ag-Grid: removeItems() is deprecated, use updateRowData(transaction) instead.'); - var dataToRemove = rowNodes.map(function (rowNode) { return rowNode.data; }); - this.updateRowData({ add: null, addIndex: null, update: null, remove: dataToRemove }); - }; - GridApi.prototype.addItems = function (items, skipRefresh) { - if (skipRefresh === void 0) { skipRefresh = false; } - console.warn('ag-Grid: addItems() is deprecated, use updateRowData(transaction) instead.'); - this.updateRowData({ add: items, addIndex: null, update: null, remove: null }); - }; - GridApi.prototype.refreshVirtualPageCache = function () { - console.warn('ag-Grid: refreshVirtualPageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead'); - this.refreshInfiniteCache(); - }; - GridApi.prototype.refreshInfinitePageCache = function () { - console.warn('ag-Grid: refreshInfinitePageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead'); - this.refreshInfiniteCache(); - }; - GridApi.prototype.refreshInfiniteCache = function () { - if (this.infinitePageRowModel) { - this.infinitePageRowModel.refreshCache(); - } - else { - console.warn("ag-Grid: api.refreshInfiniteCache is only available when rowModelType='infinite'."); - } - }; - GridApi.prototype.purgeVirtualPageCache = function () { - console.warn('ag-Grid: purgeVirtualPageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead'); - this.purgeInfinitePageCache(); - }; - GridApi.prototype.purgeInfinitePageCache = function () { - console.warn('ag-Grid: purgeInfinitePageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead'); - this.purgeInfiniteCache(); - }; - GridApi.prototype.purgeInfiniteCache = function () { - if (this.infinitePageRowModel) { - this.infinitePageRowModel.purgeCache(); - } - else { - console.warn("ag-Grid: api.purgeInfiniteCache is only available when rowModelType='infinite'."); - } - }; - GridApi.prototype.purgeEnterpriseCache = function (route) { - if (this.enterpriseRowModel) { - this.enterpriseRowModel.purgeCache(route); - } - else { - console.warn("ag-Grid: api.purgeEnterpriseCache is only available when rowModelType='enterprise'."); - } - }; - GridApi.prototype.getVirtualRowCount = function () { - console.warn('ag-Grid: getVirtualRowCount() is now called getInfiniteRowCount(), please call getInfiniteRowCount() instead'); - return this.getInfiniteRowCount(); - }; - GridApi.prototype.getInfiniteRowCount = function () { - if (this.infinitePageRowModel) { - return this.infinitePageRowModel.getVirtualRowCount(); - } - else { - console.warn("ag-Grid: api.getVirtualRowCount is only available when rowModelType='virtual'."); - } - }; - GridApi.prototype.isMaxRowFound = function () { - if (this.infinitePageRowModel) { - return this.infinitePageRowModel.isMaxRowFound(); - } - else { - console.warn("ag-Grid: api.isMaxRowFound is only available when rowModelType='virtual'."); - } - }; - GridApi.prototype.setVirtualRowCount = function (rowCount, maxRowFound) { - console.warn('ag-Grid: setVirtualRowCount() is now called setInfiniteRowCount(), please call setInfiniteRowCount() instead'); - this.setInfiniteRowCount(rowCount, maxRowFound); - }; - GridApi.prototype.setInfiniteRowCount = function (rowCount, maxRowFound) { - if (this.infinitePageRowModel) { - this.infinitePageRowModel.setVirtualRowCount(rowCount, maxRowFound); - } - else { - console.warn("ag-Grid: api.setVirtualRowCount is only available when rowModelType='virtual'."); - } - }; - GridApi.prototype.getVirtualPageState = function () { - console.warn('ag-Grid: getVirtualPageState() is now called getCacheBlockState(), please call getCacheBlockState() instead'); - return this.getCacheBlockState(); - }; - GridApi.prototype.getInfinitePageState = function () { - console.warn('ag-Grid: getInfinitePageState() is now called getCacheBlockState(), please call getCacheBlockState() instead'); - return this.getCacheBlockState(); - }; - GridApi.prototype.getCacheBlockState = function () { - if (this.infinitePageRowModel) { - return this.infinitePageRowModel.getBlockState(); - } - else if (this.enterpriseRowModel) { - return this.enterpriseRowModel.getBlockState(); - } - else { - console.warn("ag-Grid: api.getCacheBlockState() is only available when rowModelType='infinite' or rowModelType='enterprise'."); - } - }; - GridApi.prototype.checkGridSize = function () { - this.gridPanel.setBodyAndHeaderHeights(); - }; - GridApi.prototype.getFirstRenderedRow = function () { - console.log('in ag-Grid v12, getFirstRenderedRow() was renamed to getFirstDisplayedRow()'); - return this.getFirstDisplayedRow(); - }; - GridApi.prototype.getFirstDisplayedRow = function () { - return this.rowRenderer.getFirstVirtualRenderedRow(); - }; - GridApi.prototype.getLastRenderedRow = function () { - console.log('in ag-Grid v12, getLastRenderedRow() was renamed to getLastDisplayedRow()'); - return this.getLastDisplayedRow(); - }; - GridApi.prototype.getLastDisplayedRow = function () { - return this.rowRenderer.getLastVirtualRenderedRow(); - }; - GridApi.prototype.getDisplayedRowAtIndex = function (index) { - return this.rowModel.getRow(index); - }; - GridApi.prototype.getDisplayedRowCount = function () { - return this.rowModel.getRowCount(); - }; - GridApi.prototype.paginationIsLastPageFound = function () { - return this.paginationProxy.isLastPageFound(); - }; - GridApi.prototype.paginationGetPageSize = function () { - return this.paginationProxy.getPageSize(); - }; - GridApi.prototype.paginationSetPageSize = function (size) { - this.gridOptionsWrapper.setProperty('paginationPageSize', size); - }; - GridApi.prototype.paginationGetCurrentPage = function () { - return this.paginationProxy.getCurrentPage(); - }; - GridApi.prototype.paginationGetTotalPages = function () { - return this.paginationProxy.getTotalPages(); - }; - GridApi.prototype.paginationGetRowCount = function () { - return this.paginationProxy.getTotalRowCount(); - }; - GridApi.prototype.paginationGoToNextPage = function () { - this.paginationProxy.goToNextPage(); - }; - GridApi.prototype.paginationGoToPreviousPage = function () { - this.paginationProxy.goToPreviousPage(); - }; - GridApi.prototype.paginationGoToFirstPage = function () { - this.paginationProxy.goToFirstPage(); - }; - GridApi.prototype.paginationGoToLastPage = function () { - this.paginationProxy.goToLastPage(); - }; - GridApi.prototype.paginationGoToPage = function (page) { - this.paginationProxy.goToPage(page); - }; - __decorate([ - context_1.Autowired('immutableService'), - __metadata("design:type", immutableService_1.ImmutableService) - ], GridApi.prototype, "immutableService", void 0); - __decorate([ - context_1.Autowired('csvCreator'), - __metadata("design:type", csvCreator_1.CsvCreator) - ], GridApi.prototype, "csvCreator", void 0); - __decorate([ - context_1.Optional('excelCreator'), - __metadata("design:type", Object) - ], GridApi.prototype, "excelCreator", void 0); - __decorate([ - context_1.Autowired('gridCore'), - __metadata("design:type", gridCore_1.GridCore) - ], GridApi.prototype, "gridCore", void 0); - __decorate([ - context_1.Autowired('rowRenderer'), - __metadata("design:type", rowRenderer_1.RowRenderer) - ], GridApi.prototype, "rowRenderer", void 0); - __decorate([ - context_1.Autowired('headerRenderer'), - __metadata("design:type", headerRenderer_1.HeaderRenderer) - ], GridApi.prototype, "headerRenderer", void 0); - __decorate([ - context_1.Autowired('filterManager'), - __metadata("design:type", filterManager_1.FilterManager) - ], GridApi.prototype, "filterManager", void 0); - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", columnController_1.ColumnController) - ], GridApi.prototype, "columnController", void 0); - __decorate([ - context_1.Autowired('selectionController'), - __metadata("design:type", selectionController_1.SelectionController) - ], GridApi.prototype, "selectionController", void 0); - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], GridApi.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('gridPanel'), - __metadata("design:type", gridPanel_1.GridPanel) - ], GridApi.prototype, "gridPanel", void 0); - __decorate([ - context_1.Autowired('valueService'), - __metadata("design:type", valueService_1.ValueService) - ], GridApi.prototype, "valueService", void 0); - __decorate([ - context_1.Autowired('alignedGridsService'), - __metadata("design:type", alignedGridsService_1.AlignedGridsService) - ], GridApi.prototype, "alignedGridsService", void 0); - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], GridApi.prototype, "eventService", void 0); - __decorate([ - context_1.Autowired('pinnedRowModel'), - __metadata("design:type", pinnedRowModel_1.PinnedRowModel) - ], GridApi.prototype, "pinnedRowModel", void 0); - __decorate([ - context_1.Autowired('context'), - __metadata("design:type", context_1.Context) - ], GridApi.prototype, "context", void 0); - __decorate([ - context_1.Autowired('rowModel'), - __metadata("design:type", Object) - ], GridApi.prototype, "rowModel", void 0); - __decorate([ - context_1.Autowired('sortController'), - __metadata("design:type", sortController_1.SortController) - ], GridApi.prototype, "sortController", void 0); - __decorate([ - context_1.Autowired('paginationProxy'), - __metadata("design:type", paginationProxy_1.PaginationProxy) - ], GridApi.prototype, "paginationProxy", void 0); - __decorate([ - context_1.Autowired('focusedCellController'), - __metadata("design:type", focusedCellController_1.FocusedCellController) - ], GridApi.prototype, "focusedCellController", void 0); - __decorate([ - context_1.Optional('rangeController'), - __metadata("design:type", Object) - ], GridApi.prototype, "rangeController", void 0); - __decorate([ - context_1.Optional('clipboardService'), - __metadata("design:type", Object) - ], GridApi.prototype, "clipboardService", void 0); - __decorate([ - context_1.Optional('aggFuncService'), - __metadata("design:type", Object) - ], GridApi.prototype, "aggFuncService", void 0); - __decorate([ - context_1.Autowired('menuFactory'), - __metadata("design:type", Object) - ], GridApi.prototype, "menuFactory", void 0); - __decorate([ - context_1.Autowired('cellRendererFactory'), - __metadata("design:type", cellRendererFactory_1.CellRendererFactory) - ], GridApi.prototype, "cellRendererFactory", void 0); - __decorate([ - context_1.Autowired('cellEditorFactory'), - __metadata("design:type", cellEditorFactory_1.CellEditorFactory) - ], GridApi.prototype, "cellEditorFactory", void 0); - __decorate([ - context_1.Autowired('valueCache'), - __metadata("design:type", valueCache_1.ValueCache) - ], GridApi.prototype, "valueCache", void 0); - __decorate([ - context_1.Optional('toolPanel'), - __metadata("design:type", Object) - ], GridApi.prototype, "toolPanel", void 0); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], GridApi.prototype, "init", null); - GridApi = __decorate([ - context_1.Bean('gridApi') - ], GridApi); - return GridApi; -}()); -exports.GridApi = GridApi; - - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var Constants = (function () { - function Constants() { - } - Constants.STEP_EVERYTHING = 0; - Constants.STEP_FILTER = 1; - Constants.STEP_SORT = 2; - Constants.STEP_MAP = 3; - Constants.STEP_AGGREGATE = 4; - Constants.STEP_PIVOT = 5; - Constants.ROW_BUFFER_SIZE = 10; - Constants.LAYOUT_INTERVAL = 500; - Constants.EXPORT_TYPE_DRAG_COPY = 'dragCopy'; - Constants.EXPORT_TYPE_CLIPBOARD = 'clipboard'; - Constants.EXPORT_TYPE_EXCEL = 'excel'; - Constants.EXPORT_TYPE_CSV = 'csv'; - Constants.KEY_BACKSPACE = 8; - Constants.KEY_TAB = 9; - Constants.KEY_NEW_LINE = 10; - Constants.KEY_ENTER = 13; - Constants.KEY_SHIFT = 16; - Constants.KEY_ESCAPE = 27; - Constants.KEY_SPACE = 32; - Constants.KEY_LEFT = 37; - Constants.KEY_UP = 38; - Constants.KEY_RIGHT = 39; - Constants.KEY_DOWN = 40; - Constants.KEY_DELETE = 46; - Constants.KEY_A = 65; - Constants.KEY_C = 67; - Constants.KEY_V = 86; - Constants.KEY_D = 68; - Constants.KEY_F2 = 113; - Constants.KEY_PAGE_UP = 33; - Constants.KEY_PAGE_DOWN = 34; - Constants.KEY_PAGE_HOME = 36; - Constants.KEY_PAGE_END = 35; - Constants.ROW_MODEL_TYPE_INFINITE = 'infinite'; - Constants.ROW_MODEL_TYPE_VIEWPORT = 'viewport'; - Constants.ROW_MODEL_TYPE_IN_MEMORY = 'inMemory'; - Constants.ROW_MODEL_TYPE_ENTERPRISE = 'enterprise'; - Constants.DEPRECATED_ROW_MODEL_TYPE_NORMAL = 'normal'; - Constants.ALWAYS = 'always'; - Constants.ONLY_WHEN_GROUPING = 'onlyWhenGrouping'; - Constants.PINNED_TOP = 'top'; - Constants.PINNED_BOTTOM = 'bottom'; - return Constants; -}()); -exports.Constants = Constants; - - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var utils_1 = __webpack_require__(1); -var beanStub_1 = __webpack_require__(13); -var compIdSequence = new utils_1.NumberSequence(); -var Component = (function (_super) { - __extends(Component, _super); - function Component(template) { - var _this = _super.call(this) || this; - _this.childComponents = []; - _this.annotatedEventListeners = []; - _this.visible = true; - // unique id for this row component. this is used for getting a reference to the HTML dom. - // we cannot use the RowNode id as this is not unique (due to animation, old rows can be lying - // around as we create a new rowComp instance for the same row node). - _this.compId = compIdSequence.next(); - if (template) { - _this.setTemplate(template); - } - return _this; - } - Component.prototype.getCompId = function () { - return this.compId; - }; - Component.prototype.instantiate = function (context) { - this.instantiateRecurse(this.getGui(), context); - }; - Component.prototype.instantiateRecurse = function (parentNode, context) { - var childCount = parentNode.childNodes ? parentNode.childNodes.length : 0; - for (var i = 0; i < childCount; i++) { - var childNode = parentNode.childNodes[i]; - var newComponent = context.createComponent(childNode); - if (newComponent) { - this.swapComponentForNode(newComponent, parentNode, childNode); - } - else { - if (childNode.childNodes) { - this.instantiateRecurse(childNode, context); - } - } - } - }; - Component.prototype.swapComponentForNode = function (newComponent, parentNode, childNode) { - parentNode.replaceChild(newComponent.getGui(), childNode); - this.childComponents.push(newComponent); - this.swapInComponentForQuerySelectors(newComponent, childNode); - }; - Component.prototype.swapInComponentForQuerySelectors = function (newComponent, childNode) { - var thisProto = Object.getPrototypeOf(this); - var thisNoType = this; - while (thisProto != null) { - var metaData = thisProto.__agComponentMetaData; - var currentProtoName = (thisProto.constructor).name; - if (metaData && metaData[currentProtoName] && metaData[currentProtoName].querySelectors) { - metaData[currentProtoName].querySelectors.forEach(function (querySelector) { - if (thisNoType[querySelector.attributeName] === childNode) { - thisNoType[querySelector.attributeName] = newComponent; - } - }); - } - thisProto = Object.getPrototypeOf(thisProto); - } - }; - Component.prototype.setTemplate = function (template) { - var eGui = utils_1.Utils.loadTemplate(template); - this.setTemplateFromElement(eGui); - }; - Component.prototype.setTemplateFromElement = function (element) { - this.eGui = element; - this.eGui.__agComponent = this; - this.addAnnotatedEventListeners(); - this.wireQuerySelectors(); - }; - Component.prototype.attributesSet = function () { - }; - Component.prototype.wireQuerySelectors = function () { - var _this = this; - if (!this.eGui) { - return; - } - var thisProto = Object.getPrototypeOf(this); - var _loop_1 = function () { - var metaData = thisProto.__agComponentMetaData; - var currentProtoName = (thisProto.constructor).name; - if (metaData && metaData[currentProtoName] && metaData[currentProtoName].querySelectors) { - var thisNoType_1 = this_1; - metaData[currentProtoName].querySelectors.forEach(function (querySelector) { - var resultOfQuery = _this.eGui.querySelector(querySelector.querySelector); - if (resultOfQuery) { - var backingComponent = resultOfQuery.__agComponent; - if (backingComponent) { - thisNoType_1[querySelector.attributeName] = backingComponent; - } - else { - thisNoType_1[querySelector.attributeName] = resultOfQuery; - } - } - else { - // put debug msg in here if query selector fails??? - } - }); - } - thisProto = Object.getPrototypeOf(thisProto); - }; - var this_1 = this; - while (thisProto != null) { - _loop_1(); - } - }; - Component.prototype.addAnnotatedEventListeners = function () { - var _this = this; - this.removeAnnotatedEventListeners(); - if (!this.eGui) { - return; - } - var thisProto = Object.getPrototypeOf(this); - while (thisProto != null) { - var metaData = thisProto.__agComponentMetaData; - var currentProtoName = (thisProto.constructor).name; - if (metaData && metaData[currentProtoName] && metaData[currentProtoName].listenerMethods) { - if (!this.annotatedEventListeners) { - this.annotatedEventListeners = []; - } - metaData[currentProtoName].listenerMethods.forEach(function (eventListener) { - var listener = _this[eventListener.methodName].bind(_this); - _this.eGui.addEventListener(eventListener.eventName, listener); - _this.annotatedEventListeners.push({ eventName: eventListener.eventName, listener: listener }); - }); - } - thisProto = Object.getPrototypeOf(thisProto); - } - }; - Component.prototype.removeAnnotatedEventListeners = function () { - var _this = this; - if (!this.annotatedEventListeners) { - return; - } - if (!this.eGui) { - return; - } - this.annotatedEventListeners.forEach(function (eventListener) { - _this.eGui.removeEventListener(eventListener.eventName, eventListener.listener); - }); - this.annotatedEventListeners = null; - }; - Component.prototype.getGui = function () { - return this.eGui; - }; - // this method is for older code, that wants to provide the gui element, - // it is not intended for this to be in ag-Stack - Component.prototype.setGui = function (eGui) { - this.eGui = eGui; - }; - Component.prototype.queryForHtmlElement = function (cssSelector) { - return this.eGui.querySelector(cssSelector); - }; - Component.prototype.queryForHtmlInputElement = function (cssSelector) { - return this.eGui.querySelector(cssSelector); - }; - Component.prototype.appendChild = function (newChild) { - if (utils_1.Utils.isNodeOrElement(newChild)) { - this.eGui.appendChild(newChild); - } - else { - var childComponent = newChild; - this.eGui.appendChild(childComponent.getGui()); - this.childComponents.push(childComponent); - } - }; - Component.prototype.addFeature = function (context, feature) { - context.wireBean(feature); - if (feature.destroy) { - this.addDestroyFunc(feature.destroy.bind(feature)); - } - }; - Component.prototype.isVisible = function () { - return this.visible; - }; - Component.prototype.setVisible = function (visible) { - if (visible !== this.visible) { - this.visible = visible; - utils_1.Utils.addOrRemoveCssClass(this.eGui, 'ag-hidden', !visible); - var event_1 = { - type: Component.EVENT_VISIBLE_CHANGED, - visible: this.visible - }; - this.dispatchEvent(event_1); - } - }; - Component.prototype.addOrRemoveCssClass = function (className, addOrRemove) { - utils_1.Utils.addOrRemoveCssClass(this.eGui, className, addOrRemove); - }; - Component.prototype.destroy = function () { - _super.prototype.destroy.call(this); - this.childComponents.forEach(function (childComponent) { return childComponent.destroy(); }); - this.childComponents.length = 0; - this.removeAnnotatedEventListeners(); - }; - Component.prototype.addGuiEventListener = function (event, listener) { - var _this = this; - this.getGui().addEventListener(event, listener); - this.addDestroyFunc(function () { return _this.getGui().removeEventListener(event, listener); }); - }; - Component.prototype.addCssClass = function (className) { - utils_1.Utils.addCssClass(this.getGui(), className); - }; - Component.prototype.removeCssClass = function (className) { - utils_1.Utils.removeCssClass(this.getGui(), className); - }; - Component.prototype.getAttribute = function (key) { - var eGui = this.getGui(); - if (eGui) { - return eGui.getAttribute(key); - } - else { - return null; - } - }; - Component.prototype.getRefElement = function (refName) { - return this.queryForHtmlElement('[ref="' + refName + '"]'); - }; - Component.EVENT_VISIBLE_CHANGED = 'visibleChanged'; - return Component; -}(beanStub_1.BeanStub)); -exports.Component = Component; - - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var eventService_1 = __webpack_require__(4); -var utils_1 = __webpack_require__(1); -var context_1 = __webpack_require__(0); -var gridOptionsWrapper_1 = __webpack_require__(2); -var columnUtils_1 = __webpack_require__(31); -var columnController_1 = __webpack_require__(3); -var gridApi_1 = __webpack_require__(6); -// Wrapper around a user provide column definition. The grid treats the column definition as ready only. -// This class contains all the runtime information about a column, plus some logic (the definition has no logic). -// This class implements both interfaces ColumnGroupChild and OriginalColumnGroupChild as the class can -// appear as a child of either the original tree or the displayed tree. However the relevant group classes -// for each type only implements one, as each group can only appear in it's associated tree (eg OriginalColumnGroup -// can only appear in OriginalColumn tree). -var Column = (function () { - function Column(colDef, colId, primary) { - this.moving = false; - this.menuVisible = false; - this.filterActive = false; - this.eventService = new eventService_1.EventService(); - this.rowGroupActive = false; - this.pivotActive = false; - this.aggregationActive = false; - this.colDef = colDef; - this.visible = !colDef.hide; - this.sort = colDef.sort; - this.sortedAt = colDef.sortedAt; - this.colId = colId; - this.primary = primary; - } - Column.prototype.setParent = function (parent) { - this.parent = parent; - }; - Column.prototype.getParent = function () { - return this.parent; - }; - // this is done after constructor as it uses gridOptionsWrapper - Column.prototype.initialise = function () { - this.setPinned(this.colDef.pinned); - var minColWidth = this.gridOptionsWrapper.getMinColWidth(); - var maxColWidth = this.gridOptionsWrapper.getMaxColWidth(); - if (this.colDef.minWidth) { - this.minWidth = this.colDef.minWidth; - } - else { - this.minWidth = minColWidth; - } - if (this.colDef.maxWidth) { - this.maxWidth = this.colDef.maxWidth; - } - else { - this.maxWidth = maxColWidth; - } - this.actualWidth = this.columnUtils.calculateColInitialWidth(this.colDef); - var suppressDotNotation = this.gridOptionsWrapper.isSuppressFieldDotNotation(); - this.fieldContainsDots = utils_1.Utils.exists(this.colDef.field) && this.colDef.field.indexOf('.') >= 0 && !suppressDotNotation; - this.tooltipFieldContainsDots = utils_1.Utils.exists(this.colDef.tooltipField) && this.colDef.tooltipField.indexOf('.') >= 0 && !suppressDotNotation; - this.validate(); - }; - Column.prototype.isEmptyGroup = function () { - return false; - }; - Column.prototype.isRowGroupDisplayed = function (colId) { - if (utils_1.Utils.missing(this.colDef) || utils_1.Utils.missing(this.colDef.showRowGroup)) { - return false; - } - var showingAllGroups = this.colDef.showRowGroup === true; - var showingThisGroup = this.colDef.showRowGroup === colId; - return showingAllGroups || showingThisGroup; - }; - Column.prototype.getUniqueId = function () { - return this.getId(); - }; - Column.prototype.isPrimary = function () { - return this.primary; - }; - Column.prototype.isFilterAllowed = function () { - return this.primary && !this.colDef.suppressFilter; - }; - Column.prototype.isFieldContainsDots = function () { - return this.fieldContainsDots; - }; - Column.prototype.isTooltipFieldContainsDots = function () { - return this.tooltipFieldContainsDots; - }; - Column.prototype.validate = function () { - var colDefAny = this.colDef; - if (!this.gridOptionsWrapper.isEnterprise()) { - var itemsNotAllowedWithoutEnterprise = ['enableRowGroup', 'rowGroup', 'rowGroupIndex', 'enablePivot', 'pivot', 'pivotIndex', 'aggFunc']; - itemsNotAllowedWithoutEnterprise.forEach(function (item) { - if (utils_1.Utils.exists(colDefAny[item])) { - console.warn("ag-Grid: " + item + " is only valid in ag-Grid-Enterprise, your column definition should not have " + item); - } - }); - } - if (this.gridOptionsWrapper.isTreeData()) { - var itemsNotAllowedWithTreeData = ['enableRowGroup', 'rowGroup', 'rowGroupIndex', 'enablePivot', 'pivot', 'pivotIndex']; - itemsNotAllowedWithTreeData.forEach(function (item) { - if (utils_1.Utils.exists(colDefAny[item])) { - console.warn("ag-Grid: " + item + " is not possible when doing tree data, your column definition should not have " + item); - } - }); - } - if (utils_1.Utils.exists(this.colDef.width) && typeof this.colDef.width !== 'number') { - console.warn('ag-Grid: colDef.width should be a number, not ' + typeof this.colDef.width); - } - if (utils_1.Utils.get(this, 'colDef.cellRendererParams.restrictToOneGroup', null)) { - console.warn('ag-Grid: Since ag-grid 11.0.0 cellRendererParams.restrictToOneGroup is deprecated. You should use showRowGroup'); - } - if (utils_1.Utils.get(this, 'colDef.cellRendererParams.keyMap', null)) { - console.warn('ag-Grid: Since ag-grid 11.0.0 cellRendererParams.keyMap is deprecated. You should use colDef.keyCreator'); - } - if (utils_1.Utils.get(this, 'colDef.cellRendererParams.keyMap', null)) { - console.warn('ag-Grid: Since ag-grid 11.0.0 cellRendererParams.keyMap is deprecated. You should use colDef.keyCreator'); - } - if (colDefAny.floatingCellRenderer) { - console.warn('ag-Grid: since v11, floatingCellRenderer is now pinnedRowCellRenderer'); - this.colDef.pinnedRowCellRenderer = colDefAny.floatingCellRenderer; - } - if (colDefAny.floatingRendererFramework) { - console.warn('ag-Grid: since v11, floatingRendererFramework is now pinnedRowCellRendererFramework'); - this.colDef.pinnedRowCellRendererFramework = colDefAny.floatingRendererFramework; - } - if (colDefAny.floatingRendererParams) { - console.warn('ag-Grid: since v11, floatingRendererParams is now pinnedRowCellRendererParams'); - this.colDef.pinnedRowCellRendererParams = colDefAny.floatingRendererParams; - } - if (colDefAny.floatingValueFormatter) { - console.warn('ag-Grid: since v11, floatingValueFormatter is now pinnedRowValueFormatter'); - this.colDef.pinnedRowValueFormatter = colDefAny.floatingValueFormatter; - } - if (colDefAny.cellFormatter) { - console.warn('ag-Grid: since v12, cellFormatter is now valueFormatter'); - if (utils_1.Utils.missing(this.colDef.valueFormatter)) { - this.colDef.valueFormatter = colDefAny.cellFormatter; - } - } - if (colDefAny.headerCellTemplate) { - console.warn('ag-Grid: since v15, headerCellTemplate is gone, use header component instead.'); - } - if (colDefAny.headerCellRenderer) { - console.warn('ag-Grid: since v15, headerCellRenderer is gone, use header component instead.'); - } - }; - Column.prototype.addEventListener = function (eventType, listener) { - this.eventService.addEventListener(eventType, listener); - }; - Column.prototype.removeEventListener = function (eventType, listener) { - this.eventService.removeEventListener(eventType, listener); - }; - Column.prototype.createIsColumnFuncParams = function (rowNode) { - return { - node: rowNode, - column: this, - colDef: this.colDef, - context: this.gridOptionsWrapper.getContext(), - api: this.gridOptionsWrapper.getApi(), - columnApi: this.gridOptionsWrapper.getColumnApi() - }; - }; - Column.prototype.isSuppressNavigable = function (rowNode) { - // if boolean set, then just use it - if (typeof this.colDef.suppressNavigable === 'boolean') { - return this.colDef.suppressNavigable; - } - // if function, then call the function to find out - if (typeof this.colDef.suppressNavigable === 'function') { - var params = this.createIsColumnFuncParams(rowNode); - var userFunc = this.colDef.suppressNavigable; - return userFunc(params); - } - return false; - }; - Column.prototype.isCellEditable = function (rowNode) { - // only allow editing of groups if the user has this option enabled - if (rowNode.group && !this.gridOptionsWrapper.isEnableGroupEdit()) { - return false; - } - return this.isColumnFunc(rowNode, this.colDef.editable); - }; - Column.prototype.isSuppressPaste = function (rowNode) { - return this.isColumnFunc(rowNode, this.colDef ? this.colDef.suppressPaste : null); - }; - Column.prototype.isResizable = function () { - var enableColResize = this.gridOptionsWrapper.isEnableColResize(); - var suppressResize = this.colDef && this.colDef.suppressResize; - return enableColResize && !suppressResize; - }; - Column.prototype.isColumnFunc = function (rowNode, value) { - // if boolean set, then just use it - if (typeof value === 'boolean') { - return value; - } - // if function, then call the function to find out - if (typeof value === 'function') { - var params = this.createIsColumnFuncParams(rowNode); - var editableFunc = value; - return editableFunc(params); - } - return false; - }; - Column.prototype.setMoving = function (moving) { - this.moving = moving; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MOVING_CHANGED)); - }; - Column.prototype.createColumnEvent = function (type) { - return { - api: this.gridApi, - columnApi: this.columnApi, - type: type, - column: this, - columns: [this] - }; - }; - Column.prototype.isMoving = function () { - return this.moving; - }; - Column.prototype.getSort = function () { - return this.sort; - }; - Column.prototype.setSort = function (sort) { - if (this.sort !== sort) { - this.sort = sort; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_SORT_CHANGED)); - } - }; - Column.prototype.setMenuVisible = function (visible) { - if (this.menuVisible !== visible) { - this.menuVisible = visible; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MENU_VISIBLE_CHANGED)); - } - }; - Column.prototype.isMenuVisible = function () { - return this.menuVisible; - }; - Column.prototype.isSortAscending = function () { - return this.sort === Column.SORT_ASC; - }; - Column.prototype.isSortDescending = function () { - return this.sort === Column.SORT_DESC; - }; - Column.prototype.isSortNone = function () { - return utils_1.Utils.missing(this.sort); - }; - Column.prototype.isSorting = function () { - return utils_1.Utils.exists(this.sort); - }; - Column.prototype.getSortedAt = function () { - return this.sortedAt; - }; - Column.prototype.setSortedAt = function (sortedAt) { - this.sortedAt = sortedAt; - }; - Column.prototype.setAggFunc = function (aggFunc) { - this.aggFunc = aggFunc; - }; - Column.prototype.getAggFunc = function () { - return this.aggFunc; - }; - Column.prototype.getLeft = function () { - return this.left; - }; - Column.prototype.getOldLeft = function () { - return this.oldLeft; - }; - Column.prototype.getRight = function () { - return this.left + this.actualWidth; - }; - Column.prototype.setLeft = function (left) { - this.oldLeft = this.left; - if (this.left !== left) { - this.left = left; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LEFT_CHANGED)); - } - }; - Column.prototype.isFilterActive = function () { - return this.filterActive; - }; - Column.prototype.setFilterActive = function (active) { - if (this.filterActive !== active) { - this.filterActive = active; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FILTER_ACTIVE_CHANGED)); - } - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FILTER_CHANGED)); - }; - Column.prototype.setPinned = function (pinned) { - // pinning is not allowed when doing 'forPrint' - if (this.gridOptionsWrapper.isForPrint()) { - return; - } - if (pinned === true || pinned === Column.PINNED_LEFT) { - this.pinned = Column.PINNED_LEFT; - } - else if (pinned === Column.PINNED_RIGHT) { - this.pinned = Column.PINNED_RIGHT; - } - else { - this.pinned = null; - } - // console.log(`setColumnsPinned ${this.getColId()} ${this.pinned}`); - }; - Column.prototype.setFirstRightPinned = function (firstRightPinned) { - if (this.firstRightPinned !== firstRightPinned) { - this.firstRightPinned = firstRightPinned; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED)); - } - }; - Column.prototype.setLastLeftPinned = function (lastLeftPinned) { - if (this.lastLeftPinned !== lastLeftPinned) { - this.lastLeftPinned = lastLeftPinned; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LAST_LEFT_PINNED_CHANGED)); - } - }; - Column.prototype.isFirstRightPinned = function () { - return this.firstRightPinned; - }; - Column.prototype.isLastLeftPinned = function () { - return this.lastLeftPinned; - }; - Column.prototype.isPinned = function () { - return this.pinned === Column.PINNED_LEFT || this.pinned === Column.PINNED_RIGHT; - }; - Column.prototype.isPinnedLeft = function () { - return this.pinned === Column.PINNED_LEFT; - }; - Column.prototype.isPinnedRight = function () { - return this.pinned === Column.PINNED_RIGHT; - }; - Column.prototype.getPinned = function () { - return this.pinned; - }; - Column.prototype.setVisible = function (visible) { - var newValue = visible === true; - if (this.visible !== newValue) { - this.visible = newValue; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VISIBLE_CHANGED)); - } - }; - Column.prototype.isVisible = function () { - return this.visible; - }; - Column.prototype.getColDef = function () { - return this.colDef; - }; - Column.prototype.getColumnGroupShow = function () { - return this.colDef.columnGroupShow; - }; - Column.prototype.getColId = function () { - return this.colId; - }; - Column.prototype.getId = function () { - return this.getColId(); - }; - Column.prototype.getDefinition = function () { - return this.colDef; - }; - Column.prototype.getActualWidth = function () { - return this.actualWidth; - }; - Column.prototype.getColSpan = function (rowNode) { - if (utils_1.Utils.missing(this.colDef.colSpan)) { - return 1; - } - else { - var params = { - node: rowNode, - data: rowNode.data, - colDef: this.colDef, - column: this, - api: this.gridOptionsWrapper.getApi(), - columnApi: this.gridOptionsWrapper.getColumnApi(), - context: this.gridOptionsWrapper.getContext() - }; - var colSpan = this.colDef.colSpan(params); - // colSpan must be number equal to or greater than 1 - if (colSpan > 1) { - return colSpan; - } - else { - return 1; - } - } - }; - Column.prototype.setActualWidth = function (actualWidth) { - if (this.actualWidth !== actualWidth) { - this.actualWidth = actualWidth; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_WIDTH_CHANGED)); - } - }; - Column.prototype.isGreaterThanMax = function (width) { - if (this.maxWidth) { - return width > this.maxWidth; - } - else { - return false; - } - }; - Column.prototype.getMinWidth = function () { - return this.minWidth; - }; - Column.prototype.getMaxWidth = function () { - return this.maxWidth; - }; - Column.prototype.setMinimum = function () { - this.setActualWidth(this.minWidth); - }; - Column.prototype.setRowGroupActive = function (rowGroup) { - if (this.rowGroupActive !== rowGroup) { - this.rowGroupActive = rowGroup; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_ROW_GROUP_CHANGED)); - } - }; - Column.prototype.isRowGroupActive = function () { - return this.rowGroupActive; - }; - Column.prototype.setPivotActive = function (pivot) { - if (this.pivotActive !== pivot) { - this.pivotActive = pivot; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_PIVOT_CHANGED)); - } - }; - Column.prototype.isPivotActive = function () { - return this.pivotActive; - }; - Column.prototype.isAnyFunctionActive = function () { - return this.isPivotActive() || this.isRowGroupActive() || this.isValueActive(); - }; - Column.prototype.isAnyFunctionAllowed = function () { - return this.isAllowPivot() || this.isAllowRowGroup() || this.isAllowValue(); - }; - Column.prototype.setValueActive = function (value) { - if (this.aggregationActive !== value) { - this.aggregationActive = value; - this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VALUE_CHANGED)); - } - }; - Column.prototype.isValueActive = function () { - return this.aggregationActive; - }; - Column.prototype.isAllowPivot = function () { - return this.colDef.enablePivot === true; - }; - Column.prototype.isAllowValue = function () { - return this.colDef.enableValue === true; - }; - Column.prototype.isAllowRowGroup = function () { - return this.colDef.enableRowGroup === true; - }; - Column.prototype.getMenuTabs = function (defaultValues) { - var menuTabs = this.getColDef().menuTabs; - if (menuTabs == null) { - menuTabs = defaultValues; - } - return menuTabs; - }; - // + renderedHeaderCell - for making header cell transparent when moving - Column.EVENT_MOVING_CHANGED = 'movingChanged'; - // + renderedCell - changing left position - Column.EVENT_LEFT_CHANGED = 'leftChanged'; - // + renderedCell - changing width - Column.EVENT_WIDTH_CHANGED = 'widthChanged'; - // + renderedCell - for changing pinned classes - Column.EVENT_LAST_LEFT_PINNED_CHANGED = 'lastLeftPinnedChanged'; - Column.EVENT_FIRST_RIGHT_PINNED_CHANGED = 'firstRightPinnedChanged'; - // + renderedColumn - for changing visibility icon - Column.EVENT_VISIBLE_CHANGED = 'visibleChanged'; - // + every time the filter changes, used in the floating filters - Column.EVENT_FILTER_CHANGED = 'filterChanged'; - // + renderedHeaderCell - marks the header with filter icon - Column.EVENT_FILTER_ACTIVE_CHANGED = 'filterActiveChanged'; - // + renderedHeaderCell - marks the header with sort icon - Column.EVENT_SORT_CHANGED = 'sortChanged'; - Column.EVENT_MENU_VISIBLE_CHANGED = 'menuVisibleChanged'; - // + toolpanel, for gui updates - Column.EVENT_ROW_GROUP_CHANGED = 'columnRowGroupChanged'; - // + toolpanel, for gui updates - Column.EVENT_PIVOT_CHANGED = 'columnPivotChanged'; - // + toolpanel, for gui updates - Column.EVENT_VALUE_CHANGED = 'columnValueChanged'; - Column.PINNED_RIGHT = 'right'; - Column.PINNED_LEFT = 'left'; - Column.SORT_ASC = 'asc'; - Column.SORT_DESC = 'desc'; - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], Column.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('columnUtils'), - __metadata("design:type", columnUtils_1.ColumnUtils) - ], Column.prototype, "columnUtils", void 0); - __decorate([ - context_1.Autowired('frameworkFactory'), - __metadata("design:type", Object) - ], Column.prototype, "frameworkFactory", void 0); - __decorate([ - context_1.Autowired('columnApi'), - __metadata("design:type", columnController_1.ColumnApi) - ], Column.prototype, "columnApi", void 0); - __decorate([ - context_1.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], Column.prototype, "gridApi", void 0); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], Column.prototype, "initialise", null); - return Column; -}()); -exports.Column = Column; - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var gridOptionsWrapper_1 = __webpack_require__(2); -var context_1 = __webpack_require__(0); -var context_2 = __webpack_require__(0); -var LoggerFactory = (function () { - function LoggerFactory() { - } - LoggerFactory.prototype.setBeans = function (gridOptionsWrapper) { - this.logging = gridOptionsWrapper.isDebug(); - }; - LoggerFactory.prototype.create = function (name) { - return new Logger(name, this.isLogging.bind(this)); - }; - LoggerFactory.prototype.isLogging = function () { - return this.logging; - }; - __decorate([ - __param(0, context_2.Qualifier('gridOptionsWrapper')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [gridOptionsWrapper_1.GridOptionsWrapper]), - __metadata("design:returntype", void 0) - ], LoggerFactory.prototype, "setBeans", null); - LoggerFactory = __decorate([ - context_1.Bean('loggerFactory') - ], LoggerFactory); - return LoggerFactory; -}()); -exports.LoggerFactory = LoggerFactory; -var Logger = (function () { - function Logger(name, isLoggingFunc) { - this.name = name; - this.isLoggingFunc = isLoggingFunc; - } - Logger.prototype.isLogging = function () { - return this.isLoggingFunc(); - }; - Logger.prototype.log = function (message) { - if (this.isLoggingFunc()) { - console.log('ag-Grid.' + this.name + ': ' + message); - } - }; - return Logger; -}()); -exports.Logger = Logger; - - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var utils_1 = __webpack_require__(1); -var gridOptionsWrapper_1 = __webpack_require__(2); -var columnController_1 = __webpack_require__(3); -var rowRenderer_1 = __webpack_require__(20); -var borderLayout_1 = __webpack_require__(64); -var logger_1 = __webpack_require__(10); -var context_1 = __webpack_require__(0); -var eventService_1 = __webpack_require__(4); -var events_1 = __webpack_require__(5); -var dragService_1 = __webpack_require__(45); -var constants_1 = __webpack_require__(7); -var selectionController_1 = __webpack_require__(14); -var csvCreator_1 = __webpack_require__(43); -var mouseEventService_1 = __webpack_require__(36); -var focusedCellController_1 = __webpack_require__(24); -var scrollVisibleService_1 = __webpack_require__(34); -var beanStub_1 = __webpack_require__(13); -var rowContainerComponent_1 = __webpack_require__(119); -var paginationProxy_1 = __webpack_require__(28); -var popupEditorWrapper_1 = __webpack_require__(67); -var alignedGridsService_1 = __webpack_require__(46); -var pinnedRowModel_1 = __webpack_require__(29); -var gridApi_1 = __webpack_require__(6); -var animationFrameService_1 = __webpack_require__(38); -var rowComp_1 = __webpack_require__(47); -var navigationService_1 = __webpack_require__(87); -var valueService_1 = __webpack_require__(16); -var touchListener_1 = __webpack_require__(48); -var componentRecipes_1 = __webpack_require__(22); -// in the html below, it is important that there are no white space between some of the divs, as if there is white space, -// it won't render correctly in safari, as safari renders white space as a gap -var HEADER_SNIPPET = '
' + - '' + - '' + - '' + - '' + - '
'; -var FLOATING_TOP_SNIPPET = ''; -var FLOATING_BOTTOM_SNIPPET = ''; -var BODY_SNIPPET = ''; -// the difference between the 'normal' and 'full height' template is the order of the floating and body, -// for normal, the floating top and bottom go in first as they are fixed position, -// for auto-height, the body is in the middle of the top and bottom as they are just normally laid out -var GRID_PANEL_NORMAL_TEMPLATE = '
' + - HEADER_SNIPPET + FLOATING_TOP_SNIPPET + FLOATING_BOTTOM_SNIPPET + BODY_SNIPPET + - '
'; -var GRID_PANEL_AUTO_HEIGHT_TEMPLATE = '
' + - HEADER_SNIPPET + FLOATING_TOP_SNIPPET + BODY_SNIPPET + FLOATING_BOTTOM_SNIPPET + - '
'; -// the template for for-print is much easier than that others, as it doesn't have any pinned areas -// or scrollable areas (so no viewports). -var GRID_PANEL_FOR_PRINT_TEMPLATE = '
' + - // header - '
' + - // floating - '
' + - // body - '
' + - // floating bottom - '
' + - '
'; -var GridPanel = (function (_super) { - __extends(GridPanel, _super); - function GridPanel() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.scrollLeft = -1; - _this.nextScrollLeft = -1; - _this.scrollTop = -1; - _this.nextScrollTop = -1; - _this.verticalRedrawNeeded = false; - return _this; - } - GridPanel.prototype.agWire = function (loggerFactory) { - this.logger = loggerFactory.create('GridPanel'); - // makes code below more readable if we pull 'forPrint' out - this.forPrint = this.gridOptionsWrapper.isForPrint(); - this.autoHeight = this.gridOptionsWrapper.isAutoHeight(); - this.scrollWidth = this.gridOptionsWrapper.getScrollbarWidth(); - this.enableRtl = this.gridOptionsWrapper.isEnableRtl(); - this.loadTemplate(); - this.findElements(); - }; - GridPanel.prototype.getVerticalPixelRange = function () { - var container = this.getPrimaryScrollViewport(); - var result = { - top: container.scrollTop, - bottom: container.scrollTop + container.offsetHeight - }; - return result; - }; - // we override this, as the base class is missing the annotation - GridPanel.prototype.destroy = function () { - _super.prototype.destroy.call(this); - }; - GridPanel.prototype.onRowDataChanged = function () { - this.showOrHideOverlay(); - }; - GridPanel.prototype.showOrHideOverlay = function () { - if (this.paginationProxy.isEmpty() && !this.gridOptionsWrapper.isSuppressNoRowsOverlay()) { - this.showNoRowsOverlay(); - } - else { - this.hideOverlay(); - } - }; - GridPanel.prototype.getLayout = function () { - return this.layout; - }; - GridPanel.prototype.init = function () { - this.useAnimationFrame = !this.gridOptionsWrapper.isSuppressAnimationFrame(); - this.addEventListeners(); - this.addDragListeners(); - this.layout = new borderLayout_1.BorderLayout({ - center: this.eRoot, - dontFill: this.forPrint, - fillHorizontalOnly: this.autoHeight, - name: 'eGridPanel', - componentRecipes: this.componentRecipes - }); - this.layout.addSizeChangeListener(this.setBodyAndHeaderHeights.bind(this)); - this.layout.addSizeChangeListener(this.setLeftAndRightBounds.bind(this)); - this.addScrollListener(); - if (this.gridOptionsWrapper.isSuppressHorizontalScroll()) { - this.eBodyViewport.style.overflowX = 'hidden'; - } - if (this.gridOptionsWrapper.isRowModelDefault() && !this.gridOptionsWrapper.getRowData()) { - this.showLoadingOverlay(); - } - this.setPinnedContainersVisible(); - this.setBodyAndHeaderHeights(); - this.disableBrowserDragging(); - this.addShortcutKeyListeners(); - this.addMouseListeners(); - this.addKeyboardEvents(); - this.addBodyViewportListener(); - this.addStopEditingWhenGridLosesFocus(); - this.mockContextMenuForIPad(); - if (this.$scope) { - this.addAngularApplyCheck(); - } - this.onDisplayedColumnsWidthChanged(); - }; - GridPanel.prototype.addStopEditingWhenGridLosesFocus = function () { - var _this = this; - if (this.gridOptionsWrapper.isStopEditingWhenGridLosesFocus()) { - this.addDestroyableEventListener(this.eBody, 'focusout', function (event) { - // this is the element the focus is moving to - var elementWithFocus = event.relatedTarget; - // see if the element the focus is going to is part of the grid - var clickInsideGrid = false; - var pointer = elementWithFocus; - while (utils_1.Utils.exists(pointer) && !clickInsideGrid) { - var isPopup = !!_this.gridOptionsWrapper.getDomData(pointer, popupEditorWrapper_1.PopupEditorWrapper.DOM_KEY_POPUP_EDITOR_WRAPPER); - var isBody = _this.eBody == pointer; - clickInsideGrid = isPopup || isBody; - pointer = pointer.parentNode; - } - if (!clickInsideGrid) { - _this.rowRenderer.stopEditing(); - } - }); - } - }; - GridPanel.prototype.addAngularApplyCheck = function () { - var _this = this; - // this makes sure if we queue up requests, we only execute oe - var applyTriggered = false; - var listener = function () { - // only need to do one apply at a time - if (applyTriggered) { - return; - } - applyTriggered = true; // mark 'need apply' to true - setTimeout(function () { - applyTriggered = false; - _this.$scope.$apply(); - }, 0); - }; - // these are the events we need to do an apply after - these are the ones that can end up - // with columns added or removed - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_VIRTUAL_COLUMNS_CHANGED, listener); - }; - // if we do not do this, then the user can select a pic in the grid (eg an image in a custom cell renderer) - // and then that will start the browser native drag n' drop, which messes up with our own drag and drop. - GridPanel.prototype.disableBrowserDragging = function () { - this.eRoot.addEventListener('dragstart', function (event) { - if (event.target instanceof HTMLImageElement) { - event.preventDefault(); - return false; - } - }); - }; - GridPanel.prototype.addEventListeners = function () { - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this)); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onDisplayedColumnsWidthChanged.bind(this)); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_SCROLL_VISIBILITY_CHANGED, this.onScrollVisibilityChanged.bind(this)); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_PINNED_ROW_DATA_CHANGED, this.setBodyAndHeaderHeights.bind(this)); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_ROW_DATA_CHANGED, this.onRowDataChanged.bind(this)); - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_ROW_DATA_UPDATED, this.onRowDataChanged.bind(this)); - this.addDestroyableEventListener(this.gridOptionsWrapper, gridOptionsWrapper_1.GridOptionsWrapper.PROP_HEADER_HEIGHT, this.setBodyAndHeaderHeights.bind(this)); - this.addDestroyableEventListener(this.gridOptionsWrapper, gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, this.setBodyAndHeaderHeights.bind(this)); - this.addDestroyableEventListener(this.gridOptionsWrapper, gridOptionsWrapper_1.GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, this.setBodyAndHeaderHeights.bind(this)); - this.addDestroyableEventListener(this.gridOptionsWrapper, gridOptionsWrapper_1.GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, this.setBodyAndHeaderHeights.bind(this)); - this.addDestroyableEventListener(this.gridOptionsWrapper, gridOptionsWrapper_1.GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, this.setBodyAndHeaderHeights.bind(this)); - }; - GridPanel.prototype.addDragListeners = function () { - var _this = this; - if (this.forPrint // no range select when doing 'for print' - || !this.gridOptionsWrapper.isEnableRangeSelection() // no range selection if no property - || utils_1.Utils.missing(this.rangeController)) { - return; - } - var containers = [this.ePinnedLeftColsContainer, this.ePinnedRightColsContainer, this.eBodyContainer, - this.eFloatingTop, this.eFloatingBottom]; - containers.forEach(function (container) { - var params = { - dragStartPixels: 0, - eElement: container, - onDragStart: _this.rangeController.onDragStart.bind(_this.rangeController), - onDragStop: _this.rangeController.onDragStop.bind(_this.rangeController), - onDragging: _this.rangeController.onDragging.bind(_this.rangeController) - }; - _this.dragService.addDragSource(params); - _this.addDestroyFunc(function () { return _this.dragService.removeDragSource(params); }); - }); - }; - GridPanel.prototype.addMouseListeners = function () { - var _this = this; - var eventNames = ['click', 'mousedown', 'dblclick', 'contextmenu', 'mouseover', 'mouseout']; - eventNames.forEach(function (eventName) { - var listener = _this.processMouseEvent.bind(_this, eventName); - _this.eAllCellContainers.forEach(function (container) { - return _this.addDestroyableEventListener(container, eventName, listener); - }); - }); - }; - GridPanel.prototype.addKeyboardEvents = function () { - var _this = this; - var eventNames = ['keydown', 'keypress']; - eventNames.forEach(function (eventName) { - var listener = _this.processKeyboardEvent.bind(_this, eventName); - _this.eAllCellContainers.forEach(function (container) { - _this.addDestroyableEventListener(container, eventName, listener); - }); - }); - }; - GridPanel.prototype.addBodyViewportListener = function () { - var _this = this; - // we never add this when doing 'forPrint' - if (this.gridOptionsWrapper.isForPrint()) { - return; - } - // we want to listen for clicks directly on the eBodyViewport, so the user has a way of showing - // the context menu if no rows are displayed, or user simply clicks outside of a cell - var listener = function (mouseEvent) { - var target = utils_1.Utils.getTarget(mouseEvent); - if (target === _this.eBodyViewport || target === _this.ePinnedLeftColsViewport || target === _this.ePinnedRightColsViewport) { - // show it - _this.onContextMenu(mouseEvent, null, null, null, null); - _this.preventDefaultOnContextMenu(mouseEvent); - } - }; - //For some reason listening only to this.eBody doesnt work... Maybe because the event is consumed somewhere else? - //In any case, not expending much time on this, if anyome comes accross this and knows how to make this work with - //one listener please go ahead and change it... - this.addDestroyableEventListener(this.eBodyViewport, 'contextmenu', listener); - this.addDestroyableEventListener(this.ePinnedRightColsViewport, 'contextmenu', listener); - this.addDestroyableEventListener(this.ePinnedLeftColsViewport, 'contextmenu', listener); - }; - GridPanel.prototype.getRowForEvent = function (event) { - var sourceElement = utils_1.Utils.getTarget(event); - while (sourceElement) { - var renderedRow = this.gridOptionsWrapper.getDomData(sourceElement, rowComp_1.RowComp.DOM_DATA_KEY_RENDERED_ROW); - if (renderedRow) { - return renderedRow; - } - sourceElement = sourceElement.parentElement; - } - return null; - }; - GridPanel.prototype.processKeyboardEvent = function (eventName, keyboardEvent) { - var renderedCell = this.mouseEventService.getRenderedCellForEvent(keyboardEvent); - if (!renderedCell) { - return; - } - switch (eventName) { - case 'keydown': - // first see if it's a scroll key, page up / down, home / end etc - var wasScrollKey = this.navigationService.handlePageScrollingKey(keyboardEvent); - // if not a scroll key, then we pass onto cell - if (!wasScrollKey) { - renderedCell.onKeyDown(keyboardEvent); - } - break; - case 'keypress': - renderedCell.onKeyPress(keyboardEvent); - break; - } - }; - // gets called by rowRenderer when new data loaded, as it will want to scroll - // to the top - GridPanel.prototype.scrollToTop = function () { - if (!this.forPrint) { - this.getPrimaryScrollViewport().scrollTop = 0; - } - }; - GridPanel.prototype.processMouseEvent = function (eventName, mouseEvent) { - if (!this.mouseEventService.isEventFromThisGrid(mouseEvent)) - return; - if (utils_1.Utils.isStopPropagationForAgGrid(mouseEvent)) { - return; - } - var rowComp = this.getRowForEvent(mouseEvent); - var cellComp = this.mouseEventService.getRenderedCellForEvent(mouseEvent); - if (eventName === "contextmenu") { - this.handleContextMenuMouseEvent(mouseEvent, null, rowComp, cellComp); - } - else { - if (cellComp) - cellComp.onMouseEvent(eventName, mouseEvent); - if (rowComp) - rowComp.onMouseEvent(eventName, mouseEvent); - } - this.preventDefaultOnContextMenu(mouseEvent); - }; - GridPanel.prototype.mockContextMenuForIPad = function () { - var _this = this; - // we do NOT want this when not in ipad, otherwise we will be doing - if (!utils_1.Utils.isUserAgentIPad()) { - return; - } - this.eAllCellContainers.forEach(function (container) { - var touchListener = new touchListener_1.TouchListener(container); - var longTapListener = function (event) { - var rowComp = _this.getRowForEvent(event.touchEvent); - var cellComp = _this.mouseEventService.getRenderedCellForEvent(event.touchEvent); - _this.handleContextMenuMouseEvent(null, event.touchEvent, rowComp, cellComp); - }; - _this.addDestroyableEventListener(touchListener, touchListener_1.TouchListener.EVENT_LONG_TAP, longTapListener); - _this.addDestroyFunc(function () { return touchListener.destroy(); }); - }); - }; - GridPanel.prototype.handleContextMenuMouseEvent = function (mouseEvent, touchEvent, rowComp, cellComp) { - var rowNode = rowComp ? rowComp.getRowNode() : null; - var column = cellComp ? cellComp.getColumn() : null; - var value = null; - if (column) { - var event_1 = mouseEvent ? mouseEvent : touchEvent; - cellComp.dispatchCellContextMenuEvent(event_1); - value = this.valueService.getValue(column, rowNode); - } - this.onContextMenu(mouseEvent, touchEvent, rowNode, column, value); - }; - GridPanel.prototype.onContextMenu = function (mouseEvent, touchEvent, rowNode, column, value) { - // to allow us to debug in chrome, we ignore the event if ctrl is pressed. - // not everyone wants this, so first 'if' below allows to turn this hack off. - if (!this.gridOptionsWrapper.isAllowContextMenuWithControlKey()) { - // then do the check - if (mouseEvent && (mouseEvent.ctrlKey || mouseEvent.metaKey)) { - return; - } - } - if (this.contextMenuFactory && !this.gridOptionsWrapper.isSuppressContextMenu()) { - var eventOrTouch = mouseEvent ? mouseEvent : touchEvent.touches[0]; - this.contextMenuFactory.showMenu(rowNode, column, value, eventOrTouch); - var event_2 = mouseEvent ? mouseEvent : touchEvent; - event_2.preventDefault(); - } - }; - GridPanel.prototype.preventDefaultOnContextMenu = function (mouseEvent) { - // if we don't do this, then middle click will never result in a 'click' event, as 'mousedown' - // will be consumed by the browser to mean 'scroll' (as you can scroll with the middle mouse - // button in the browser). so this property allows the user to receive middle button clicks if - // they want. - if (this.gridOptionsWrapper.isSuppressMiddleClickScrolls() && mouseEvent.which === 2) { - mouseEvent.preventDefault(); - } - }; - GridPanel.prototype.addShortcutKeyListeners = function () { - var _this = this; - this.eAllCellContainers.forEach(function (container) { - container.addEventListener('keydown', function (event) { - // if the cell the event came from is editing, then we do not - // want to do the default shortcut keys, otherwise the editor - // (eg a text field) would not be able to do the normal cut/copy/paste - var renderedCell = _this.mouseEventService.getRenderedCellForEvent(event); - if (renderedCell && renderedCell.isEditing()) { - return; - } - // for copy / paste, we don't want to execute when the event - // was from a child grid (happens in master detail) - if (!_this.mouseEventService.isEventFromThisGrid(event)) { - return; - } - if (event.ctrlKey || event.metaKey) { - switch (event.which) { - case constants_1.Constants.KEY_A: return _this.onCtrlAndA(event); - case constants_1.Constants.KEY_C: return _this.onCtrlAndC(event); - case constants_1.Constants.KEY_V: return _this.onCtrlAndV(event); - case constants_1.Constants.KEY_D: return _this.onCtrlAndD(event); - } - } - }); - }); - }; - GridPanel.prototype.onCtrlAndA = function (event) { - if (this.rangeController && this.paginationProxy.isRowsToRender()) { - var rowEnd = void 0; - var floatingStart = void 0; - var floatingEnd = void 0; - if (this.pinnedRowModel.isEmpty(constants_1.Constants.PINNED_TOP)) { - floatingStart = null; - } - else { - floatingStart = constants_1.Constants.PINNED_TOP; - } - if (this.pinnedRowModel.isEmpty(constants_1.Constants.PINNED_BOTTOM)) { - floatingEnd = null; - rowEnd = this.paginationProxy.getTotalRowCount() - 1; - } - else { - floatingEnd = constants_1.Constants.PINNED_BOTTOM; - rowEnd = this.pinnedRowModel.getPinnedBottomRowData().length = 1; - } - var allDisplayedColumns = this.columnController.getAllDisplayedColumns(); - if (utils_1.Utils.missingOrEmpty(allDisplayedColumns)) { - return; - } - this.rangeController.setRange({ - rowStart: 0, - floatingStart: floatingStart, - rowEnd: rowEnd, - floatingEnd: floatingEnd, - columnStart: allDisplayedColumns[0], - columnEnd: allDisplayedColumns[allDisplayedColumns.length - 1] - }); - } - event.preventDefault(); - return false; - }; - GridPanel.prototype.onCtrlAndC = function (event) { - if (!this.clipboardService) { - return; - } - var focusedCell = this.focusedCellController.getFocusedCell(); - this.clipboardService.copyToClipboard(); - event.preventDefault(); - // the copy operation results in loosing focus on the cell, - // because of the trickery the copy logic uses with a temporary - // widget. so we set it back again. - if (focusedCell) { - this.focusedCellController.setFocusedCell(focusedCell.rowIndex, focusedCell.column, focusedCell.floating, true); - } - return false; - }; - GridPanel.prototype.onCtrlAndV = function (event) { - if (!this.rangeController) { - return; - } - this.clipboardService.pasteFromClipboard(); - return false; - }; - GridPanel.prototype.onCtrlAndD = function (event) { - if (!this.clipboardService) { - return; - } - this.clipboardService.copyRangeDown(); - event.preventDefault(); - return false; - }; - // Valid values for position are bottom, middle and top - // position should be {'top','middle','bottom', or undefined/null}. - // if undefined/null, then the grid will to the minimal amount of scrolling, - // eg if grid needs to scroll up, it scrolls until row is on top, - // if grid needs to scroll down, it scrolls until row is on bottom, - // if row is already in view, grid does not scroll - GridPanel.prototype.ensureIndexVisible = function (index, position) { - // if for print or auto height, everything is always visible - if (this.gridOptionsWrapper.isForPrint() || this.gridOptionsWrapper.isAutoHeight()) { - return; - } - this.logger.log('ensureIndexVisible: ' + index); - var rowCount = this.paginationProxy.getTotalRowCount(); - if (typeof index !== 'number' || index < 0 || index >= rowCount) { - console.warn('invalid row index for ensureIndexVisible: ' + index); - return; - } - this.paginationProxy.goToPageWithIndex(index); - var nodeAtIndex = this.paginationProxy.getRow(index); - var pixelOffset = this.paginationProxy.getPixelOffset(); - var rowTopPixel = nodeAtIndex.rowTop - pixelOffset; - var rowBottomPixel = rowTopPixel + nodeAtIndex.rowHeight; - var vRange = this.getVerticalPixelRange(); - var vRangeTop = vRange.top; - var vRangeBottom = vRange.bottom; - var scrollShowing = this.isHorizontalScrollShowing(); - if (scrollShowing) { - vRangeBottom -= this.scrollWidth; - } - var rowToHighlightHeight = rowBottomPixel - rowTopPixel; - var viewportHeight = vRangeBottom - vRangeTop; - var halfScreenHeight = (viewportHeight / 2) + (rowToHighlightHeight / 2); - var eViewportToScroll = this.getPrimaryScrollViewport(); - var newScrollPosition; - switch (position) { - case 'top': - newScrollPosition = rowTopPixel; - break; - case 'bottom': - newScrollPosition = rowBottomPixel - viewportHeight; - break; - case 'middle': - newScrollPosition = halfScreenHeight; - // The if/else logic here protects us from over scrolling - // ie: Trying to scroll past the row (ie ensureNodeVisible (0, 'middle')) - newScrollPosition = newScrollPosition > rowTopPixel ? rowTopPixel : newScrollPosition; - break; - default: - newScrollPosition = rowTopPixel; - var viewportScrolledPastRow = vRangeTop > rowTopPixel; - var viewportScrolledBeforeRow = vRangeBottom < rowBottomPixel; - if (viewportScrolledPastRow) { - // if row is before, scroll up with row at top - newScrollPosition = rowTopPixel; - } - else if (viewportScrolledBeforeRow) { - // if row is below, scroll down with row at bottom - var viewportHeight_1 = vRangeBottom - vRangeTop; - newScrollPosition = rowBottomPixel - viewportHeight_1; - } - else { - // row already in view, and top/middle/bottom not specified, so do nothing. - newScrollPosition = null; - } - break; - } - // this means the row is already in view, and we don't need to scroll - if (newScrollPosition === null) { - return; - } - eViewportToScroll.scrollTop = newScrollPosition; - this.rowRenderer.redrawAfterScroll(); - }; - GridPanel.prototype.getPrimaryScrollViewport = function () { - if (this.enableRtl && this.columnController.isPinningLeft()) { - return this.ePinnedLeftColsViewport; - } - else if (!this.enableRtl && this.columnController.isPinningRight()) { - return this.ePinnedRightColsViewport; - } - else { - return this.eBodyViewport; - } - }; - // + moveColumnController - GridPanel.prototype.getCenterWidth = function () { - return this.eBodyViewport.clientWidth; - }; - GridPanel.prototype.isHorizontalScrollShowing = function () { - var result = utils_1.Utils.isHorizontalScrollShowing(this.eBodyViewport); - return result; - }; - GridPanel.prototype.isVerticalScrollShowing = function () { - if (this.columnController.isPinningRight()) { - return utils_1.Utils.isVerticalScrollShowing(this.ePinnedRightColsViewport); - } - else { - return utils_1.Utils.isVerticalScrollShowing(this.eBodyViewport); - } - }; - GridPanel.prototype.isBodyVerticalScrollShowing = function () { - // if the scroll is on the pinned panel, then it is never in the center panel. - // if LRT, then pinning right means scroll NOT on center - if (!this.enableRtl && this.columnController.isPinningRight()) { - return false; - } - // if RTL, then pinning left means scroll NOT on center - if (this.enableRtl && this.columnController.isPinningLeft()) { - return false; - } - return utils_1.Utils.isVerticalScrollShowing(this.eBodyViewport); - }; - // gets called every 500 ms. we use this to set padding on right pinned column - GridPanel.prototype.periodicallyCheck = function () { - if (this.forPrint) { - return; - } - this.setBottomPaddingOnPinnedRight(); - this.setMarginOnFullWidthCellContainer(); - this.setScrollShowing(); - }; - GridPanel.prototype.setScrollShowing = function () { - var params = { - vBody: false, - hBody: false, - vPinnedLeft: false, - vPinnedRight: false - }; - if (this.enableRtl) { - if (this.columnController.isPinningLeft()) { - params.vPinnedLeft = this.forPrint ? false : utils_1.Utils.isVerticalScrollShowing(this.ePinnedLeftColsViewport); - } - else { - params.vBody = utils_1.Utils.isVerticalScrollShowing(this.eBodyViewport); - } - } - else { - if (this.columnController.isPinningRight()) { - params.vPinnedRight = this.forPrint ? false : utils_1.Utils.isVerticalScrollShowing(this.ePinnedRightColsViewport); - } - else { - params.vBody = utils_1.Utils.isVerticalScrollShowing(this.eBodyViewport); - } - } - params.hBody = utils_1.Utils.isHorizontalScrollShowing(this.eBodyViewport); - this.scrollVisibleService.setScrollsVisible(params); - }; - // the pinned container needs extra space at the bottom, some blank space, otherwise when - // vertically scrolled all the way down, the last row will be hidden behind the scrolls. - // this extra padding allows the last row to be lifted above the bottom scrollbar. - GridPanel.prototype.setBottomPaddingOnPinnedRight = function () { - if (this.forPrint) { - return; - } - if (this.columnController.isPinningRight()) { - var bodyHorizontalScrollShowing = this.eBodyViewport.clientWidth < this.eBodyViewport.scrollWidth; - if (bodyHorizontalScrollShowing) { - this.ePinnedRightColsContainer.style.marginBottom = this.scrollWidth + 'px'; - } - else { - this.ePinnedRightColsContainer.style.marginBottom = ''; - } - } - }; - GridPanel.prototype.setMarginOnFullWidthCellContainer = function () { - if (this.forPrint) { - return; - } - // if either right or bottom scrollbars are showing, we need to make sure the - // fullWidthCell panel isn't covering the scrollbars. originally i tried to do this using - // margin, but the overflow was not getting clipped and going into the margin, - // so used border instead. dunno why it works, trial and error found the solution. - if (this.enableRtl) { - if (this.isVerticalScrollShowing()) { - this.eFullWidthCellViewport.style.borderLeft = this.scrollWidth + 'px solid transparent'; - } - else { - this.eFullWidthCellViewport.style.borderLeft = ''; - } - } - else { - if (this.isVerticalScrollShowing()) { - this.eFullWidthCellViewport.style.borderRight = this.scrollWidth + 'px solid transparent'; - } - else { - this.eFullWidthCellViewport.style.borderRight = ''; - } - } - if (this.isHorizontalScrollShowing()) { - this.eFullWidthCellViewport.style.borderBottom = this.scrollWidth + 'px solid transparent'; - } - else { - this.eFullWidthCellViewport.style.borderBottom = ''; - } - }; - GridPanel.prototype.ensureColumnVisible = function (key) { - // if for print, everything is always visible - if (this.gridOptionsWrapper.isForPrint()) { - return; - } - var column = this.columnController.getGridColumn(key); - if (!column) { - return; - } - if (column.isPinned()) { - console.warn('calling ensureIndexVisible on a ' + column.getPinned() + ' pinned column doesn\'t make sense for column ' + column.getColId()); - return; - } - if (!this.columnController.isColumnDisplayed(column)) { - console.warn('column is not currently visible'); - return; - } - var colLeftPixel = column.getLeft(); - var colRightPixel = colLeftPixel + column.getActualWidth(); - var viewportWidth = this.eBodyViewport.clientWidth; - var scrollPosition = this.getBodyViewportScrollLeft(); - var bodyWidth = this.columnController.getBodyContainerWidth(); - var viewportLeftPixel; - var viewportRightPixel; - // the logic of working out left and right viewport px is both here and in the ColumnController, - // need to refactor it out to one place - if (this.enableRtl) { - viewportLeftPixel = bodyWidth - scrollPosition - viewportWidth; - viewportRightPixel = bodyWidth - scrollPosition; - } - else { - viewportLeftPixel = scrollPosition; - viewportRightPixel = viewportWidth + scrollPosition; - } - var viewportScrolledPastCol = viewportLeftPixel > colLeftPixel; - var viewportScrolledBeforeCol = viewportRightPixel < colRightPixel; - var colToSmallForViewport = viewportWidth < column.getActualWidth(); - var alignColToLeft = viewportScrolledPastCol || colToSmallForViewport; - var alignColToRight = viewportScrolledBeforeCol; - if (alignColToLeft) { - // if viewport's left side is after col's left side, scroll left to pull col into viewport at left - if (this.enableRtl) { - var newScrollPosition = bodyWidth - viewportWidth - colLeftPixel; - this.setBodyViewportScrollLeft(newScrollPosition); - } - else { - this.setBodyViewportScrollLeft(colLeftPixel); - } - } - else if (alignColToRight) { - // if viewport's right side is before col's right side, scroll right to pull col into viewport at right - if (this.enableRtl) { - var newScrollPosition = bodyWidth - colRightPixel; - this.setBodyViewportScrollLeft(newScrollPosition); - } - else { - var newScrollPosition = colRightPixel - viewportWidth; - this.setBodyViewportScrollLeft(newScrollPosition); - } - } - else { - // otherwise, col is already in view, so do nothing - } - // this will happen anyway, as the move will cause a 'scroll' event on the body, however - // it is possible that the ensureColumnVisible method is called from within ag-Grid and - // the caller will need to have the columns rendered to continue, which will be before - // the event has been worked on (which is the case for cell navigation). - this.setLeftAndRightBounds(); - }; - GridPanel.prototype.showLoadingOverlay = function () { - if (!this.gridOptionsWrapper.isSuppressLoadingOverlay()) { - this.layout.showLoadingOverlay(); - } - }; - GridPanel.prototype.showNoRowsOverlay = function () { - if (!this.gridOptionsWrapper.isSuppressNoRowsOverlay()) { - this.layout.showNoRowsOverlay(); - } - }; - GridPanel.prototype.hideOverlay = function () { - this.layout.hideOverlay(); - }; - GridPanel.prototype.getWidthForSizeColsToFit = function () { - var availableWidth = this.eBody.clientWidth; - // if pinning right, then the scroll bar can show, however for some reason - // it overlays the grid and doesn't take space. so we are only interested - // in the body scroll showing. - var removeVerticalScrollWidth = this.isVerticalScrollShowing(); - if (removeVerticalScrollWidth) { - availableWidth -= this.scrollWidth; - } - return availableWidth; - }; - // method will call itself if no available width. this covers if the grid - // isn't visible, but is just about to be visible. - GridPanel.prototype.sizeColumnsToFit = function (nextTimeout) { - var _this = this; - var availableWidth = this.getWidthForSizeColsToFit(); - if (availableWidth > 0) { - this.columnController.sizeColumnsToFit(availableWidth); - } - else { - if (nextTimeout === undefined) { - setTimeout(function () { - _this.sizeColumnsToFit(100); - }, 0); - } - else if (nextTimeout === 100) { - setTimeout(function () { - _this.sizeColumnsToFit(500); - }, 100); - } - else if (nextTimeout === 500) { - setTimeout(function () { - _this.sizeColumnsToFit(-1); - }, 500); - } - else { - console.log('ag-Grid: tried to call sizeColumnsToFit() but the grid is coming back with ' + - 'zero width, maybe the grid is not visible yet on the screen?'); - } - } - }; - GridPanel.prototype.getBodyContainer = function () { - return this.eBodyContainer; - }; - GridPanel.prototype.getDropTargetBodyContainers = function () { - if (this.forPrint) { - return [this.eBodyContainer, this.eFloatingTopContainer, this.eFloatingBottomContainer]; - } - else { - return [this.eBodyViewport, this.eFloatingTopViewport, this.eFloatingBottomViewport]; - } - }; - GridPanel.prototype.getBodyViewport = function () { - return this.eBodyViewport; - }; - GridPanel.prototype.getDropTargetLeftContainers = function () { - if (this.forPrint) { - return []; - } - else { - return [this.ePinnedLeftColsViewport, this.ePinnedLeftFloatingBottom, this.ePinnedLeftFloatingTop]; - } - }; - GridPanel.prototype.getDropTargetPinnedRightContainers = function () { - if (this.forPrint) { - return []; - } - else { - return [this.ePinnedRightColsViewport, this.ePinnedRightFloatingBottom, this.ePinnedRightFloatingTop]; - } - }; - GridPanel.prototype.getHeaderContainer = function () { - return this.eHeaderContainer; - }; - GridPanel.prototype.getHeaderOverlay = function () { - return this.eHeaderOverlay; - }; - GridPanel.prototype.getRoot = function () { - return this.eRoot; - }; - GridPanel.prototype.getPinnedLeftHeader = function () { - return this.ePinnedLeftHeader; - }; - GridPanel.prototype.getPinnedRightHeader = function () { - return this.ePinnedRightHeader; - }; - GridPanel.prototype.queryHtmlElement = function (selector) { - return this.eRoot.querySelector(selector); - }; - GridPanel.prototype.loadTemplate = function () { - // the template we use is different when doing 'for print' - var template; - if (this.forPrint) { - template = GRID_PANEL_FOR_PRINT_TEMPLATE; - } - else if (this.autoHeight) { - template = GRID_PANEL_AUTO_HEIGHT_TEMPLATE; - } - else { - template = GRID_PANEL_NORMAL_TEMPLATE; - } - this.eRoot = utils_1.Utils.loadTemplate(template); - }; - GridPanel.prototype.findElements = function () { - var _this = this; - if (this.forPrint) { - this.eHeaderContainer = this.queryHtmlElement('.ag-header-container'); - this.eBodyContainer = this.queryHtmlElement('.ag-body-container'); - this.eFloatingTopContainer = this.queryHtmlElement('.ag-floating-top-container'); - this.eFloatingBottomContainer = this.queryHtmlElement('.ag-floating-bottom-container'); - this.eAllCellContainers = [this.eBodyContainer, this.eFloatingTopContainer, this.eFloatingBottomContainer]; - var containers = { - body: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eBodyContainer }), - fullWidth: null, - pinnedLeft: null, - pinnedRight: null, - floatingTop: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingTopContainer }), - floatingTopPinnedLeft: null, - floatingTopPinnedRight: null, - floatingTopFullWidth: null, - floatingBottom: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingBottomContainer }), - floatingBottomPinnedLeft: null, - floatingBottomPinnedRight: null, - floatingBottomFullWith: null - }; - this.rowContainerComponents = containers; - // when doing forPrint, we don't have any fullWidth containers, instead we add directly to the main - // containers. this works in forPrint only as there are no pinned columns (no need for fullWidth to - // span pinned columns) and the rows are already the full width of the grid (the reason for fullWidth) - containers.fullWidth = containers.body; - containers.floatingBottomFullWith = containers.floatingBottom; - containers.floatingTopFullWidth = containers.floatingTop; - } - else { - this.eBody = this.queryHtmlElement('.ag-body'); - this.eBodyContainer = this.queryHtmlElement('.ag-body-container'); - this.eBodyViewport = this.queryHtmlElement('.ag-body-viewport'); - this.eBodyViewportWrapper = this.queryHtmlElement('.ag-body-viewport-wrapper'); - this.eFullWidthCellContainer = this.queryHtmlElement('.ag-full-width-container'); - this.eFullWidthCellViewport = this.queryHtmlElement('.ag-full-width-viewport'); - this.ePinnedLeftColsContainer = this.queryHtmlElement('.ag-pinned-left-cols-container'); - this.ePinnedRightColsContainer = this.queryHtmlElement('.ag-pinned-right-cols-container'); - this.ePinnedLeftColsViewport = this.queryHtmlElement('.ag-pinned-left-cols-viewport'); - this.ePinnedRightColsViewport = this.queryHtmlElement('.ag-pinned-right-cols-viewport'); - this.ePinnedLeftHeader = this.queryHtmlElement('.ag-pinned-left-header'); - this.ePinnedRightHeader = this.queryHtmlElement('.ag-pinned-right-header'); - this.eHeader = this.queryHtmlElement('.ag-header'); - this.eHeaderContainer = this.queryHtmlElement('.ag-header-container'); - this.eHeaderOverlay = this.queryHtmlElement('.ag-header-overlay'); - this.eHeaderViewport = this.queryHtmlElement('.ag-header-viewport'); - this.eFloatingTop = this.queryHtmlElement('.ag-floating-top'); - this.ePinnedLeftFloatingTop = this.queryHtmlElement('.ag-pinned-left-floating-top'); - this.ePinnedRightFloatingTop = this.queryHtmlElement('.ag-pinned-right-floating-top'); - this.eFloatingTopContainer = this.queryHtmlElement('.ag-floating-top-container'); - this.eFloatingTopViewport = this.queryHtmlElement('.ag-floating-top-viewport'); - this.eFloatingTopFullWidthCellContainer = this.queryHtmlElement('.ag-floating-top-full-width-container'); - this.eFloatingBottom = this.queryHtmlElement('.ag-floating-bottom'); - this.ePinnedLeftFloatingBottom = this.queryHtmlElement('.ag-pinned-left-floating-bottom'); - this.ePinnedRightFloatingBottom = this.queryHtmlElement('.ag-pinned-right-floating-bottom'); - this.eFloatingBottomContainer = this.queryHtmlElement('.ag-floating-bottom-container'); - this.eFloatingBottomViewport = this.queryHtmlElement('.ag-floating-bottom-viewport'); - this.eFloatingBottomFullWidthCellContainer = this.queryHtmlElement('.ag-floating-bottom-full-width-container'); - this.eAllCellContainers = [ - this.ePinnedLeftColsContainer, this.ePinnedRightColsContainer, this.eBodyContainer, - this.eFloatingTop, this.eFloatingBottom, this.eFullWidthCellContainer - ]; - this.rowContainerComponents = { - body: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eBodyContainer, eViewport: this.eBodyViewport, body: true }), - fullWidth: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFullWidthCellContainer, hideWhenNoChildren: true, eViewport: this.eFullWidthCellViewport }), - pinnedLeft: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedLeftColsContainer, eViewport: this.ePinnedLeftColsViewport }), - pinnedRight: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedRightColsContainer, eViewport: this.ePinnedRightColsViewport }), - floatingTop: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingTopContainer }), - floatingTopPinnedLeft: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedLeftFloatingTop }), - floatingTopPinnedRight: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedRightFloatingTop }), - floatingTopFullWidth: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingTopFullWidthCellContainer, hideWhenNoChildren: true }), - floatingBottom: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingBottomContainer }), - floatingBottomPinnedLeft: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedLeftFloatingBottom }), - floatingBottomPinnedRight: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.ePinnedRightFloatingBottom }), - floatingBottomFullWith: new rowContainerComponent_1.RowContainerComponent({ eContainer: this.eFloatingBottomFullWidthCellContainer, hideWhenNoChildren: true }), - }; - this.addMouseWheelEventListeners(); - this.suppressScrollOnFloatingRow(); - } - utils_1.Utils.iterateObject(this.rowContainerComponents, function (key, container) { - if (container) { - _this.context.wireBean(container); - } - }); - }; - // when editing a pinned row, if the cell is half outside the scrollable area, the browser can - // scroll the column into view. we do not want this, the pinned sections should never scroll. - // so we listen to scrolls on these containers and reset the scroll if we find one. - GridPanel.prototype.suppressScrollOnFloatingRow = function () { - var _this = this; - var resetTopScroll = function () { return _this.eFloatingTopViewport.scrollLeft = 0; }; - var resetBottomScroll = function () { return _this.eFloatingTopViewport.scrollLeft = 0; }; - this.addDestroyableEventListener(this.eFloatingTopViewport, 'scroll', resetTopScroll); - this.addDestroyableEventListener(this.eFloatingBottomViewport, 'scroll', resetBottomScroll); - }; - GridPanel.prototype.getRowContainers = function () { - return this.rowContainerComponents; - }; - GridPanel.prototype.addMouseWheelEventListeners = function () { - // IE9, Chrome, Safari, Opera use 'mousewheel', Firefox uses 'DOMMouseScroll' - this.addDestroyableEventListener(this.eBodyViewport, 'mousewheel', this.centerMouseWheelListener.bind(this)); - this.addDestroyableEventListener(this.eBodyViewport, 'DOMMouseScroll', this.centerMouseWheelListener.bind(this)); - if (this.enableRtl) { - this.addDestroyableEventListener(this.ePinnedRightColsViewport, 'mousewheel', this.genericMouseWheelListener.bind(this)); - this.addDestroyableEventListener(this.ePinnedRightColsViewport, 'DOMMouseScroll', this.genericMouseWheelListener.bind(this)); - } - else { - this.addDestroyableEventListener(this.ePinnedLeftColsViewport, 'mousewheel', this.genericMouseWheelListener.bind(this)); - this.addDestroyableEventListener(this.ePinnedLeftColsViewport, 'DOMMouseScroll', this.genericMouseWheelListener.bind(this)); - } - }; - GridPanel.prototype.getHeaderViewport = function () { - return this.eHeaderViewport; - }; - GridPanel.prototype.centerMouseWheelListener = function (event) { - // we are only interested in mimicking the mouse wheel if we are not scrolling on the middle, - // otherwise the body has scrolls and the mouse wheel works for free - var bodyVScrollShowing = this.isBodyVerticalScrollActive(); - if (!bodyVScrollShowing) { - var targetPanel = this.enableRtl ? this.ePinnedLeftColsViewport : this.ePinnedRightColsViewport; - return this.generalMouseWheelListener(event, targetPanel); - } - }; - // used for listening to mouse wheel events on 1) left pinned and also the 2) fullWidthCell components. - // the fullWidthCell listener is added in renderedRow, hence public. - GridPanel.prototype.genericMouseWheelListener = function (event) { - var targetPanel; - var bodyVScrollActive = this.isBodyVerticalScrollActive(); - if (bodyVScrollActive) { - targetPanel = this.eBodyViewport; - } - else { - targetPanel = this.enableRtl ? this.ePinnedLeftColsViewport : this.ePinnedRightColsViewport; - } - return this.generalMouseWheelListener(event, targetPanel); - }; - GridPanel.prototype.generalMouseWheelListener = function (event, targetPanel) { - var wheelEvent = utils_1.Utils.normalizeWheel(event); - // we need to detect in which direction scroll is happening to allow trackpads scroll horizontally - // horizontal scroll - if (Math.abs(wheelEvent.pixelX) > Math.abs(wheelEvent.pixelY)) { - var newLeftPosition = this.eBodyViewport.scrollLeft + wheelEvent.pixelX; - this.eBodyViewport.scrollLeft = newLeftPosition; - } - else { - var newTopPosition = targetPanel.scrollTop + wheelEvent.pixelY; - targetPanel.scrollTop = newTopPosition; - } - // allow the option to pass mouse wheel events to the browser - // https://github.com/ag-grid/ag-grid/issues/800 - // in the future, this should be tied in with 'forPrint' option, or have an option 'no vertical scrolls' - var shouldPreventDefault = !this.gridOptionsWrapper.isAutoHeight() && !this.gridOptionsWrapper.isSuppressPreventDefaultOnMouseWheel(); - if (shouldPreventDefault) { - // if we don't prevent default, then the whole browser will scroll also as well as the grid - event.preventDefault(); - } - return false; - }; - GridPanel.prototype.onDisplayedColumnsChanged = function () { - this.setPinnedContainersVisible(); - this.setBodyAndHeaderHeights(); - this.setLeftAndRightBounds(); - }; - GridPanel.prototype.onDisplayedColumnsWidthChanged = function () { - this.setWidthsOfContainers(); - this.setLeftAndRightBounds(); - if (this.enableRtl) { - // because RTL is all backwards, a change in the width of the row - // can cause a change in the scroll position, without a scroll event, - // because the scroll position in RTL is a function that depends on - // the width. to be convinced of this, take out this line, enable RTL, - // scroll all the way to the left and then resize a column - this.horizontallyScrollHeaderCenterAndFloatingCenter(); - } - }; - GridPanel.prototype.onScrollVisibilityChanged = function () { - this.setWidthsOfContainers(); - }; - GridPanel.prototype.setWidthsOfContainers = function () { - var mainRowWidth = this.columnController.getBodyContainerWidth() + 'px'; - this.eBodyContainer.style.width = mainRowWidth; - if (this.forPrint) { - // pinned col doesn't exist when doing forPrint - return; - } - this.eFloatingBottomContainer.style.width = mainRowWidth; - this.eFloatingTopContainer.style.width = mainRowWidth; - this.setPinnedLeftWidth(); - this.setPinnedRightWidth(); - }; - GridPanel.prototype.setPinnedLeftWidth = function () { - var pinnedLeftWidth = this.scrollVisibleService.getPinnedLeftWidth() + 'px'; - var pinnedLeftWidthWithScroll = this.scrollVisibleService.getPinnedLeftWithScrollWidth() + 'px'; - this.ePinnedLeftColsViewport.style.width = pinnedLeftWidthWithScroll; - this.eBodyViewportWrapper.style.marginLeft = pinnedLeftWidthWithScroll; - this.ePinnedLeftFloatingBottom.style.width = pinnedLeftWidthWithScroll; - this.ePinnedLeftFloatingTop.style.width = pinnedLeftWidthWithScroll; - this.ePinnedLeftColsContainer.style.width = pinnedLeftWidth; - }; - GridPanel.prototype.setPinnedRightWidth = function () { - var pinnedRightWidth = this.scrollVisibleService.getPinnedRightWidth() + 'px'; - var pinnedRightWidthWithScroll = this.scrollVisibleService.getPinnedRightWithScrollWidth() + 'px'; - this.ePinnedRightColsViewport.style.width = pinnedRightWidthWithScroll; - this.eBodyViewportWrapper.style.marginRight = pinnedRightWidthWithScroll; - this.ePinnedRightFloatingBottom.style.width = pinnedRightWidthWithScroll; - this.ePinnedRightFloatingTop.style.width = pinnedRightWidthWithScroll; - this.ePinnedRightColsContainer.style.width = pinnedRightWidth; - }; - GridPanel.prototype.setPinnedContainersVisible = function () { - // no need to do this if not using scrolls - if (this.forPrint) { - return; - } - var changeDetected = false; - // if we are v scrolling, then one of these will have the scroll position. - // we us this inside the if(changedDetected), so we don't always use it, however - // it is changed when we make a pinned panel not visible, so we have to check it - // before we change display on the pinned panels - var scrollTop = Math.max(this.eBodyViewport.scrollTop, this.ePinnedLeftColsViewport.scrollTop, this.ePinnedRightColsViewport.scrollTop); - var showLeftPinned = this.columnController.isPinningLeft(); - if (showLeftPinned !== this.pinningLeft) { - this.pinningLeft = showLeftPinned; - this.ePinnedLeftHeader.style.display = showLeftPinned ? 'inline-block' : 'none'; - this.ePinnedLeftColsViewport.style.display = showLeftPinned ? 'inline' : 'none'; - changeDetected = true; - } - var showRightPinned = this.columnController.isPinningRight(); - if (showRightPinned !== this.pinningRight) { - this.pinningRight = showRightPinned; - this.ePinnedRightHeader.style.display = showRightPinned ? 'inline-block' : 'none'; - this.ePinnedRightColsViewport.style.display = showRightPinned ? 'inline' : 'none'; - changeDetected = true; - } - if (changeDetected) { - var bodyVScrollActive = this.isBodyVerticalScrollActive(); - this.eBodyViewport.style.overflowY = bodyVScrollActive ? 'auto' : 'hidden'; - // the body either uses it's scroll (when scrolling) or it's style.top - // (when following the scroll of a pinned section), so we need to set it - // back when changing from one to the other - if (bodyVScrollActive) { - this.setFakeScroll(this.eBodyContainer, 0); - // this.eBodyContainer.style.top = '0px'; - } - else { - this.eBodyViewport.scrollTop = 0; - } - // when changing the primary scroll viewport, we copy over the scroll position, - // eg if body was getting scrolled and we were at position 100px, then we start - // pinning and pinned viewport is now the primary, we need to set it to 100px - var primaryScrollViewport = this.getPrimaryScrollViewport(); - primaryScrollViewport.scrollTop = scrollTop; - // this adjusts the scroll position of all the faking panels. they should already - // be correct except body which has potentially just turned to be fake. - this.fakeVerticalScroll(scrollTop); - } - }; - // init, layoutChanged, floatingDataChanged, headerHeightChanged - GridPanel.prototype.setBodyAndHeaderHeights = function () { - if (this.forPrint) { - // if doing 'for print' or 'auto height', then the header and footers are laid - // out naturally by the browser. it's whatever height that's needed to fit. - return; - } - var heightOfContainer = this.layout.getCentreHeight(); - if (!heightOfContainer) { - return; - } - var headerRowCount = this.columnController.getHeaderRowCount(); - var totalHeaderHeight; - var numberOfFloating = 0; - var groupHeight; - var headerHeight; - if (!this.columnController.isPivotMode()) { - utils_1.Utils.removeCssClass(this.eHeader, 'ag-pivot-on'); - utils_1.Utils.addCssClass(this.eHeader, 'ag-pivot-off'); - if (this.gridOptionsWrapper.isFloatingFilter()) { - headerRowCount++; - } - numberOfFloating = (this.gridOptionsWrapper.isFloatingFilter()) ? 1 : 0; - groupHeight = this.gridOptionsWrapper.getGroupHeaderHeight(); - headerHeight = this.gridOptionsWrapper.getHeaderHeight(); - } - else { - utils_1.Utils.removeCssClass(this.eHeader, 'ag-pivot-off'); - utils_1.Utils.addCssClass(this.eHeader, 'ag-pivot-on'); - numberOfFloating = 0; - groupHeight = this.gridOptionsWrapper.getPivotGroupHeaderHeight(); - headerHeight = this.gridOptionsWrapper.getPivotHeaderHeight(); - } - var numberOfNonGroups = 1 + numberOfFloating; - var numberOfGroups = headerRowCount - numberOfNonGroups; - totalHeaderHeight = numberOfFloating * this.gridOptionsWrapper.getFloatingFiltersHeight(); - totalHeaderHeight += numberOfGroups * groupHeight; - totalHeaderHeight += headerHeight; - this.eHeader.style['height'] = totalHeaderHeight + 'px'; - // if we are doing auto-height, we only size the header, we don't size the - // other parts as we use the normal browser layout for that - if (this.autoHeight) { - return; - } - // padding top covers the header and the pinned rows on top - var floatingTopHeight = this.pinnedRowModel.getPinnedTopTotalHeight(); - var paddingTop = totalHeaderHeight + floatingTopHeight; - // bottom is just the bottom pinned rows - var floatingBottomHeight = this.pinnedRowModel.getPinnedBottomTotalHeight(); - var floatingBottomTop = heightOfContainer - floatingBottomHeight; - var bodyHeight = heightOfContainer - totalHeaderHeight - floatingBottomHeight - floatingTopHeight; - this.eBody.style.top = paddingTop + 'px'; - this.eBody.style.height = bodyHeight + 'px'; - this.eFloatingTop.style.top = totalHeaderHeight + 'px'; - this.eFloatingTop.style.height = floatingTopHeight + 'px'; - this.eFloatingBottom.style.height = floatingBottomHeight + 'px'; - this.eFloatingBottom.style.top = floatingBottomTop + 'px'; - this.ePinnedLeftColsViewport.style.height = bodyHeight + 'px'; - this.ePinnedRightColsViewport.style.height = bodyHeight + 'px'; - // bodyHeight property is used by pagination service, that may change number of rows - // in this page based on the height of the grid - if (this.bodyHeight !== bodyHeight) { - this.bodyHeight = bodyHeight; - var event_3 = { - type: events_1.Events.EVENT_BODY_HEIGHT_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event_3); - } - }; - GridPanel.prototype.getBodyHeight = function () { - return this.bodyHeight; - }; - GridPanel.prototype.setHorizontalScrollPosition = function (hScrollPosition) { - this.eBodyViewport.scrollLeft = hScrollPosition; - // we need to manually do the event handling (rather than wait for the event) - // for the alignedGridsService, as if we don't, the aligned grid service gets - // notified async, and then it's 'consuming' flag doesn't get used right, and - // we can end up with an infinite loop - if (this.nextScrollLeft !== hScrollPosition) { - this.nextScrollLeft = hScrollPosition; - this.doHorizontalScroll(); - } - }; - // tries to scroll by pixels, but returns what the result actually was - GridPanel.prototype.scrollHorizontally = function (pixels) { - var oldScrollPosition = this.eBodyViewport.scrollLeft; - this.setHorizontalScrollPosition(oldScrollPosition + pixels); - var newScrollPosition = this.eBodyViewport.scrollLeft; - return newScrollPosition - oldScrollPosition; - }; - GridPanel.prototype.addScrollListener = function () { - var _this = this; - // if printing, then no scrolling, so no point in listening for scroll events - if (this.forPrint) { - return; - } - this.addDestroyableEventListener(this.eBodyViewport, 'scroll', this.onBodyScroll.bind(this)); - // below we add two things: - // pinnedScrollListener -> when pinned panel with scrollbar gets scrolled, it updates body and other pinned - // suppressScroll -> stops scrolling when pinned panel was moved - which can only happen when user is navigating - // in the pinned container, as the pinned col should never scroll. so we rollback the scroll on the pinned. - var onPinnedLeftVerticalScroll = this.onVerticalScroll.bind(this, this.ePinnedLeftColsViewport); - var onPinnedRightVerticalScroll = this.onVerticalScroll.bind(this, this.ePinnedRightColsViewport); - if (this.enableRtl) { - this.addDestroyableEventListener(this.ePinnedLeftColsViewport, 'scroll', onPinnedLeftVerticalScroll); - var suppressRightScroll = function () { return _this.ePinnedRightColsViewport.scrollTop = 0; }; - this.addDestroyableEventListener(this.ePinnedRightColsViewport, 'scroll', suppressRightScroll); - } - else { - this.addDestroyableEventListener(this.ePinnedRightColsViewport, 'scroll', onPinnedRightVerticalScroll); - var suppressLeftScroll = function () { return _this.ePinnedLeftColsViewport.scrollTop = 0; }; - this.addDestroyableEventListener(this.ePinnedLeftColsViewport, 'scroll', suppressLeftScroll); - } - var suppressCenterScroll = function () { - if (_this.getPrimaryScrollViewport() !== _this.eBodyViewport) { - _this.eBodyViewport.scrollTop = 0; - } - }; - this.addDestroyableEventListener(this.eBodyViewport, 'scroll', suppressCenterScroll); - this.addIEPinFix(onPinnedRightVerticalScroll, onPinnedLeftVerticalScroll); - }; - GridPanel.prototype.onBodyScroll = function () { - this.onBodyHorizontalScroll(); - this.onBodyVerticalScroll(); - }; - GridPanel.prototype.onBodyHorizontalScroll = function () { - var scrollLeft = this.eBodyViewport.scrollLeft; - if (this.nextScrollLeft !== scrollLeft) { - this.nextScrollLeft = scrollLeft; - if (this.useAnimationFrame) { - this.animationFrameService.schedule(); - } - else { - this.doHorizontalScroll(); - } - } - }; - GridPanel.prototype.doHorizontalScroll = function () { - this.scrollLeft = this.nextScrollLeft; - var event = { - type: events_1.Events.EVENT_BODY_SCROLL, - api: this.gridApi, - columnApi: this.columnApi, - direction: 'horizontal', - left: this.scrollLeft, - top: this.scrollTop - }; - this.eventService.dispatchEvent(event); - this.horizontallyScrollHeaderCenterAndFloatingCenter(); - this.setLeftAndRightBounds(); - // this.alignedGridsService.fireHorizontalScrollEvent(this.scrollLeft); - }; - GridPanel.prototype.onBodyVerticalScroll = function () { - var bodyVScrollActive = this.isBodyVerticalScrollActive(); - if (bodyVScrollActive) { - this.onVerticalScroll(this.eBodyViewport); - } - }; - GridPanel.prototype.onVerticalScroll = function (sourceElement) { - var scrollTop = sourceElement.scrollTop; - if (this.useAnimationFrame) { - if (this.nextScrollTop !== scrollTop) { - this.nextScrollTop = scrollTop; - this.animationFrameService.schedule(); - } - } - else { - if (scrollTop !== this.scrollTop) { - this.scrollTop = scrollTop; - this.fakeVerticalScroll(scrollTop); - this.redrawRowsAfterScroll(); - } - } - }; - GridPanel.prototype.executeFrame = function () { - if (this.scrollLeft !== this.nextScrollLeft) { - this.doHorizontalScroll(); - return true; - } - else if (this.scrollTop !== this.nextScrollTop) { - this.scrollTop = this.nextScrollTop; - this.fakeVerticalScroll(this.scrollTop); - this.verticalRedrawNeeded = true; - return true; - } - else if (this.verticalRedrawNeeded) { - this.redrawRowsAfterScroll(); - this.verticalRedrawNeeded = false; - return true; - } - else { - return false; - } - }; - GridPanel.prototype.redrawRowsAfterScroll = function () { - var event = { - type: events_1.Events.EVENT_BODY_SCROLL, - direction: 'vertical', - api: this.gridApi, - columnApi: this.columnApi, - left: this.scrollLeft, - top: this.scrollTop - }; - this.eventService.dispatchEvent(event); - this.rowRenderer.redrawAfterScroll(); - }; - // if LTR, we hide body scroll if pinning right (as scroll is in right pinned), - // if RTL, we hide body scroll if pinning left (as scroll is in left pinned) - GridPanel.prototype.isBodyVerticalScrollActive = function () { - var pinningRight = this.columnController.isPinningRight(); - var pinningLeft = this.columnController.isPinningLeft(); - var centerHasScroll = this.enableRtl ? !pinningLeft : !pinningRight; - return centerHasScroll; - }; - // this bit is a fix / hack for IE due to this: - // https://www.ag-grid.com/forum/showthread.php?tid=4303 - // it gets the left panel to reposition itself after a model change - GridPanel.prototype.addIEPinFix = function (onPinnedRightScroll, onPinnedLeftScroll) { - var _this = this; - var listener = function () { - if (_this.columnController.isPinningRight()) { - setTimeout(function () { - if (_this.enableRtl) { - onPinnedLeftScroll(); - } - else { - onPinnedRightScroll(); - } - }, 0); - } - }; - this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_MODEL_UPDATED, listener); - }; - // this gets called whenever a change in the viewport, so we can inform column controller it has to work - // out the virtual columns again. gets called from following locations: - // + ensureColVisible, scroll, init, layoutChanged, displayedColumnsChanged, API (doLayout) - GridPanel.prototype.setLeftAndRightBounds = function () { - if (this.gridOptionsWrapper.isForPrint()) { - return; - } - var scrollWidth = this.eBodyViewport.clientWidth; - var scrollPosition = this.getBodyViewportScrollLeft(); - this.columnController.setVirtualViewportPosition(scrollWidth, scrollPosition); - }; - GridPanel.prototype.getBodyViewportScrollLeft = function () { - if (this.forPrint) { - return 0; - } - // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser - return utils_1.Utils.getScrollLeft(this.eBodyViewport, this.enableRtl); - }; - GridPanel.prototype.setBodyViewportScrollLeft = function (value) { - if (this.forPrint) { - return; - } - // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser - utils_1.Utils.setScrollLeft(this.eBodyViewport, value, this.enableRtl); - }; - GridPanel.prototype.horizontallyScrollHeaderCenterAndFloatingCenter = function () { - var scrollLeft = this.getBodyViewportScrollLeft(); - var offset = this.enableRtl ? scrollLeft : -scrollLeft; - this.eHeaderContainer.style.left = offset + 'px'; - this.eFloatingBottomContainer.style.left = offset + 'px'; - this.eFloatingTopContainer.style.left = offset + 'px'; - }; - // we say fake scroll as only one panel (left, right or body) has scrolls, - // the other panels mimic the scroll by getting it's top position updated. - GridPanel.prototype.fakeVerticalScroll = function (position) { - if (this.enableRtl) { - // RTL - // if pinning left, then body scroll is faking - var pinningLeft = this.columnController.isPinningLeft(); - if (pinningLeft) { - this.setFakeScroll(this.eBodyContainer, position); - } - // right is always faking - this.setFakeScroll(this.ePinnedRightColsContainer, position); - } - else { - // LTR - // if pinning right, then body scroll is faking - var pinningRight = this.columnController.isPinningRight(); - if (pinningRight) { - this.setFakeScroll(this.eBodyContainer, position); - } - // left is always faking - this.setFakeScroll(this.ePinnedLeftColsContainer, position); - } - // always scroll fullWidth container, as this is never responsible for a scroll - this.setFakeScroll(this.eFullWidthCellContainer, position); - }; - GridPanel.prototype.setFakeScroll = function (eContainer, pixels) { - eContainer.style.top = -pixels + 'px'; - // eContainer.style.transform = `translateY(${-pixels}px)`; - }; - GridPanel.prototype.addScrollEventListener = function (listener) { - this.eBodyViewport.addEventListener('scroll', listener); - }; - GridPanel.prototype.removeScrollEventListener = function (listener) { - this.eBodyViewport.removeEventListener('scroll', listener); - }; - __decorate([ - context_1.Autowired('alignedGridsService'), - __metadata("design:type", alignedGridsService_1.AlignedGridsService) - ], GridPanel.prototype, "alignedGridsService", void 0); - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], GridPanel.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", columnController_1.ColumnController) - ], GridPanel.prototype, "columnController", void 0); - __decorate([ - context_1.Autowired('rowRenderer'), - __metadata("design:type", rowRenderer_1.RowRenderer) - ], GridPanel.prototype, "rowRenderer", void 0); - __decorate([ - context_1.Autowired('pinnedRowModel'), - __metadata("design:type", pinnedRowModel_1.PinnedRowModel) - ], GridPanel.prototype, "pinnedRowModel", void 0); - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], GridPanel.prototype, "eventService", void 0); - __decorate([ - context_1.Autowired('context'), - __metadata("design:type", context_1.Context) - ], GridPanel.prototype, "context", void 0); - __decorate([ - context_1.Autowired('animationFrameService'), - __metadata("design:type", animationFrameService_1.AnimationFrameService) - ], GridPanel.prototype, "animationFrameService", void 0); - __decorate([ - context_1.Autowired('navigationService'), - __metadata("design:type", navigationService_1.NavigationService) - ], GridPanel.prototype, "navigationService", void 0); - __decorate([ - context_1.Autowired('paginationProxy'), - __metadata("design:type", paginationProxy_1.PaginationProxy) - ], GridPanel.prototype, "paginationProxy", void 0); - __decorate([ - context_1.Autowired('columnApi'), - __metadata("design:type", columnController_1.ColumnApi) - ], GridPanel.prototype, "columnApi", void 0); - __decorate([ - context_1.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], GridPanel.prototype, "gridApi", void 0); - __decorate([ - context_1.Optional('rangeController'), - __metadata("design:type", Object) - ], GridPanel.prototype, "rangeController", void 0); - __decorate([ - context_1.Autowired('dragService'), - __metadata("design:type", dragService_1.DragService) - ], GridPanel.prototype, "dragService", void 0); - __decorate([ - context_1.Autowired('selectionController'), - __metadata("design:type", selectionController_1.SelectionController) - ], GridPanel.prototype, "selectionController", void 0); - __decorate([ - context_1.Optional('clipboardService'), - __metadata("design:type", Object) - ], GridPanel.prototype, "clipboardService", void 0); - __decorate([ - context_1.Autowired('csvCreator'), - __metadata("design:type", csvCreator_1.CsvCreator) - ], GridPanel.prototype, "csvCreator", void 0); - __decorate([ - context_1.Autowired('mouseEventService'), - __metadata("design:type", mouseEventService_1.MouseEventService) - ], GridPanel.prototype, "mouseEventService", void 0); - __decorate([ - context_1.Autowired('focusedCellController'), - __metadata("design:type", focusedCellController_1.FocusedCellController) - ], GridPanel.prototype, "focusedCellController", void 0); - __decorate([ - context_1.Autowired('$scope'), - __metadata("design:type", Object) - ], GridPanel.prototype, "$scope", void 0); - __decorate([ - context_1.Autowired('scrollVisibleService'), - __metadata("design:type", scrollVisibleService_1.ScrollVisibleService) - ], GridPanel.prototype, "scrollVisibleService", void 0); - __decorate([ - context_1.Optional('contextMenuFactory'), - __metadata("design:type", Object) - ], GridPanel.prototype, "contextMenuFactory", void 0); - __decorate([ - context_1.Autowired('frameworkFactory'), - __metadata("design:type", Object) - ], GridPanel.prototype, "frameworkFactory", void 0); - __decorate([ - context_1.Autowired('valueService'), - __metadata("design:type", valueService_1.ValueService) - ], GridPanel.prototype, "valueService", void 0); - __decorate([ - context_1.Autowired('componentRecipes'), - __metadata("design:type", componentRecipes_1.ComponentRecipes) - ], GridPanel.prototype, "componentRecipes", void 0); - __decorate([ - __param(0, context_1.Qualifier('loggerFactory')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [logger_1.LoggerFactory]), - __metadata("design:returntype", void 0) - ], GridPanel.prototype, "agWire", null); - __decorate([ - context_1.PreDestroy, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], GridPanel.prototype, "destroy", null); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], GridPanel.prototype, "init", null); - GridPanel = __decorate([ - context_1.Bean('gridPanel') - ], GridPanel); - return GridPanel; -}(beanStub_1.BeanStub)); -exports.GridPanel = GridPanel; - - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -function QuerySelector(selector) { - return querySelectorFunc.bind(this, selector); -} -exports.QuerySelector = QuerySelector; -function RefSelector(ref) { - return querySelectorFunc.bind(this, '[ref=' + ref + ']'); -} -exports.RefSelector = RefSelector; -function querySelectorFunc(selector, classPrototype, methodOrAttributeName, index) { - if (selector === null) { - console.error('ag-Grid: QuerySelector selector should not be null'); - return; - } - if (typeof index === 'number') { - console.error('ag-Grid: QuerySelector should be on an attribute'); - return; - } - // it's an attribute on the class - var props = getOrCreateProps(classPrototype, classPrototype.constructor.name); - if (!props.querySelectors) { - props.querySelectors = []; - } - props.querySelectors.push({ - attributeName: methodOrAttributeName, - querySelector: selector - }); -} -function Listener(eventName) { - return listenerFunc.bind(this, eventName); -} -exports.Listener = Listener; -function listenerFunc(eventName, target, methodName, descriptor) { - if (eventName === null) { - console.error('ag-Grid: EventListener eventName should not be null'); - return; - } - // it's an attribute on the class - var props = getOrCreateProps(target, target.constructor.name); - if (!props.listenerMethods) { - props.listenerMethods = []; - } - props.listenerMethods.push({ - methodName: methodName, - eventName: eventName - }); -} -function getOrCreateProps(target, instanceName) { - if (!target.__agComponentMetaData) { - target.__agComponentMetaData = {}; - } - if (!target.__agComponentMetaData[instanceName]) { - target.__agComponentMetaData[instanceName] = {}; - } - return target.__agComponentMetaData[instanceName]; -} - - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var eventService_1 = __webpack_require__(4); -var gridOptionsWrapper_1 = __webpack_require__(2); -var utils_1 = __webpack_require__(1); -var BeanStub = (function () { - function BeanStub() { - this.destroyFunctions = []; - this.destroyed = false; - } - BeanStub.prototype.destroy = function () { - this.destroyFunctions.forEach(function (func) { return func(); }); - this.destroyFunctions.length = 0; - this.destroyed = true; - }; - BeanStub.prototype.addEventListener = function (eventType, listener) { - if (!this.localEventService) { - this.localEventService = new eventService_1.EventService(); - } - this.localEventService.addEventListener(eventType, listener); - }; - BeanStub.prototype.removeEventListener = function (eventType, listener) { - if (this.localEventService) { - this.localEventService.removeEventListener(eventType, listener); - } - }; - BeanStub.prototype.dispatchEventAsync = function (event) { - var _this = this; - setTimeout(function () { return _this.dispatchEvent(event); }, 0); - }; - BeanStub.prototype.dispatchEvent = function (event) { - if (this.localEventService) { - this.localEventService.dispatchEvent(event); - } - }; - BeanStub.prototype.addDestroyableEventListener = function (eElement, event, listener) { - if (this.destroyed) { - return; - } - if (eElement instanceof HTMLElement) { - utils_1._.addSafePassiveEventListener(eElement, event, listener); - } - else if (eElement instanceof gridOptionsWrapper_1.GridOptionsWrapper) { - eElement.addEventListener(event, listener); - } - else { - eElement.addEventListener(event, listener); - } - this.destroyFunctions.push(function () { - if (eElement instanceof HTMLElement) { - eElement.removeEventListener(event, listener); - } - else if (eElement instanceof gridOptionsWrapper_1.GridOptionsWrapper) { - eElement.removeEventListener(event, listener); - } - else { - eElement.removeEventListener(event, listener); - } - }); - }; - BeanStub.prototype.isAlive = function () { - return !this.destroyed; - }; - BeanStub.prototype.addDestroyFunc = function (func) { - // if we are already destroyed, we execute the func now - if (this.isAlive()) { - this.destroyFunctions.push(func); - } - else { - func(); - } - }; - return BeanStub; -}()); -exports.BeanStub = BeanStub; - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var utils_1 = __webpack_require__(1); -var context_1 = __webpack_require__(0); -var context_2 = __webpack_require__(0); -var logger_1 = __webpack_require__(10); -var eventService_1 = __webpack_require__(4); -var events_1 = __webpack_require__(5); -var context_3 = __webpack_require__(0); -var gridOptionsWrapper_1 = __webpack_require__(2); -var context_4 = __webpack_require__(0); -var constants_1 = __webpack_require__(7); -var columnController_1 = __webpack_require__(3); -var gridApi_1 = __webpack_require__(6); -var SelectionController = (function () { - function SelectionController() { - } - SelectionController.prototype.setBeans = function (loggerFactory) { - this.logger = loggerFactory.create('SelectionController'); - this.reset(); - if (this.gridOptionsWrapper.isRowModelDefault()) { - this.eventService.addEventListener(events_1.Events.EVENT_ROW_DATA_CHANGED, this.reset.bind(this)); - } - else { - this.logger.log('dont know what to do here'); - } - }; - SelectionController.prototype.init = function () { - this.groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren(); - this.eventService.addEventListener(events_1.Events.EVENT_ROW_SELECTED, this.onRowSelected.bind(this)); - }; - SelectionController.prototype.setLastSelectedNode = function (rowNode) { - this.lastSelectedNode = rowNode; - }; - SelectionController.prototype.getLastSelectedNode = function () { - return this.lastSelectedNode; - }; - SelectionController.prototype.getSelectedNodes = function () { - var selectedNodes = []; - utils_1.Utils.iterateObject(this.selectedNodes, function (key, rowNode) { - if (rowNode) { - selectedNodes.push(rowNode); - } - }); - return selectedNodes; - }; - SelectionController.prototype.getSelectedRows = function () { - var selectedRows = []; - utils_1.Utils.iterateObject(this.selectedNodes, function (key, rowNode) { - if (rowNode && rowNode.data) { - selectedRows.push(rowNode.data); - } - }); - return selectedRows; - }; - SelectionController.prototype.removeGroupsFromSelection = function () { - var _this = this; - utils_1.Utils.iterateObject(this.selectedNodes, function (key, rowNode) { - if (rowNode && rowNode.group) { - _this.selectedNodes[rowNode.id] = undefined; - } - }); - }; - // should only be called if groupSelectsChildren=true - SelectionController.prototype.updateGroupsFromChildrenSelections = function () { - if (this.rowModel.getType() !== constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY) { - console.warn('updateGroupsFromChildrenSelections not available when rowModel is not normal'); - } - var inMemoryRowModel = this.rowModel; - inMemoryRowModel.getTopLevelNodes().forEach(function (rowNode) { - rowNode.depthFirstSearch(function (rowNode) { - if (rowNode.group) { - rowNode.calculateSelectedFromChildren(); - } - }); - }); - }; - SelectionController.prototype.getNodeForIdIfSelected = function (id) { - return this.selectedNodes[id]; - }; - SelectionController.prototype.clearOtherNodes = function (rowNodeToKeepSelected) { - var _this = this; - var groupsToRefresh = {}; - var updatedCount = 0; - utils_1.Utils.iterateObject(this.selectedNodes, function (key, otherRowNode) { - if (otherRowNode && otherRowNode.id !== rowNodeToKeepSelected.id) { - var rowNode = _this.selectedNodes[otherRowNode.id]; - updatedCount += rowNode.setSelectedParams({ newValue: false, clearSelection: false, tailingNodeInSequence: true }); - if (_this.groupSelectsChildren && otherRowNode.parent) { - groupsToRefresh[otherRowNode.parent.id] = otherRowNode.parent; - } - } - }); - utils_1.Utils.iterateObject(groupsToRefresh, function (key, group) { - group.calculateSelectedFromChildren(); - }); - return updatedCount; - }; - SelectionController.prototype.onRowSelected = function (event) { - var rowNode = event.node; - // we do not store the group rows when the groups select children - if (this.groupSelectsChildren && rowNode.group) { - return; - } - if (rowNode.isSelected()) { - this.selectedNodes[rowNode.id] = rowNode; - } - else { - this.selectedNodes[rowNode.id] = undefined; - } - }; - SelectionController.prototype.syncInRowNode = function (rowNode, oldNode) { - this.syncInOldRowNode(rowNode, oldNode); - this.syncInNewRowNode(rowNode); - }; - // if the id has changed for the node, then this means the rowNode - // is getting used for a different data item, which breaks - // our selectedNodes, as the node now is mapped by the old id - // which is inconsistent. so to keep the old node as selected, - // we swap in the clone (with the old id and old data). this means - // the oldNode is effectively a daemon we keep a reference to, - // so if client calls api.getSelectedNodes(), it gets the daemon - // in the result. when the client un-selects, the reference to the - // daemon is removed. the daemon, because it's an oldNode, is not - // used by the grid for rendering, it's a copy of what the node used - // to be like before the id was changed. - SelectionController.prototype.syncInOldRowNode = function (rowNode, oldNode) { - var oldNodeHasDifferentId = utils_1.Utils.exists(oldNode) && (rowNode.id !== oldNode.id); - if (oldNodeHasDifferentId) { - var oldNodeSelected = utils_1.Utils.exists(this.selectedNodes[oldNode.id]); - if (oldNodeSelected) { - this.selectedNodes[oldNode.id] = oldNode; - } - } - }; - SelectionController.prototype.syncInNewRowNode = function (rowNode) { - if (utils_1.Utils.exists(this.selectedNodes[rowNode.id])) { - rowNode.setSelectedInitialValue(true); - this.selectedNodes[rowNode.id] = rowNode; - } - else { - rowNode.setSelectedInitialValue(false); - } - }; - SelectionController.prototype.reset = function () { - this.logger.log('reset'); - this.selectedNodes = {}; - this.lastSelectedNode = null; - }; - // returns a list of all nodes at 'best cost' - a feature to be used - // with groups / trees. if a group has all it's children selected, - // then the group appears in the result, but not the children. - // Designed for use with 'children' as the group selection type, - // where groups don't actually appear in the selection normally. - SelectionController.prototype.getBestCostNodeSelection = function () { - if (this.rowModel.getType() !== constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY) { - console.warn('getBestCostNodeSelection is only avilable when using normal row model'); - } - var inMemoryRowModel = this.rowModel; - var topLevelNodes = inMemoryRowModel.getTopLevelNodes(); - if (topLevelNodes === null) { - console.warn('selectAll not available doing rowModel=virtual'); - return; - } - var result = []; - // recursive function, to find the selected nodes - function traverse(nodes) { - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (node.isSelected()) { - result.push(node); - } - else { - // if not selected, then if it's a group, and the group - // has children, continue to search for selections - if (node.group && node.children) { - traverse(node.children); - } - } - } - } - traverse(topLevelNodes); - return result; - }; - SelectionController.prototype.setRowModel = function (rowModel) { - this.rowModel = rowModel; - }; - SelectionController.prototype.isEmpty = function () { - var count = 0; - utils_1.Utils.iterateObject(this.selectedNodes, function (nodeId, rowNode) { - if (rowNode) { - count++; - } - }); - return count === 0; - }; - SelectionController.prototype.deselectAllRowNodes = function (justFiltered) { - if (justFiltered === void 0) { justFiltered = false; } - var callback = function (rowNode) { return rowNode.selectThisNode(false); }; - var rowModelInMemory = this.rowModel.getType() === constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY; - if (justFiltered) { - if (!rowModelInMemory) { - console.error('ag-Grid: selecting just filtered only works with In Memory Row Model'); - return; - } - var inMemoryRowModel = this.rowModel; - inMemoryRowModel.forEachNodeAfterFilter(callback); - } - else { - utils_1.Utils.iterateObject(this.selectedNodes, function (id, rowNode) { - // remember the reference can be to null, as we never 'delete' from the map - if (rowNode) { - callback(rowNode); - } - }); - // this clears down the map (whereas above only sets the items in map to 'undefined') - this.reset(); - } - // the above does not clean up the parent rows if they are selected - if (rowModelInMemory && this.groupSelectsChildren) { - this.updateGroupsFromChildrenSelections(); - } - var event = { - type: events_1.Events.EVENT_SELECTION_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - SelectionController.prototype.selectAllRowNodes = function (justFiltered) { - if (justFiltered === void 0) { justFiltered = false; } - if (this.rowModel.getType() !== constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY) { - throw "selectAll only available with normal row model, ie not " + this.rowModel.getType(); - } - var inMemoryRowModel = this.rowModel; - var callback = function (rowNode) { return rowNode.selectThisNode(true); }; - if (justFiltered) { - inMemoryRowModel.forEachNodeAfterFilter(callback); - } - else { - inMemoryRowModel.forEachNode(callback); - } - // the above does not clean up the parent rows if they are selected - if (this.rowModel.getType() === constants_1.Constants.ROW_MODEL_TYPE_IN_MEMORY && this.groupSelectsChildren) { - this.updateGroupsFromChildrenSelections(); - } - var event = { - type: events_1.Events.EVENT_SELECTION_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.eventService.dispatchEvent(event); - }; - // Deprecated method - SelectionController.prototype.selectNode = function (rowNode, tryMulti) { - rowNode.setSelectedParams({ newValue: true, clearSelection: !tryMulti }); - }; - // Deprecated method - SelectionController.prototype.deselectIndex = function (rowIndex) { - var node = this.rowModel.getRow(rowIndex); - this.deselectNode(node); - }; - // Deprecated method - SelectionController.prototype.deselectNode = function (rowNode) { - rowNode.setSelectedParams({ newValue: false, clearSelection: false }); - }; - // Deprecated method - SelectionController.prototype.selectIndex = function (index, tryMulti) { - var node = this.rowModel.getRow(index); - this.selectNode(node, tryMulti); - }; - __decorate([ - context_3.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], SelectionController.prototype, "eventService", void 0); - __decorate([ - context_3.Autowired('rowModel'), - __metadata("design:type", Object) - ], SelectionController.prototype, "rowModel", void 0); - __decorate([ - context_3.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], SelectionController.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_3.Autowired('columnApi'), - __metadata("design:type", columnController_1.ColumnApi) - ], SelectionController.prototype, "columnApi", void 0); - __decorate([ - context_3.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], SelectionController.prototype, "gridApi", void 0); - __decorate([ - __param(0, context_2.Qualifier('loggerFactory')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [logger_1.LoggerFactory]), - __metadata("design:returntype", void 0) - ], SelectionController.prototype, "setBeans", null); - __decorate([ - context_4.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], SelectionController.prototype, "init", null); - SelectionController = __decorate([ - context_1.Bean('selectionController') - ], SelectionController); - return SelectionController; -}()); -exports.SelectionController = SelectionController; - - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var eventService_1 = __webpack_require__(4); -var events_1 = __webpack_require__(5); -var gridOptionsWrapper_1 = __webpack_require__(2); -var selectionController_1 = __webpack_require__(14); -var valueService_1 = __webpack_require__(16); -var columnController_1 = __webpack_require__(3); -var context_1 = __webpack_require__(0); -var constants_1 = __webpack_require__(7); -var utils_1 = __webpack_require__(1); -var valueCache_1 = __webpack_require__(33); -var gridApi_1 = __webpack_require__(6); -var RowNode = (function () { - function RowNode() { - /** Children mapped by the pivot columns */ - this.childrenMapped = {}; - this.selected = false; - } - RowNode.prototype.setData = function (data) { - var oldData = this.data; - this.data = data; - this.valueCache.onDataChanged(); - var event = this.createDataChangedEvent(data, oldData, false); - this.dispatchLocalEvent(event); - }; - RowNode.prototype.createDataChangedEvent = function (newData, oldData, update) { - return { - type: RowNode.EVENT_DATA_CHANGED, - node: this, - oldData: oldData, - newData: newData, - update: update - }; - }; - RowNode.prototype.createLocalRowEvent = function (type) { - return { - type: type, - node: this - }; - }; - // similar to setRowData, however it is expected that the data is the same data item. this - // is intended to be used with Redux type stores, where the whole data can be changed. we are - // guaranteed that the data is the same entity (so grid doesn't need to worry about the id of the - // underlying data changing, hence doesn't need to worry about selection). the grid, upon receiving - // dataChanged event, will refresh the cells rather than rip them all out (so user can show transitions). - RowNode.prototype.updateData = function (data) { - var oldData = this.data; - this.data = data; - var event = this.createDataChangedEvent(data, oldData, true); - this.dispatchLocalEvent(event); - }; - RowNode.prototype.getRowIndexString = function () { - if (this.rowPinned === constants_1.Constants.PINNED_TOP) { - return 't-' + this.rowIndex; - } - else if (this.rowPinned === constants_1.Constants.PINNED_BOTTOM) { - return 'b-' + this.rowIndex; - } - else { - return this.rowIndex.toString(); - } - }; - RowNode.prototype.createDaemonNode = function () { - var oldNode = new RowNode(); - this.context.wireBean(oldNode); - // just copy the id and data, this is enough for the node to be used - // in the selection controller (the selection controller is the only - // place where daemon nodes can live). - oldNode.id = this.id; - oldNode.data = this.data; - oldNode.daemon = true; - oldNode.selected = this.selected; - oldNode.level = this.level; - return oldNode; - }; - RowNode.prototype.setDataAndId = function (data, id) { - var oldNode = utils_1.Utils.exists(this.id) ? this.createDaemonNode() : null; - var oldData = this.data; - this.data = data; - this.setId(id); - this.selectionController.syncInRowNode(this, oldNode); - var event = this.createDataChangedEvent(data, oldData, false); - this.dispatchLocalEvent(event); - }; - RowNode.prototype.setId = function (id) { - // see if user is providing the id's - var getRowNodeId = this.gridOptionsWrapper.getRowNodeIdFunc(); - if (getRowNodeId) { - // if user is providing the id's, then we set the id only after the data has been set. - // this is important for virtual pagination and viewport, where empty rows exist. - if (this.data) { - this.id = getRowNodeId(this.data); - } - else { - // this can happen if user has set blank into the rowNode after the row previously - // having data. this happens in virtual page row model, when data is delete and - // the page is refreshed. - this.id = undefined; - } - } - else { - this.id = id; - } - }; - RowNode.prototype.isPixelInRange = function (pixel) { - return pixel >= this.rowTop && pixel < (this.rowTop + this.rowHeight); - }; - RowNode.prototype.clearRowTop = function () { - this.oldRowTop = this.rowTop; - this.setRowTop(null); - }; - RowNode.prototype.setFirstChild = function (firstChild) { - if (this.firstChild === firstChild) { - return; - } - this.firstChild = firstChild; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_FIRST_CHILD_CHANGED)); - } - }; - RowNode.prototype.setLastChild = function (lastChild) { - if (this.lastChild === lastChild) { - return; - } - this.lastChild = lastChild; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_LAST_CHILD_CHANGED)); - } - }; - RowNode.prototype.setChildIndex = function (childIndex) { - if (this.childIndex === childIndex) { - return; - } - this.childIndex = childIndex; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_CHILD_INDEX_CHANGED)); - } - }; - RowNode.prototype.setRowTop = function (rowTop) { - if (this.rowTop === rowTop) { - return; - } - this.rowTop = rowTop; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_TOP_CHANGED)); - } - }; - RowNode.prototype.setAllChildrenCount = function (allChildrenCount) { - if (this.allChildrenCount === allChildrenCount) { - return; - } - this.allChildrenCount = allChildrenCount; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED)); - } - }; - RowNode.prototype.setRowHeight = function (rowHeight) { - this.rowHeight = rowHeight; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HEIGHT_CHANGED)); - } - }; - RowNode.prototype.setRowIndex = function (rowIndex) { - this.rowIndex = rowIndex; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_INDEX_CHANGED)); - } - }; - RowNode.prototype.setUiLevel = function (uiLevel) { - if (this.uiLevel === uiLevel) { - return; - } - this.uiLevel = uiLevel; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_UI_LEVEL_CHANGED)); - } - }; - RowNode.prototype.setExpanded = function (expanded) { - if (this.expanded === expanded) { - return; - } - this.expanded = expanded; - if (this.eventService) { - this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_EXPANDED_CHANGED)); - } - var event = this.createGlobalRowEvent(events_1.Events.EVENT_ROW_GROUP_OPENED); - this.mainEventService.dispatchEvent(event); - }; - RowNode.prototype.createGlobalRowEvent = function (type) { - var event = { - type: type, - node: this, - data: this.data, - rowIndex: this.rowIndex, - rowPinned: this.rowPinned, - context: this.gridOptionsWrapper.getContext(), - api: this.gridOptionsWrapper.getApi(), - columnApi: this.gridOptionsWrapper.getColumnApi() - }; - return event; - }; - RowNode.prototype.dispatchLocalEvent = function (event) { - if (this.eventService) { - this.eventService.dispatchEvent(event); - } - }; - // we also allow editing the value via the editors. when it is done via - // the editors, no 'cell changed' event gets fired, as it's assumed that - // the cell knows about the change given it's in charge of the editing. - // this method is for the client to call, so the cell listens for the change - // event, and also flashes the cell when the change occurs. - RowNode.prototype.setDataValue = function (colKey, newValue) { - var column = this.columnController.getPrimaryColumn(colKey); - this.valueService.setValue(this, column, newValue); - this.dispatchCellChangedEvent(column, newValue); - }; - RowNode.prototype.setGroupValue = function (colKey, newValue) { - var column = this.columnController.getGridColumn(colKey); - if (utils_1.Utils.missing(this.groupData)) { - this.groupData = {}; - } - this.groupData[column.getColId()] = newValue; - this.dispatchCellChangedEvent(column, newValue); - }; - // sets the data for an aggregation - RowNode.prototype.setAggData = function (newAggData) { - var _this = this; - // find out all keys that could potentially change - var colIds = utils_1.Utils.getAllKeysInObjects([this.aggData, newAggData]); - this.aggData = newAggData; - // if no event service, nobody has registered for events, so no need fire event - if (this.eventService) { - colIds.forEach(function (colId) { - var column = _this.columnController.getGridColumn(colId); - var value = _this.aggData ? _this.aggData[colId] : undefined; - _this.dispatchCellChangedEvent(column, value); - }); - } - }; - RowNode.prototype.hasChildren = function () { - // we need to return true when this.group=true, as this is used by enterprise row model - // (as children are lazy loaded and stored in a cache anyway). otherwise we return true - // if children exist. - return this.group || (this.childrenAfterGroup && this.childrenAfterGroup.length > 0); - }; - RowNode.prototype.isEmptyFillerNode = function () { - return this.group && utils_1.Utils.missingOrEmpty(this.childrenAfterGroup); - }; - RowNode.prototype.dispatchCellChangedEvent = function (column, newValue) { - var cellChangedEvent = { - type: RowNode.EVENT_CELL_CHANGED, - node: this, - column: column, - newValue: newValue - }; - this.dispatchLocalEvent(cellChangedEvent); - }; - RowNode.prototype.resetQuickFilterAggregateText = function () { - this.quickFilterAggregateText = null; - }; - RowNode.prototype.isExpandable = function () { - return this.hasChildren() || this.master; - }; - RowNode.prototype.isSelected = function () { - // for footers, we just return what our sibling selected state is, as cannot select a footer - if (this.footer) { - return this.sibling.isSelected(); - } - return this.selected; - }; - RowNode.prototype.depthFirstSearch = function (callback) { - if (this.childrenAfterGroup) { - this.childrenAfterGroup.forEach(function (child) { return child.depthFirstSearch(callback); }); - } - callback(this); - }; - // + rowController.updateGroupsInSelection() - RowNode.prototype.calculateSelectedFromChildren = function () { - var atLeastOneSelected = false; - var atLeastOneDeSelected = false; - var atLeastOneMixed = false; - var newSelectedValue; - if (this.childrenAfterGroup) { - for (var i = 0; i < this.childrenAfterGroup.length; i++) { - var childState = this.childrenAfterGroup[i].isSelected(); - switch (childState) { - case true: - atLeastOneSelected = true; - break; - case false: - atLeastOneDeSelected = true; - break; - default: - atLeastOneMixed = true; - break; - } - } - } - if (atLeastOneMixed) { - newSelectedValue = undefined; - } - else if (atLeastOneSelected && !atLeastOneDeSelected) { - newSelectedValue = true; - } - else if (!atLeastOneSelected && atLeastOneDeSelected) { - newSelectedValue = false; - } - else { - newSelectedValue = undefined; - } - this.selectThisNode(newSelectedValue); - }; - RowNode.prototype.calculateSelectedFromChildrenBubbleUp = function () { - this.calculateSelectedFromChildren(); - if (this.parent) { - this.parent.calculateSelectedFromChildrenBubbleUp(); - } - }; - RowNode.prototype.setSelectedInitialValue = function (selected) { - this.selected = selected; - }; - RowNode.prototype.setSelected = function (newValue, clearSelection, tailingNodeInSequence) { - if (clearSelection === void 0) { clearSelection = false; } - if (tailingNodeInSequence === void 0) { tailingNodeInSequence = false; } - this.setSelectedParams({ - newValue: newValue, - clearSelection: clearSelection, - tailingNodeInSequence: tailingNodeInSequence, - rangeSelect: false - }); - }; - RowNode.prototype.isRowPinned = function () { - return this.rowPinned === constants_1.Constants.PINNED_TOP || this.rowPinned === constants_1.Constants.PINNED_BOTTOM; - }; - // to make calling code more readable, this is the same method as setSelected except it takes names parameters - RowNode.prototype.setSelectedParams = function (params) { - var groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren(); - var newValue = params.newValue === true; - var clearSelection = params.clearSelection === true; - var tailingNodeInSequence = params.tailingNodeInSequence === true; - var rangeSelect = params.rangeSelect === true; - // groupSelectsFiltered only makes sense when group selects children - var groupSelectsFiltered = groupSelectsChildren && (params.groupSelectsFiltered === true); - if (this.id === undefined) { - console.warn('ag-Grid: cannot select node until id for node is known'); - return 0; - } - if (this.rowPinned) { - console.log('ag-Grid: cannot select pinned rows'); - return 0; - } - // if we are a footer, we don't do selection, just pass the info - // to the sibling (the parent of the group) - if (this.footer) { - var count = this.sibling.setSelectedParams(params); - return count; - } - if (rangeSelect) { - var newRowClicked = this.selectionController.getLastSelectedNode() !== this; - var allowMultiSelect = this.gridOptionsWrapper.isRowSelectionMulti(); - if (newRowClicked && allowMultiSelect) { - return this.doRowRangeSelection(); - } - } - var updatedCount = 0; - // when groupSelectsFiltered, then this node may end up intermediate despite - // trying to set it to true / false. this group will be calculated further on - // down when we call calculatedSelectedForAllGroupNodes(). we need to skip it - // here, otherwise the updatedCount would include it. - var skipThisNode = groupSelectsFiltered && this.group; - if (!skipThisNode) { - var thisNodeWasSelected = this.selectThisNode(newValue); - if (thisNodeWasSelected) { - updatedCount++; - } - } - if (groupSelectsChildren && this.group) { - updatedCount += this.selectChildNodes(newValue, groupSelectsFiltered); - } - // clear other nodes if not doing multi select - var actionWasOnThisNode = !tailingNodeInSequence; - if (actionWasOnThisNode) { - if (newValue && (clearSelection || !this.gridOptionsWrapper.isRowSelectionMulti())) { - updatedCount += this.selectionController.clearOtherNodes(this); - } - // only if we selected something, then update groups and fire events - if (updatedCount > 0) { - // update groups - if (groupSelectsFiltered) { - // if the group was selecting filtered, then all nodes above and or below - // this node could have check, unchecked or intermediate, so easiest is to - // recalculate selected state for all group nodes - this.calculatedSelectedForAllGroupNodes(); - } - else { - // if no selecting filtered, then everything below the group node was either - // selected or not selected, no intermediate, so no need to check items below - // this one, just the parents all the way up to the root - if (groupSelectsChildren && this.parent) { - this.parent.calculateSelectedFromChildrenBubbleUp(); - } - } - // fire events - // this is the very end of the 'action node', so we are finished all the updates, - // include any parent / child changes that this method caused - var event_1 = { - type: events_1.Events.EVENT_SELECTION_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.mainEventService.dispatchEvent(event_1); - } - // so if user next does shift-select, we know where to start the selection from - if (newValue) { - this.selectionController.setLastSelectedNode(this); - } - } - return updatedCount; - }; - // selects all rows between this node and the last selected node (or the top if this is the first selection). - // not to be mixed up with 'cell range selection' where you drag the mouse, this is row range selection, by - // holding down 'shift'. - RowNode.prototype.doRowRangeSelection = function () { - var updatedCount = 0; - var groupsSelectChildren = this.gridOptionsWrapper.isGroupSelectsChildren(); - var lastSelectedNode = this.selectionController.getLastSelectedNode(); - var nodesToSelect = this.rowModel.getNodesInRangeForSelection(lastSelectedNode, this); - nodesToSelect.forEach(function (rowNode) { - if (rowNode.group && groupsSelectChildren) { - return; - } - var nodeWasSelected = rowNode.selectThisNode(true); - if (nodeWasSelected) { - updatedCount++; - } - }); - if (groupsSelectChildren) { - this.calculatedSelectedForAllGroupNodes(); - } - var event = { - type: events_1.Events.EVENT_SELECTION_CHANGED, - api: this.gridApi, - columnApi: this.columnApi - }; - this.mainEventService.dispatchEvent(event); - return updatedCount; - }; - RowNode.prototype.isParentOfNode = function (potentialParent) { - var parentNode = this.parent; - while (parentNode) { - if (parentNode === potentialParent) { - return true; - } - parentNode = parentNode.parent; - } - return false; - }; - RowNode.prototype.calculatedSelectedForAllGroupNodes = function () { - // we have to make sure we do this dept first, as parent nodes - // will have dependencies on the children having correct values - var inMemoryRowModel = this.rowModel; - inMemoryRowModel.getTopLevelNodes().forEach(function (topLevelNode) { - if (topLevelNode.group) { - topLevelNode.depthFirstSearch(function (childNode) { - if (childNode.group) { - childNode.calculateSelectedFromChildren(); - } - }); - topLevelNode.calculateSelectedFromChildren(); - } - }); - }; - RowNode.prototype.selectThisNode = function (newValue) { - if (this.selected === newValue) { - return false; - } - this.selected = newValue; - if (this.eventService) { - this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_SELECTED)); - } - var event = this.createGlobalRowEvent(events_1.Events.EVENT_ROW_SELECTED); - this.mainEventService.dispatchEvent(event); - return true; - }; - RowNode.prototype.selectChildNodes = function (newValue, groupSelectsFiltered) { - var children = groupSelectsFiltered ? this.childrenAfterFilter : this.childrenAfterGroup; - var updatedCount = 0; - if (utils_1.Utils.missing(children)) { - return; - } - for (var i = 0; i < children.length; i++) { - updatedCount += children[i].setSelectedParams({ - newValue: newValue, - clearSelection: false, - tailingNodeInSequence: true - }); - } - return updatedCount; - }; - RowNode.prototype.addEventListener = function (eventType, listener) { - if (!this.eventService) { - this.eventService = new eventService_1.EventService(); - } - this.eventService.addEventListener(eventType, listener); - }; - RowNode.prototype.removeEventListener = function (eventType, listener) { - this.eventService.removeEventListener(eventType, listener); - }; - RowNode.prototype.onMouseEnter = function () { - this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_ENTER)); - }; - RowNode.prototype.onMouseLeave = function () { - this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_LEAVE)); - }; - RowNode.prototype.getFirstChildOfFirstChild = function (rowGroupColumn) { - var currentRowNode = this; - // if we are hiding groups, then if we are the first child, of the first child, - // all the way up to the column we are interested in, then we show the group cell. - var isCandidate = true; - var foundFirstChildPath = false; - var nodeToSwapIn; - while (isCandidate && !foundFirstChildPath) { - var parentRowNode = currentRowNode.parent; - var firstChild = utils_1.Utils.exists(parentRowNode) && currentRowNode.firstChild; - if (firstChild) { - if (parentRowNode.rowGroupColumn === rowGroupColumn) { - foundFirstChildPath = true; - nodeToSwapIn = parentRowNode; - } - } - else { - isCandidate = false; - } - currentRowNode = parentRowNode; - } - return foundFirstChildPath ? nodeToSwapIn : null; - }; - RowNode.EVENT_ROW_SELECTED = 'rowSelected'; - RowNode.EVENT_DATA_CHANGED = 'dataChanged'; - RowNode.EVENT_CELL_CHANGED = 'cellChanged'; - RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED = 'allChildrenCountChanged'; - RowNode.EVENT_MOUSE_ENTER = 'mouseEnter'; - RowNode.EVENT_MOUSE_LEAVE = 'mouseLeave'; - RowNode.EVENT_HEIGHT_CHANGED = 'heightChanged'; - RowNode.EVENT_TOP_CHANGED = 'topChanged'; - RowNode.EVENT_FIRST_CHILD_CHANGED = 'firstChildChanged'; - RowNode.EVENT_LAST_CHILD_CHANGED = 'lastChildChanged'; - RowNode.EVENT_CHILD_INDEX_CHANGED = 'childIndexChanged'; - RowNode.EVENT_ROW_INDEX_CHANGED = 'rowIndexChanged'; - RowNode.EVENT_EXPANDED_CHANGED = 'expandedChanged'; - RowNode.EVENT_UI_LEVEL_CHANGED = 'uiLevelChanged'; - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], RowNode.prototype, "mainEventService", void 0); - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], RowNode.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('selectionController'), - __metadata("design:type", selectionController_1.SelectionController) - ], RowNode.prototype, "selectionController", void 0); - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", columnController_1.ColumnController) - ], RowNode.prototype, "columnController", void 0); - __decorate([ - context_1.Autowired('valueService'), - __metadata("design:type", valueService_1.ValueService) - ], RowNode.prototype, "valueService", void 0); - __decorate([ - context_1.Autowired('rowModel'), - __metadata("design:type", Object) - ], RowNode.prototype, "rowModel", void 0); - __decorate([ - context_1.Autowired('context'), - __metadata("design:type", context_1.Context) - ], RowNode.prototype, "context", void 0); - __decorate([ - context_1.Autowired('valueCache'), - __metadata("design:type", valueCache_1.ValueCache) - ], RowNode.prototype, "valueCache", void 0); - __decorate([ - context_1.Autowired('columnApi'), - __metadata("design:type", columnController_1.ColumnApi) - ], RowNode.prototype, "columnApi", void 0); - __decorate([ - context_1.Autowired('gridApi'), - __metadata("design:type", gridApi_1.GridApi) - ], RowNode.prototype, "gridApi", void 0); - return RowNode; -}()); -exports.RowNode = RowNode; - - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components - * @version v15.0.0 - * @link http://www.ag-grid.com/ - * @license MIT - */ - -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var gridOptionsWrapper_1 = __webpack_require__(2); -var expressionService_1 = __webpack_require__(19); -var columnController_1 = __webpack_require__(3); -var context_1 = __webpack_require__(0); -var utils_1 = __webpack_require__(1); -var events_1 = __webpack_require__(5); -var eventService_1 = __webpack_require__(4); -var valueCache_1 = __webpack_require__(33); -var ValueService = (function () { - function ValueService() { - this.initialised = false; - } - ValueService.prototype.init = function () { - this.cellExpressions = this.gridOptionsWrapper.isEnableCellExpressions(); - this.initialised = true; - }; - ValueService.prototype.getValue = function (column, rowNode, ignoreAggData) { - // console.log(`turnActive = ${this.turnActive}`); - if (ignoreAggData === void 0) { ignoreAggData = false; } - // hack - the grid is getting refreshed before this bean gets initialised, race condition. - // really should have a way so they get initialised in the right order??? - if (!this.initialised) { - this.init(); - } - // pull these out to make code below easier to read - var colDef = column.getColDef(); - var field = colDef.field; - var colId = column.getId(); - var data = rowNode.data; - var result; - // if there is a value getter, this gets precedence over a field - var groupDataExists = rowNode.groupData && rowNode.groupData[colId] !== undefined; - var aggDataExists = !ignoreAggData && rowNode.aggData && rowNode.aggData[colId] !== undefined; - if (groupDataExists) { - result = rowNode.groupData[colId]; - } - else if (aggDataExists) { - result = rowNode.aggData[colId]; - } - else if (colDef.valueGetter) { - result = this.executeValueGetter(colDef.valueGetter, data, column, rowNode); - } - else if (field && data) { - result = utils_1._.getValueUsingField(data, field, column.isFieldContainsDots()); - } - else { - result = undefined; - } - // the result could be an expression itself, if we are allowing cell values to be expressions - if (this.cellExpressions && (typeof result === 'string') && result.indexOf('=') === 0) { - var cellValueGetter = result.substring(1); - result = this.executeValueGetter(cellValueGetter, data, column, rowNode); - } - return result; - }; - ValueService.prototype.setValue = function (rowNode, colKey, newValue) { - var column = this.columnController.getPrimaryColumn(colKey); - if (!rowNode || !column) { - return; - } - // this will only happen if user is trying to paste into a group row, which doesn't make sense - // the user should not be trying to paste into group rows - var data = rowNode.data; - if (utils_1._.missing(data)) { - rowNode.data = {}; - } - // for backwards compatibility we are also retrieving the newValueHandler as well as the valueSetter - var _a = column.getColDef(), field = _a.field, newValueHandler = _a.newValueHandler, valueSetter = _a.valueSetter; - // need either a field or a newValueHandler for this to work - if (utils_1._.missing(field) && utils_1._.missing(newValueHandler) && utils_1._.missing(valueSetter)) { - // we don't tell user about newValueHandler, as that is deprecated - console.warn("ag-Grid: you need either field or valueSetter set on colDef for editing to work"); - return; - } - var params = { - node: rowNode, - data: rowNode.data, - oldValue: this.getValue(column, rowNode), - newValue: newValue, - colDef: column.getColDef(), - column: column, - api: this.gridOptionsWrapper.getApi(), - columnApi: this.gridOptionsWrapper.getColumnApi(), - context: this.gridOptionsWrapper.getContext() - }; - params.newValue = newValue; - var valueWasDifferent; - if (utils_1._.exists(newValueHandler)) { - valueWasDifferent = newValueHandler(params); - } - else if (utils_1._.exists(valueSetter)) { - valueWasDifferent = this.expressionService.evaluate(valueSetter, params); - } - else { - valueWasDifferent = this.setValueUsingField(data, field, newValue, column.isFieldContainsDots()); - } - // in case user forgot to return something (possible if they are not using TypeScript - // and just forgot, or using an old newValueHandler we didn't always expect a return - // value here), we default the return value to true, so we always refresh. - if (valueWasDifferent === undefined) { - valueWasDifferent = true; - } - // if no change to the value, then no need to do the updating, or notifying via events. - // otherwise the user could be tabbing around the grid, and cellValueChange would get called - // all the time. - if (!valueWasDifferent) { - return; - } - // reset quick filter on this row - rowNode.resetQuickFilterAggregateText(); - this.valueCache.onDataChanged(); - params.newValue = this.getValue(column, rowNode); - if (typeof column.getColDef().onCellValueChanged === 'function') { - column.getColDef().onCellValueChanged(params); - } - var event = { - type: events_1.Events.EVENT_CELL_VALUE_CHANGED, - event: null, - rowIndex: rowNode.rowIndex, - rowPinned: rowNode.rowPinned, - column: params.column, - api: params.api, - colDef: params.colDef, - columnApi: params.columnApi, - context: params.context, - data: rowNode.data, - node: rowNode, - oldValue: params.oldValue, - newValue: params.newValue, - value: params.newValue - }; - this.eventService.dispatchEvent(event); - }; - ValueService.prototype.setValueUsingField = function (data, field, newValue, isFieldContainsDots) { - // if no '.', then it's not a deep value - var valuesAreSame; - if (!isFieldContainsDots) { - data[field] = newValue; - } - else { - // otherwise it is a deep value, so need to dig for it - var fieldPieces = field.split('.'); - var currentObject = data; - while (fieldPieces.length > 0 && currentObject) { - var fieldPiece = fieldPieces.shift(); - if (fieldPieces.length === 0) { - currentObject[fieldPiece] = newValue; - } - else { - currentObject = currentObject[fieldPiece]; - } - } - } - return !valuesAreSame; - }; - ValueService.prototype.executeValueGetter = function (valueGetter, data, column, rowNode) { - var colId = column.getId(); - // if inside the same turn, just return back the value we got last time - var valueFromCache = this.valueCache.getValue(rowNode, colId); - if (valueFromCache !== undefined) { - return valueFromCache; - } - var params = { - data: data, - node: rowNode, - column: column, - colDef: column.getColDef(), - api: this.gridOptionsWrapper.getApi(), - columnApi: this.gridOptionsWrapper.getColumnApi(), - context: this.gridOptionsWrapper.getContext(), - getValue: this.getValueCallback.bind(this, rowNode) - }; - var result = this.expressionService.evaluate(valueGetter, params); - // if a turn is active, store the value in case the grid asks for it again - this.valueCache.setValue(rowNode, colId, result); - return result; - }; - ValueService.prototype.getValueCallback = function (node, field) { - var otherColumn = this.columnController.getPrimaryColumn(field); - if (otherColumn) { - return this.getValue(otherColumn, node); - } - else { - return null; - } - }; - // used by row grouping and pivot, to get key for a row. col can be a pivot col or a row grouping col - ValueService.prototype.getKeyForNode = function (col, rowNode) { - var value = this.getValue(col, rowNode); - var result; - var keyCreator = col.getColDef().keyCreator; - if (keyCreator) { - result = keyCreator({ value: value }); - } - else { - result = value; - } - // if already a string, or missing, just return it - if (typeof result === 'string' || result === null || result === undefined) { - return result; - } - result = String(result); - if (result === '[object Object]') { - utils_1._.doOnce(function () { - console.warn('ag-Grid: a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se ag-Grid docs) or b) to toString() on the object to return a key'); - }, 'getKeyForNode - warn about [object,object]'); - } - return result; - }; - __decorate([ - context_1.Autowired('gridOptionsWrapper'), - __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper) - ], ValueService.prototype, "gridOptionsWrapper", void 0); - __decorate([ - context_1.Autowired('expressionService'), - __metadata("design:type", expressionService_1.ExpressionService) - ], ValueService.prototype, "expressionService", void 0); - __decorate([ - context_1.Autowired('columnController'), - __metadata("design:type", columnController_1.ColumnController) - ], ValueService.prototype, "columnController", void 0); - __decorate([ - context_1.Autowired('eventService'), - __metadata("design:type", eventService_1.EventService) - ], ValueService.prototype, "eventService", void 0); - __decorate([ - context_1.Autowired('valueCache'), - __metadata("design:type", valueCache_1.ValueCache) - ], ValueService.prototype, "valueCache", void 0); - __decorate([ - context_1.PostConstruct, - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], ValueService.prototype, "init", null); - ValueService = __decorate([ - context_1.Bean('valueService') - ], ValueService); - return ValueService; -}()); -exports.ValueService = ValueService; - - -/***/ }), -/* 17 */ -/***/ (function(module, exports) { - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -module.exports = function() { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - var result = []; - for(var i = 0; i < this.length; i++) { - var item = this[i]; - if(item[2]) { - result.push("@media " + item[2] + "{" + item[1] + "}"); - } else { - result.push(item[1]); - } - } - return result.join(""); - }; - - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if(typeof modules === "string") - modules = [[null, modules, ""]]; - var alreadyImportedModules = {}; - for(var i = 0; i < this.length; i++) { - var id = this[i][0]; - if(typeof id === "number") - alreadyImportedModules[id] = true; - } - for(i = 0; i < modules.length; i++) { - var item = modules[i]; - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { - if(mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if(mediaQuery) { - item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; - } - list.push(item); - } - } - }; - return list; -}; - - -/***/ }), -/* 18 */ -/***/ (function(module, exports) { - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -var stylesInDom = {}, - memoize = function(fn) { - var memo; - return function () { - if (typeof memo === "undefined") memo = fn.apply(this, arguments); - return memo; - }; - }, - isOldIE = memoize(function() { - return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase()); - }), - getHeadElement = memoize(function () { - return document.head || document.getElementsByTagName("head")[0]; - }), - singletonElement = null, - singletonCounter = 0, - styleElementsInsertedAtTop = []; - -module.exports = function(list, options) { - if(typeof DEBUG !== "undefined" && DEBUG) { - if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); - } - - options = options || {}; - // Force single-tag solution on IE6-9, which has a hard limit on the # of