@wavemaker/app-ng-runtime 11.4.0-next.28152 → 11.4.0-rc.5339

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. app-ng-runtime/build-task/basic/tree/tree.build.d.ts +1 -2
  2. app-ng-runtime/build-task/bundles/index.umd.js +8 -10
  3. app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
  4. app-ng-runtime/build-task/esm2015/basic/tree/tree.build.js +3 -4
  5. app-ng-runtime/build-task/esm2015/data/form/form-field/form-field.build.js +2 -2
  6. app-ng-runtime/build-task/esm2015/navigation/popover/popover.build.js +3 -3
  7. app-ng-runtime/build-task/fesm2015/index.js +8 -10
  8. app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
  9. app-ng-runtime/components/base/bundles/index.umd.js +29 -4
  10. app-ng-runtime/components/base/bundles/index.umd.js.map +1 -1
  11. app-ng-runtime/components/base/esm2015/public_api.js +2 -2
  12. app-ng-runtime/components/base/esm2015/utils/widget-utils.js +22 -4
  13. app-ng-runtime/components/base/esm2015/widgets/common/base/base-field-validations.js +3 -2
  14. app-ng-runtime/components/base/esm2015/widgets/common/dialog/dialog.service.js +7 -1
  15. app-ng-runtime/components/base/fesm2015/index.js +30 -6
  16. app-ng-runtime/components/base/fesm2015/index.js.map +1 -1
  17. app-ng-runtime/components/base/index.metadata.json +1 -1
  18. app-ng-runtime/components/base/public_api.d.ts +1 -1
  19. app-ng-runtime/components/base/utils/widget-utils.d.ts +8 -1
  20. app-ng-runtime/components/basic/tree/bundles/index.umd.js +280 -256
  21. app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
  22. app-ng-runtime/components/basic/tree/esm2015/public_api.js +2 -2
  23. app-ng-runtime/components/basic/tree/esm2015/tree.component.js +322 -0
  24. app-ng-runtime/components/basic/tree/esm2015/tree.module.js +3 -3
  25. app-ng-runtime/components/basic/tree/fesm2015/index.js +260 -248
  26. app-ng-runtime/components/basic/tree/fesm2015/index.js.map +1 -1
  27. app-ng-runtime/components/basic/tree/index.metadata.json +1 -1
  28. app-ng-runtime/components/basic/tree/public_api.d.ts +1 -1
  29. app-ng-runtime/components/basic/tree/tree.component.d.ts +34 -0
  30. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +39 -23
  31. app-ng-runtime/components/containers/tabs/bundles/index.umd.js.map +1 -1
  32. app-ng-runtime/components/containers/tabs/esm2015/tab-pane/tab-pane.component.js +8 -1
  33. app-ng-runtime/components/containers/tabs/esm2015/tabs.animator.js +33 -13
  34. app-ng-runtime/components/containers/tabs/fesm2015/index.js +40 -13
  35. app-ng-runtime/components/containers/tabs/fesm2015/index.js.map +1 -1
  36. app-ng-runtime/components/containers/tabs/tabs.animator.d.ts +5 -1
  37. app-ng-runtime/components/data/form/bundles/index.umd.js +37 -13
  38. app-ng-runtime/components/data/form/bundles/index.umd.js.map +1 -1
  39. app-ng-runtime/components/data/form/esm2015/form-field/form-field.directive.js +26 -7
  40. app-ng-runtime/components/data/form/esm2015/form.component.js +10 -5
  41. app-ng-runtime/components/data/form/fesm2015/index.js +34 -10
  42. app-ng-runtime/components/data/form/fesm2015/index.js.map +1 -1
  43. app-ng-runtime/components/data/form/index.metadata.json +1 -1
  44. app-ng-runtime/components/data/list/bundles/index.umd.js +52 -43
  45. app-ng-runtime/components/data/list/bundles/index.umd.js.map +1 -1
  46. app-ng-runtime/components/data/list/esm2015/list.component.js +52 -43
  47. app-ng-runtime/components/data/list/fesm2015/index.js +51 -42
  48. app-ng-runtime/components/data/list/fesm2015/index.js.map +1 -1
  49. app-ng-runtime/components/data/list/index.metadata.json +1 -1
  50. app-ng-runtime/components/data/list/list.component.d.ts +1 -1
  51. app-ng-runtime/components/data/pagination/bundles/index.umd.js +22 -5
  52. app-ng-runtime/components/data/pagination/bundles/index.umd.js.map +1 -1
  53. app-ng-runtime/components/data/pagination/esm2015/pagination.component.js +23 -6
  54. app-ng-runtime/components/data/pagination/fesm2015/index.js +22 -5
  55. app-ng-runtime/components/data/pagination/fesm2015/index.js.map +1 -1
  56. app-ng-runtime/components/data/pagination/index.metadata.json +1 -1
  57. app-ng-runtime/components/data/pagination/pagination.component.d.ts +1 -0
  58. app-ng-runtime/components/data/table/bundles/index.umd.js +64 -12
  59. app-ng-runtime/components/data/table/bundles/index.umd.js.map +1 -1
  60. app-ng-runtime/components/data/table/esm2015/table.component.js +63 -13
  61. app-ng-runtime/components/data/table/esm2015/table.props.js +3 -1
  62. app-ng-runtime/components/data/table/fesm2015/index.js +64 -12
  63. app-ng-runtime/components/data/table/fesm2015/index.js.map +1 -1
  64. app-ng-runtime/components/data/table/index.metadata.json +1 -1
  65. app-ng-runtime/components/data/table/table.component.d.ts +9 -0
  66. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -0
  67. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +17 -3
  68. app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
  69. app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +18 -5
  70. app-ng-runtime/components/dialogs/default/fesm2015/index.js +17 -4
  71. app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
  72. app-ng-runtime/components/dialogs/default/index.metadata.json +1 -1
  73. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -0
  74. app-ng-runtime/components/input/epoch/bundles/index.umd.js +78 -35
  75. app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
  76. app-ng-runtime/components/input/epoch/date-time/date-time-picker.component.d.ts +1 -0
  77. app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +55 -31
  78. app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +3 -3
  79. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time-picker.component.js +31 -11
  80. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time.component.js +2 -2
  81. app-ng-runtime/components/input/epoch/fesm2015/index.js +87 -43
  82. app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
  83. app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
  84. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +25 -19
  85. app-ng-runtime/components/navigation/menu/bundles/index.umd.js.map +1 -1
  86. app-ng-runtime/components/navigation/menu/esm2015/menu-dropdown-item/menu-dropdown-item.component.js +15 -5
  87. app-ng-runtime/components/navigation/menu/esm2015/menu.component.js +14 -19
  88. app-ng-runtime/components/navigation/menu/fesm2015/index.js +25 -20
  89. app-ng-runtime/components/navigation/menu/fesm2015/index.js.map +1 -1
  90. app-ng-runtime/components/navigation/menu/index.metadata.json +1 -1
  91. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +7 -4
  92. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -7
  93. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +3 -1
  94. app-ng-runtime/components/navigation/popover/bundles/index.umd.js.map +1 -1
  95. app-ng-runtime/components/navigation/popover/esm2015/popover.component.js +5 -3
  96. app-ng-runtime/components/navigation/popover/fesm2015/index.js +4 -2
  97. app-ng-runtime/components/navigation/popover/fesm2015/index.js.map +1 -1
  98. app-ng-runtime/core/bundles/index.umd.js +7 -1
  99. app-ng-runtime/core/bundles/index.umd.js.map +1 -1
  100. app-ng-runtime/core/esm2015/services/pagination.service.js +8 -2
  101. app-ng-runtime/core/fesm2015/index.js +7 -1
  102. app-ng-runtime/core/fesm2015/index.js.map +1 -1
  103. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +24 -6
  104. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js.map +1 -1
  105. app-ng-runtime/mobile/components/page/default/esm2015/page.directive.js +20 -3
  106. app-ng-runtime/mobile/components/page/default/fesm2015/index.js +19 -2
  107. app-ng-runtime/mobile/components/page/default/fesm2015/index.js.map +1 -1
  108. app-ng-runtime/mobile/components/page/default/index.metadata.json +1 -1
  109. app-ng-runtime/mobile/components/page/default/page.directive.d.ts +4 -1
  110. app-ng-runtime/package.json +1 -1
  111. app-ng-runtime/scripts/datatable/datatable.js +86 -36
  112. app-ng-runtime/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
  113. app-ng-runtime/variables/bundles/index.umd.js +14 -4
  114. app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
  115. app-ng-runtime/variables/esm2015/manager/action/notification-action.manager.js +5 -6
  116. app-ng-runtime/variables/esm2015/service/variables.service.js +8 -1
  117. app-ng-runtime/variables/fesm2015/index.js +11 -5
  118. app-ng-runtime/variables/fesm2015/index.js.map +1 -1
  119. app-ng-runtime/variables/index.metadata.json +1 -1
  120. app-ng-runtime/variables/service/variables.service.d.ts +4 -0
  121. app-ng-runtime/components/basic/tree/esm2015/tree.directive.js +0 -310
  122. app-ng-runtime/components/basic/tree/tree.directive.d.ts +0 -35
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"CONSTANTS":{"hasCordova":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"window"},"index":"cordova"},"right":{"__symbolic":"reference","name":"undefined"}},"isStudioMode":false,"isRunMode":true,"XSRF_COOKIE_NAME":"wm_xsrf_token","DEFAULT_TIMER_DELAY":500,"WIDGET_DOESNT_EXIST":"The widget you're trying to navigate to doesn't exist on this page"},"VARIABLE_CONSTANTS":{"CATEGORY":{"MODEL":"wm.Variable","LIVE":"wm.LiveVariable","CRUD":"wm.CrudVariable","SERVICE":"wm.ServiceVariable","WEBSOCKET":"wm.WebSocketVariable","NAVIGATION":"wm.NavigationVariable","NOTIFICATION":"wm.NotificationVariable","TIMER":"wm.TimerVariable","LOGIN":"wm.LoginVariable","LOGOUT":"wm.LogoutVariable","DEVICE":"wm.DeviceVariable"},"EVENTS":["onBefore","onBeforeUpdate","onResult","onBeforeOpen","onOpen","onBeforeMessageSend","onMessageReceive","onProgress","onError","onBeforeDatasetReady","onCanUpdate","onClick","onHide","onOk","onCancel","onBeforeClose","onClose","onTimerFire","onSuccess","onOnline","onOffline"],"EVENT":{"CAN_UPDATE":"onCanUpdate","BEFORE":"onBefore","BEFORE_UPDATE":"onBeforeUpdate","PREPARE_SETDATA":"onBeforeDatasetReady","RESULT":"onResult","ERROR":"onError","ABORT":"onAbort","PROGRESS":"onProgress","CLICK":"onClick","HIDE":"onHide","OK":"onOk","CANCEL":"onCancel","CLOSE":"onClose","TIMER_FIRE":"onTimerFire","SUCCESS":"onSuccess","BEFORE_OPEN":"onBeforeOpen","OPEN":"onOpen","BEFORE_SEND":"onBeforeMessageSend","MESSAGE_RECEIVE":"onMessageReceive","BEFORE_CLOSE":"onBeforeClose","$quoted$":["CAN_UPDATE","BEFORE","BEFORE_UPDATE","PREPARE_SETDATA","RESULT","ERROR","ABORT","PROGRESS","CLICK","HIDE","OK","CANCEL","CLOSE","TIMER_FIRE","SUCCESS","BEFORE_OPEN","OPEN","BEFORE_SEND","MESSAGE_RECEIVE","BEFORE_CLOSE"]},"OWNER":{"APP":"App","PAGE":"Page","$quoted$":["APP","PAGE"]},"REST_SUPPORTED_SERVICES":["JavaService","SoapService","FeedService","RestService","SecurityServiceType","DataService","WebSocketService","OpenAPIService"],"PAGINATION_PARAMS":["page","size","sort"],"REST_SERVICE":{"BASE_PATH_KEY":"x-WM-BASE_PATH","RELATIVE_PATH_KEY":"x-WM-RELATIVE_PATH","OAUTH_PROVIDER_KEY":"x-WM-PROVIDER_ID","AUTH_HDR_KEY":"Authorization","SECURITY_DEFN":{"BASIC":"basic","OAUTH2":"oauth2","$quoted$":["BASIC","OAUTH2"]},"AUTH_TYPE":{"BASIC":"BASIC","OAUTH":"OAUTH2","NONE":"NONE","$quoted$":["BASIC","OAUTH","NONE"]},"CONTENT_TYPE_KEY":"x-WM-CONTENT_TYPE","ACCESSTOKEN_PLACEHOLDER":{"LEFT":"","RIGHT":".access_token","$quoted$":["LEFT","RIGHT"]},"ERR_TYPE":{"NO_ACCESSTOKEN":"missing_accesstoken","NO_CREDENTIALS":"no_credentials","METADATA_MISSING":"metadata_missing","CRUD_OPERATION_MISSING":"crud_operation_missing","USER_UNAUTHORISED":"user_unauthorised","REQUIRED_FIELD_MISSING":"required_field_missing"},"ERR_MSG":{"NO_ACCESSTOKEN":"Access token missing","NO_CREDENTIALS":"No credentials present","METADATA_MISSING":"Metadata missing for \"$variable\"","USER_UNAUTHORISED":"Unauthorized User","CRUD_OPERATION_MISSING":"Operation \"$operation\" not allowed for \"$variable\"","REQUIRED_FIELD_MISSING":"Required field(s) missing: \"${0}\""},"UNCLOAKED_HEADERS":["CONTENT-TYPE","ACCEPT","CONTENT-LENGTH","ACCEPT-ENCODING","ACCEPT-LANGUAGE"],"PREFIX":{"AUTH_HDR_VAL":{"BASIC":"Basic","OAUTH":"Bearer"},"CLOAK_HEADER_KEY":"X-WM-"},"$quoted$":["BASE_PATH_KEY","RELATIVE_PATH_KEY","OAUTH_PROVIDER_KEY","AUTH_HDR_KEY","SECURITY_DEFN","AUTH_TYPE","CONTENT_TYPE_KEY","ACCESSTOKEN_PLACEHOLDER"]},"SERVICE_TYPE":{"JAVA":"JavaService","REST":"RestService","SOAP":"SoapService","FEED":"FeedService","DATA":"DataService","SECURITY":"SecurityServiceType","WEBSOCKET":"WebSocketService","OPENAPI":"OpenAPIService"},"CONTROLLER_TYPE":{"QUERY":"QueryExecution","PROCEDURE":"ProcedureExecution"},"HTTP_STATUS_CODE":{"CORS_FAILURE":-1,"UNAUTHORIZED":401,"FORBIDDEN":403},"EXPORT_TYPES_MAP":{"EXCEL":".xlsx","CSV":".csv","$quoted$":["EXCEL","CSV"]},"DEFAULT_VAR":{"NOTIFICATION":"appNotification","$quoted$":["NOTIFICATION"]}},"WS_CONSTANTS":{"NON_BODY_HTTP_METHODS":["GET","HEAD"],"CONTENT_TYPES":{"FORM_URL_ENCODED":"application/x-www-form-urlencoded","MULTIPART_FORMDATA":"multipart/form-data","OCTET_STREAM":"application/octet-stream"}},"DB_CONSTANTS":{"DATABASE_MATCH_MODES":{"like":"LIKE","start":"STARTING_WITH","startignorecase":"STARTING_WITH_IGNORECASE","end":"ENDING_WITH","endignorecase":"ENDING_WITH_IGNORECASE","anywhere":"CONTAINING","anywhereignorecase":"CONTAINING_IGNORECASE","nowhere":"DOES_NOT_CONTAIN","nowhereignorecase":"DOES_NOT_CONTAIN_IGNORECASE","exact":"EQUALS","exactignorecase":"EQUALS_IGNORECASE","notequals":"NOT_EQUALS","notequalsignorecase":"NOT_EQUALS_IGNORECASE","between":"BETWEEN","in":"IN","notin":"NOTIN","lessthan":"LESS_THAN","lessthanequal":"LESS_THAN_OR_EQUALS","greaterthan":"GREATER_THAN","greaterthanequal":"GREATER_THAN_OR_EQUALS","null":"NULL","isnotnull":"IS_NOT_NULL","empty":"EMPTY","isnotempty":"IS_NOT_EMPTY","nullorempty":"NULL_OR_EMPTY","$quoted$":["like","start","startignorecase","end","endignorecase","anywhere","anywhereignorecase","nowhere","nowhereignorecase","exact","exactignorecase","notequals","notequalsignorecase","between","in","notin","lessthan","lessthanequal","greaterthan","greaterthanequal","null","isnotnull","empty","isnotempty","nullorempty"]},"DATABASE_EMPTY_MATCH_MODES":["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"],"DATABASE_RANGE_MATCH_MODES":["IN","NOTIN","BETWEEN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NOT_EQUALS"],"DATABASE_NULL_EMPTY_MATCH":{"NULL":"NULL","IS_NOT_NULL":"IS_NOT_NULL","EMPTY":"NULL","IS_NOT_EMPTY":"IS_NOT_NULL","NULL_OR_EMPTY":"NULL","$quoted$":["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"]},"DATABASE_MATCH_MODES_WITH_QUERY":{"LIKE":"${0} like ${1}","STARTING_WITH":"${0} like ${1}","STARTING_WITH_IGNORECASE":"${0} like ${1}","ENDING_WITH":"${0} like ${1}","ENDING_WITH_IGNORECASE":"${0} like ${1}","CONTAINING":"${0} like ${1}","CONTAINING_IGNORECASE":"${0} like ${1}","DOES_NOT_CONTAIN":"${0} not like ${1}","DOES_NOT_CONTAIN_IGNORECASE":"${0} not like ${1}","EQUALS":"${0}=${1}","EQUALS_IGNORECASE":"${0}=${1}","NOT_EQUALS":"${0}!=${1}","NOT_EQUALS_IGNORECASE":"${0}!=${1}","BETWEEN":"${0} between ${1}","IN":"${0} in ${1}","NOTIN":"${0} not in ${1}","LESS_THAN":"${0}<${1}","LESS_THAN_OR_EQUALS":"${0}<=${1}","GREATER_THAN":"${0}>${1}","GREATER_THAN_OR_EQUALS":"${0}>=${1}","NULL":"${0} is null","IS_NOT_NULL":"${0} is not null","EMPTY":"${0}=''","IS_NOT_EMPTY":"${0}<>''","NULL_OR_EMPTY":"${0} is null or ${0}=''","$quoted$":["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE","BETWEEN","IN","NOTIN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"]},"DATABASE_STRING_MODES":["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE"],"$quoted$":["DATABASE_MATCH_MODES","DATABASE_EMPTY_MATCH_MODES","DATABASE_RANGE_MATCH_MODES","DATABASE_NULL_EMPTY_MATCH","DATABASE_MATCH_MODES_WITH_QUERY","DATABASE_STRING_MODES"]},"SWAGGER_CONSTANTS":{"WM_DATA_JSON":"wm_data_json","WM_HTTP_JSON":"wm_httpRequestDetails"},"VARIABLE_URLS":{"DATABASE":{"searchTableData":{"url":"/:service/:dataModelName/:entityName/search?page=:page&size=:size&:sort","method":"POST"},"searchTableDataWithQuery":{"url":"/:service/:dataModelName/:entityName/filter?page=:page&size=:size&:sort","method":"POST","headers":{"Content-Type":"application/x-www-form-urlencoded","$quoted$":["Content-Type"]}},"readTableData":{"url":"/:service/:dataModelName/:entityName?page=:page&size=:size&:sort","method":"GET"},"insertTableData":{"url":"/:service/:dataModelName/:entityName","method":"POST"},"insertMultiPartTableData":{"url":"/:service/:dataModelName/:entityName","method":"POST","headers":{}},"updateTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"PUT"},"updateMultiPartTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"POST","headers":{}},"deleteTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"DELETE"},"updateCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"PUT"},"periodUpdateCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id/periods?:id","method":"PUT"},"updateMultiPartCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"POST","headers":{}},"deleteCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"DELETE"},"periodDeleteCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id/periods?:id","method":"DELETE"},"getDistinctDataByFields":{"url":"/:service/:dataModelName/:entityName/aggregations?page=:page&size=:size&:sort","method":"POST"},"exportTableData":{"url":"/services/:dataModelName/:entityName/export?:sort","method":"POST"},"readTableRelatedData":{"url":"/:service/:dataModelName/:entityName/:id/:relatedFieldName?page=:page&size=:size&:sort","method":"GET"},"executeNamedQuery":{"url":"/:service/:dataModelName/queryExecutor/queries/:queryName?page=:page&size=:size&:queryParams","method":"GET"},"executeCustomQuery":{"url":"/:service/:dataModelName/queries/execute?page=:page&size=:size","method":"POST"},"executeAggregateQuery":{"url":"/services/:dataModelName/:entityName/aggregations?page=:page&size=:size&sort=:sort","method":"POST"},"executeNamedProcedure":{"url":"/:service/:dataModelName/procedureExecutor/procedure/execute/:procedureName?page=:page&size=:size&:procedureParams","method":"GET"},"countTableDataWithQuery":{"url":"/:service/:dataModelName/:entityName/count?:queryParams","method":"GET"}},"oauthConfiguration":{"getAuthorizationUrl":{"url":"services/oauth2/:providerId/authorizationUrl","method":"GET"}}},"VariableManagerFactory":{"__symbolic":"class","members":{},"statics":{"get":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"has"},"arguments":[{"__symbolic":"reference","name":"type"}]},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"get"},"arguments":[{"__symbolic":"reference","name":"type"}]},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"set"},"arguments":[{"__symbolic":"reference","name":"type"},{"__symbolic":"new","expression":{"__symbolic":"index","expression":{"Variable":{"__symbolic":"reference","name":"ɵa"},"Action":{"__symbolic":"reference","name":"ɵb"},"wm.NavigationVariable":{"__symbolic":"reference","name":"ɵc"},"wm.NotificationVariable":{"__symbolic":"reference","name":"ɵd"},"wm.LoginVariable":{"__symbolic":"reference","name":"ɵe"},"wm.LogoutVariable":{"__symbolic":"reference","name":"ɵf"},"wm.DeviceVariable":{"__symbolic":"reference","name":"DeviceVariableManager"},"wm.WebSocketVariable":{"__symbolic":"reference","name":"ɵg"},"$quoted$":["Variable","Action","wm.NavigationVariable","wm.NotificationVariable","wm.LoginVariable","wm.LogoutVariable","wm.DeviceVariable","wm.WebSocketVariable"]},"index":{"__symbolic":"reference","name":"type"}}}]},"member":"get"},"arguments":[{"__symbolic":"reference","name":"type"}]}}}}},"DeviceVariableManager":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"invoke":[{"__symbolic":"method"}],"registerService":[{"__symbolic":"method"}]}},"DeviceVariableService":{"__symbolic":"class","members":{"invoke":[{"__symbolic":"method"}]}},"IDeviceVariableOperation":{"__symbolic":"interface"},"VariablesService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractHttpService","line":26,"character":29},{"__symbolic":"reference","name":"MetadataService"},{"__symbolic":"reference","module":"@wm/core","name":"AbstractNavigationService","line":28,"character":35},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":29,"character":31},{"__symbolic":"reference","module":"@wm/core","name":"AbstractToasterService","line":30,"character":32},{"__symbolic":"reference","module":"@wm/oAuth","name":"OAuthService","line":31,"character":30},{"__symbolic":"reference","module":"@wm/security","name":"SecurityService","line":32,"character":33},{"__symbolic":"reference","module":"@wm/core","name":"AbstractDialogService","line":33,"character":31}]}],"bulkCancel":[{"__symbolic":"method"}],"triggerStartUpdate":[{"__symbolic":"method"}],"processBindExp":[{"__symbolic":"method"}],"processBinding":[{"__symbolic":"method"}],"isVariableSeperated":[{"__symbolic":"method"}],"getBindSourceTarget":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"registerDependency":[{"__symbolic":"method"}]}},"MetadataService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractHttpService","line":10,"character":31}]}],"isLoaded":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"getByOperationId":[{"__symbolic":"method"}],"getByProviderId":[{"__symbolic":"method"}],"getByCrudId":[{"__symbolic":"method"}]}},"appManager":{"__symbolic":"error","message":"Variable not initialized","line":8,"character":11,"module":"./util/variable/variables.utils"},"httpService":{"__symbolic":"error","message":"Variable not initialized","line":9,"character":11,"module":"./util/variable/variables.utils"},"metadataService":{"__symbolic":"error","message":"Variable not initialized","line":10,"character":11,"module":"./util/variable/variables.utils"},"navigationService":{"__symbolic":"error","message":"Variable not initialized","line":11,"character":11,"module":"./util/variable/variables.utils"},"routerService":{"__symbolic":"error","message":"Variable not initialized","line":12,"character":11,"module":"./util/variable/variables.utils"},"toasterService":{"__symbolic":"error","message":"Variable not initialized","line":13,"character":11,"module":"./util/variable/variables.utils"},"oauthService":{"__symbolic":"error","message":"Variable not initialized","line":14,"character":11,"module":"./util/variable/variables.utils"},"securityService":{"__symbolic":"error","message":"Variable not initialized","line":15,"character":11,"module":"./util/variable/variables.utils"},"dialogService":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":11,"module":"./util/variable/variables.utils"},"setDependency":{"__symbolic":"error","message":"Lambda not supported","line":93,"character":29,"module":"./util/variable/variables.utils"},"initiateCallback":{"__symbolic":"error","message":"Lambda not supported","line":125,"character":32,"module":"./util/variable/variables.utils"},"processBinding":{"__symbolic":"error","message":"Lambda not supported","line":612,"character":30,"module":"./util/variable/variables.utils"},"simulateFileDownload":{"__symbolic":"error","message":"Lambda not supported","line":648,"character":36,"module":"./util/variable/variables.utils"},"setInput":{"__symbolic":"error","message":"Lambda not supported","line":677,"character":24,"module":"./util/variable/variables.utils"},"isFileUploadSupported":{"__symbolic":"error","message":"Lambda not supported","line":720,"character":37,"module":"./util/variable/variables.utils"},"getEvaluatedOrderBy":{"__symbolic":"error","message":"Lambda not supported","line":730,"character":35,"module":"./util/variable/variables.utils"},"formatExportExpression":{"__symbolic":"error","message":"Lambda not supported","line":760,"character":38,"module":"./util/variable/variables.utils"},"debounceVariableCall":{"__symbolic":"error","message":"Reference to a local symbol","line":22,"character":6,"context":{"name":"_invoke"},"module":"./util/variable/variables.utils"},"formatDate":{"__symbolic":"error","message":"Lambda not supported","line":799,"character":26,"module":"./util/variable/variables.utils"},"toastrModule":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-toastr","name":"ToastrModule","line":13,"character":54},"member":"forRoot"},"arguments":[{"maxOpened":1,"autoDismiss":true}]},"VariablesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":8},{"__symbolic":"reference","name":"toastrModule"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":19,"character":8},{"__symbolic":"reference","module":"@wm/http","name":"HttpServiceModule","line":20,"character":8},{"__symbolic":"reference","module":"@wm/oAuth","name":"OAuthModule","line":21,"character":8},{"__symbolic":"reference","module":"@wm/security","name":"SecurityModule","line":22,"character":8}],"declarations":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"VariablesModule"},"providers":[{"__symbolic":"reference","name":"VariablesService"},{"__symbolic":"reference","name":"MetadataService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":34,"character":16},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy","line":35,"character":26},"useClass":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy","line":35,"character":54}}]}}}},"ɵa":{"__symbolic":"class","members":{"initBinding":[{"__symbolic":"method"}],"notifyInflight":[{"__symbolic":"method"}],"setRequestTrackId":[{"__symbolic":"method"}],"httpCall":[{"__symbolic":"method"}],"prepareCallbackOptions":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","members":{"initBinding":[{"__symbolic":"method"}],"notifyInflight":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"invoke":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"onToasterClick":[{"__symbolic":"method"}],"onToasterHide":[{"__symbolic":"method"}],"notifyViaToaster":[{"__symbolic":"method"}],"notifyViaDialog":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}],"getMessage":[{"__symbolic":"method"}],"setMessage":[{"__symbolic":"method"}],"getOkButtonText":[{"__symbolic":"method"}],"setOkButtonText":[{"__symbolic":"method"}],"getToasterDuration":[{"__symbolic":"method"}],"setToasterDuration":[{"__symbolic":"method"}],"getToasterClass":[{"__symbolic":"method"}],"setToasterClass":[{"__symbolic":"method"}],"getToasterPosition":[{"__symbolic":"method"}],"setToasterPosition":[{"__symbolic":"method"}],"getAlertType":[{"__symbolic":"method"}],"setAlertType":[{"__symbolic":"method"}],"getCancelButtonText":[{"__symbolic":"method"}],"setCancelButtonText":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"validate":[{"__symbolic":"method"}],"migrateOldParams":[{"__symbolic":"method"}],"redirectToAppBasePath":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"logout":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"shouldAppendData":[{"__symbolic":"method"}],"shouldAppendLast":[{"__symbolic":"method"}],"getDataLimit":[{"__symbolic":"method"}],"getURL":[{"__symbolic":"method"}],"_onSocketMessage":[{"__symbolic":"method"}],"_onBeforeSend":[{"__symbolic":"method"}],"_onBeforeSocketClose":[{"__symbolic":"method"}],"_onBeforeSocketOpen":[{"__symbolic":"method"}],"_onSocketOpen":[{"__symbolic":"method"}],"freeSocket":[{"__symbolic":"method"}],"_onSocketClose":[{"__symbolic":"method"}],"_onSocketError":[{"__symbolic":"method"}],"getSocket":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"send":[{"__symbolic":"method"}]}}},"origins":{"CONSTANTS":"./constants/variables.constants","VARIABLE_CONSTANTS":"./constants/variables.constants","WS_CONSTANTS":"./constants/variables.constants","DB_CONSTANTS":"./constants/variables.constants","SWAGGER_CONSTANTS":"./constants/variables.constants","VARIABLE_URLS":"./constants/variables.constants","$rootScope":"@wavemaker/variables","VariableManagerFactory":"./factory/variable-manager.factory","DeviceVariableManager":"./manager/variable/device-variable-manager","DeviceVariableService":"./manager/variable/device-variable-service","IDeviceVariableOperation":"./manager/variable/device-variable-operation","VariablesService":"./service/variables.service","MetadataService":"./service/metadata-service/metadata.service","appManager":"./util/variable/variables.utils","httpService":"./util/variable/variables.utils","metadataService":"./util/variable/variables.utils","navigationService":"./util/variable/variables.utils","routerService":"./util/variable/variables.utils","toasterService":"./util/variable/variables.utils","oauthService":"./util/variable/variables.utils","securityService":"./util/variable/variables.utils","dialogService":"./util/variable/variables.utils","setDependency":"./util/variable/variables.utils","initiateCallback":"./util/variable/variables.utils","processBinding":"./util/variable/variables.utils","simulateFileDownload":"./util/variable/variables.utils","setInput":"./util/variable/variables.utils","isFileUploadSupported":"./util/variable/variables.utils","getEvaluatedOrderBy":"./util/variable/variables.utils","formatExportExpression":"./util/variable/variables.utils","debounceVariableCall":"./util/variable/variables.utils","formatDate":"./util/variable/variables.utils","toastrModule":"./variables.module","VariablesModule":"./variables.module","ɵa":"./manager/variable/base-variable.manager","ɵb":"./manager/action/base-action.manager","ɵc":"./manager/action/navigation-action.manager","ɵd":"./manager/action/notification-action.manager","ɵe":"./manager/action/login-action.manager","ɵf":"./manager/action/logout-action.manager","ɵg":"./manager/variable/web-socket-variable.manager"},"importAs":"@wm/variables"}
1
+ {"__symbolic":"module","version":4,"metadata":{"CONSTANTS":{"hasCordova":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"window"},"index":"cordova"},"right":{"__symbolic":"reference","name":"undefined"}},"isStudioMode":false,"isRunMode":true,"XSRF_COOKIE_NAME":"wm_xsrf_token","DEFAULT_TIMER_DELAY":500,"WIDGET_DOESNT_EXIST":"The widget you're trying to navigate to doesn't exist on this page"},"VARIABLE_CONSTANTS":{"CATEGORY":{"MODEL":"wm.Variable","LIVE":"wm.LiveVariable","CRUD":"wm.CrudVariable","SERVICE":"wm.ServiceVariable","WEBSOCKET":"wm.WebSocketVariable","NAVIGATION":"wm.NavigationVariable","NOTIFICATION":"wm.NotificationVariable","TIMER":"wm.TimerVariable","LOGIN":"wm.LoginVariable","LOGOUT":"wm.LogoutVariable","DEVICE":"wm.DeviceVariable"},"EVENTS":["onBefore","onBeforeUpdate","onResult","onBeforeOpen","onOpen","onBeforeMessageSend","onMessageReceive","onProgress","onError","onBeforeDatasetReady","onCanUpdate","onClick","onHide","onOk","onCancel","onBeforeClose","onClose","onTimerFire","onSuccess","onOnline","onOffline"],"EVENT":{"CAN_UPDATE":"onCanUpdate","BEFORE":"onBefore","BEFORE_UPDATE":"onBeforeUpdate","PREPARE_SETDATA":"onBeforeDatasetReady","RESULT":"onResult","ERROR":"onError","ABORT":"onAbort","PROGRESS":"onProgress","CLICK":"onClick","HIDE":"onHide","OK":"onOk","CANCEL":"onCancel","CLOSE":"onClose","TIMER_FIRE":"onTimerFire","SUCCESS":"onSuccess","BEFORE_OPEN":"onBeforeOpen","OPEN":"onOpen","BEFORE_SEND":"onBeforeMessageSend","MESSAGE_RECEIVE":"onMessageReceive","BEFORE_CLOSE":"onBeforeClose","$quoted$":["CAN_UPDATE","BEFORE","BEFORE_UPDATE","PREPARE_SETDATA","RESULT","ERROR","ABORT","PROGRESS","CLICK","HIDE","OK","CANCEL","CLOSE","TIMER_FIRE","SUCCESS","BEFORE_OPEN","OPEN","BEFORE_SEND","MESSAGE_RECEIVE","BEFORE_CLOSE"]},"OWNER":{"APP":"App","PAGE":"Page","$quoted$":["APP","PAGE"]},"REST_SUPPORTED_SERVICES":["JavaService","SoapService","FeedService","RestService","SecurityServiceType","DataService","WebSocketService","OpenAPIService"],"PAGINATION_PARAMS":["page","size","sort"],"REST_SERVICE":{"BASE_PATH_KEY":"x-WM-BASE_PATH","RELATIVE_PATH_KEY":"x-WM-RELATIVE_PATH","OAUTH_PROVIDER_KEY":"x-WM-PROVIDER_ID","AUTH_HDR_KEY":"Authorization","SECURITY_DEFN":{"BASIC":"basic","OAUTH2":"oauth2","$quoted$":["BASIC","OAUTH2"]},"AUTH_TYPE":{"BASIC":"BASIC","OAUTH":"OAUTH2","NONE":"NONE","$quoted$":["BASIC","OAUTH","NONE"]},"CONTENT_TYPE_KEY":"x-WM-CONTENT_TYPE","ACCESSTOKEN_PLACEHOLDER":{"LEFT":"","RIGHT":".access_token","$quoted$":["LEFT","RIGHT"]},"ERR_TYPE":{"NO_ACCESSTOKEN":"missing_accesstoken","NO_CREDENTIALS":"no_credentials","METADATA_MISSING":"metadata_missing","CRUD_OPERATION_MISSING":"crud_operation_missing","USER_UNAUTHORISED":"user_unauthorised","REQUIRED_FIELD_MISSING":"required_field_missing"},"ERR_MSG":{"NO_ACCESSTOKEN":"Access token missing","NO_CREDENTIALS":"No credentials present","METADATA_MISSING":"Metadata missing for \"$variable\"","USER_UNAUTHORISED":"Unauthorized User","CRUD_OPERATION_MISSING":"Operation \"$operation\" not allowed for \"$variable\"","REQUIRED_FIELD_MISSING":"Required field(s) missing: \"${0}\""},"UNCLOAKED_HEADERS":["CONTENT-TYPE","ACCEPT","CONTENT-LENGTH","ACCEPT-ENCODING","ACCEPT-LANGUAGE"],"PREFIX":{"AUTH_HDR_VAL":{"BASIC":"Basic","OAUTH":"Bearer"},"CLOAK_HEADER_KEY":"X-WM-"},"$quoted$":["BASE_PATH_KEY","RELATIVE_PATH_KEY","OAUTH_PROVIDER_KEY","AUTH_HDR_KEY","SECURITY_DEFN","AUTH_TYPE","CONTENT_TYPE_KEY","ACCESSTOKEN_PLACEHOLDER"]},"SERVICE_TYPE":{"JAVA":"JavaService","REST":"RestService","SOAP":"SoapService","FEED":"FeedService","DATA":"DataService","SECURITY":"SecurityServiceType","WEBSOCKET":"WebSocketService","OPENAPI":"OpenAPIService"},"CONTROLLER_TYPE":{"QUERY":"QueryExecution","PROCEDURE":"ProcedureExecution"},"HTTP_STATUS_CODE":{"CORS_FAILURE":-1,"UNAUTHORIZED":401,"FORBIDDEN":403},"EXPORT_TYPES_MAP":{"EXCEL":".xlsx","CSV":".csv","$quoted$":["EXCEL","CSV"]},"DEFAULT_VAR":{"NOTIFICATION":"appNotification","$quoted$":["NOTIFICATION"]}},"WS_CONSTANTS":{"NON_BODY_HTTP_METHODS":["GET","HEAD"],"CONTENT_TYPES":{"FORM_URL_ENCODED":"application/x-www-form-urlencoded","MULTIPART_FORMDATA":"multipart/form-data","OCTET_STREAM":"application/octet-stream"}},"DB_CONSTANTS":{"DATABASE_MATCH_MODES":{"like":"LIKE","start":"STARTING_WITH","startignorecase":"STARTING_WITH_IGNORECASE","end":"ENDING_WITH","endignorecase":"ENDING_WITH_IGNORECASE","anywhere":"CONTAINING","anywhereignorecase":"CONTAINING_IGNORECASE","nowhere":"DOES_NOT_CONTAIN","nowhereignorecase":"DOES_NOT_CONTAIN_IGNORECASE","exact":"EQUALS","exactignorecase":"EQUALS_IGNORECASE","notequals":"NOT_EQUALS","notequalsignorecase":"NOT_EQUALS_IGNORECASE","between":"BETWEEN","in":"IN","notin":"NOTIN","lessthan":"LESS_THAN","lessthanequal":"LESS_THAN_OR_EQUALS","greaterthan":"GREATER_THAN","greaterthanequal":"GREATER_THAN_OR_EQUALS","null":"NULL","isnotnull":"IS_NOT_NULL","empty":"EMPTY","isnotempty":"IS_NOT_EMPTY","nullorempty":"NULL_OR_EMPTY","$quoted$":["like","start","startignorecase","end","endignorecase","anywhere","anywhereignorecase","nowhere","nowhereignorecase","exact","exactignorecase","notequals","notequalsignorecase","between","in","notin","lessthan","lessthanequal","greaterthan","greaterthanequal","null","isnotnull","empty","isnotempty","nullorempty"]},"DATABASE_EMPTY_MATCH_MODES":["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"],"DATABASE_RANGE_MATCH_MODES":["IN","NOTIN","BETWEEN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NOT_EQUALS"],"DATABASE_NULL_EMPTY_MATCH":{"NULL":"NULL","IS_NOT_NULL":"IS_NOT_NULL","EMPTY":"NULL","IS_NOT_EMPTY":"IS_NOT_NULL","NULL_OR_EMPTY":"NULL","$quoted$":["NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"]},"DATABASE_MATCH_MODES_WITH_QUERY":{"LIKE":"${0} like ${1}","STARTING_WITH":"${0} like ${1}","STARTING_WITH_IGNORECASE":"${0} like ${1}","ENDING_WITH":"${0} like ${1}","ENDING_WITH_IGNORECASE":"${0} like ${1}","CONTAINING":"${0} like ${1}","CONTAINING_IGNORECASE":"${0} like ${1}","DOES_NOT_CONTAIN":"${0} not like ${1}","DOES_NOT_CONTAIN_IGNORECASE":"${0} not like ${1}","EQUALS":"${0}=${1}","EQUALS_IGNORECASE":"${0}=${1}","NOT_EQUALS":"${0}!=${1}","NOT_EQUALS_IGNORECASE":"${0}!=${1}","BETWEEN":"${0} between ${1}","IN":"${0} in ${1}","NOTIN":"${0} not in ${1}","LESS_THAN":"${0}<${1}","LESS_THAN_OR_EQUALS":"${0}<=${1}","GREATER_THAN":"${0}>${1}","GREATER_THAN_OR_EQUALS":"${0}>=${1}","NULL":"${0} is null","IS_NOT_NULL":"${0} is not null","EMPTY":"${0}=''","IS_NOT_EMPTY":"${0}<>''","NULL_OR_EMPTY":"${0} is null or ${0}=''","$quoted$":["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE","BETWEEN","IN","NOTIN","LESS_THAN","LESS_THAN_OR_EQUALS","GREATER_THAN","GREATER_THAN_OR_EQUALS","NULL","IS_NOT_NULL","EMPTY","IS_NOT_EMPTY","NULL_OR_EMPTY"]},"DATABASE_STRING_MODES":["LIKE","STARTING_WITH","STARTING_WITH_IGNORECASE","ENDING_WITH","ENDING_WITH_IGNORECASE","CONTAINING","CONTAINING_IGNORECASE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_IGNORECASE","EQUALS","EQUALS_IGNORECASE","NOT_EQUALS","NOT_EQUALS_IGNORECASE"],"$quoted$":["DATABASE_MATCH_MODES","DATABASE_EMPTY_MATCH_MODES","DATABASE_RANGE_MATCH_MODES","DATABASE_NULL_EMPTY_MATCH","DATABASE_MATCH_MODES_WITH_QUERY","DATABASE_STRING_MODES"]},"SWAGGER_CONSTANTS":{"WM_DATA_JSON":"wm_data_json","WM_HTTP_JSON":"wm_httpRequestDetails"},"VARIABLE_URLS":{"DATABASE":{"searchTableData":{"url":"/:service/:dataModelName/:entityName/search?page=:page&size=:size&:sort","method":"POST"},"searchTableDataWithQuery":{"url":"/:service/:dataModelName/:entityName/filter?page=:page&size=:size&:sort","method":"POST","headers":{"Content-Type":"application/x-www-form-urlencoded","$quoted$":["Content-Type"]}},"readTableData":{"url":"/:service/:dataModelName/:entityName?page=:page&size=:size&:sort","method":"GET"},"insertTableData":{"url":"/:service/:dataModelName/:entityName","method":"POST"},"insertMultiPartTableData":{"url":"/:service/:dataModelName/:entityName","method":"POST","headers":{}},"updateTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"PUT"},"updateMultiPartTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"POST","headers":{}},"deleteTableData":{"url":"/:service/:dataModelName/:entityName/:id","method":"DELETE"},"updateCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"PUT"},"periodUpdateCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id/periods?:id","method":"PUT"},"updateMultiPartCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"POST","headers":{}},"deleteCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id?:id","method":"DELETE"},"periodDeleteCompositeTableData":{"url":"/:service/:dataModelName/:entityName/composite-id/periods?:id","method":"DELETE"},"getDistinctDataByFields":{"url":"/:service/:dataModelName/:entityName/aggregations?page=:page&size=:size&:sort","method":"POST"},"exportTableData":{"url":"/services/:dataModelName/:entityName/export?:sort","method":"POST"},"readTableRelatedData":{"url":"/:service/:dataModelName/:entityName/:id/:relatedFieldName?page=:page&size=:size&:sort","method":"GET"},"executeNamedQuery":{"url":"/:service/:dataModelName/queryExecutor/queries/:queryName?page=:page&size=:size&:queryParams","method":"GET"},"executeCustomQuery":{"url":"/:service/:dataModelName/queries/execute?page=:page&size=:size","method":"POST"},"executeAggregateQuery":{"url":"/services/:dataModelName/:entityName/aggregations?page=:page&size=:size&sort=:sort","method":"POST"},"executeNamedProcedure":{"url":"/:service/:dataModelName/procedureExecutor/procedure/execute/:procedureName?page=:page&size=:size&:procedureParams","method":"GET"},"countTableDataWithQuery":{"url":"/:service/:dataModelName/:entityName/count?:queryParams","method":"GET"}},"oauthConfiguration":{"getAuthorizationUrl":{"url":"services/oauth2/:providerId/authorizationUrl","method":"GET"}}},"VariableManagerFactory":{"__symbolic":"class","members":{},"statics":{"get":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"has"},"arguments":[{"__symbolic":"reference","name":"type"}]},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"get"},"arguments":[{"__symbolic":"reference","name":"type"}]},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"set"},"arguments":[{"__symbolic":"reference","name":"type"},{"__symbolic":"new","expression":{"__symbolic":"index","expression":{"Variable":{"__symbolic":"reference","name":"ɵa"},"Action":{"__symbolic":"reference","name":"ɵb"},"wm.NavigationVariable":{"__symbolic":"reference","name":"ɵc"},"wm.NotificationVariable":{"__symbolic":"reference","name":"ɵd"},"wm.LoginVariable":{"__symbolic":"reference","name":"ɵe"},"wm.LogoutVariable":{"__symbolic":"reference","name":"ɵf"},"wm.DeviceVariable":{"__symbolic":"reference","name":"DeviceVariableManager"},"wm.WebSocketVariable":{"__symbolic":"reference","name":"ɵg"},"$quoted$":["Variable","Action","wm.NavigationVariable","wm.NotificationVariable","wm.LoginVariable","wm.LogoutVariable","wm.DeviceVariable","wm.WebSocketVariable"]},"index":{"__symbolic":"reference","name":"type"}}}]},"member":"get"},"arguments":[{"__symbolic":"reference","name":"type"}]}}}}},"DeviceVariableManager":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"invoke":[{"__symbolic":"method"}],"registerService":[{"__symbolic":"method"}]}},"DeviceVariableService":{"__symbolic":"class","members":{"invoke":[{"__symbolic":"method"}]}},"IDeviceVariableOperation":{"__symbolic":"interface"},"Formatter":{"__symbolic":"class","members":{"format":[{"__symbolic":"method"}]}},"VariablesService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractHttpService","line":34,"character":29},{"__symbolic":"reference","name":"MetadataService"},{"__symbolic":"reference","module":"@wm/core","name":"AbstractNavigationService","line":36,"character":35},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":37,"character":31},{"__symbolic":"reference","module":"@wm/core","name":"AbstractToasterService","line":38,"character":32},{"__symbolic":"reference","module":"@wm/oAuth","name":"OAuthService","line":39,"character":30},{"__symbolic":"reference","module":"@wm/security","name":"SecurityService","line":40,"character":33},{"__symbolic":"reference","module":"@wm/core","name":"AbstractDialogService","line":41,"character":31}]}],"bulkCancel":[{"__symbolic":"method"}],"triggerStartUpdate":[{"__symbolic":"method"}],"processBindExp":[{"__symbolic":"method"}],"processBinding":[{"__symbolic":"method"}],"isVariableSeperated":[{"__symbolic":"method"}],"getBindSourceTarget":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"registerDependency":[{"__symbolic":"method"}]}},"MetadataService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractHttpService","line":10,"character":31}]}],"isLoaded":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"getByOperationId":[{"__symbolic":"method"}],"getByProviderId":[{"__symbolic":"method"}],"getByCrudId":[{"__symbolic":"method"}]}},"appManager":{"__symbolic":"error","message":"Variable not initialized","line":8,"character":11,"module":"./util/variable/variables.utils"},"httpService":{"__symbolic":"error","message":"Variable not initialized","line":9,"character":11,"module":"./util/variable/variables.utils"},"metadataService":{"__symbolic":"error","message":"Variable not initialized","line":10,"character":11,"module":"./util/variable/variables.utils"},"navigationService":{"__symbolic":"error","message":"Variable not initialized","line":11,"character":11,"module":"./util/variable/variables.utils"},"routerService":{"__symbolic":"error","message":"Variable not initialized","line":12,"character":11,"module":"./util/variable/variables.utils"},"toasterService":{"__symbolic":"error","message":"Variable not initialized","line":13,"character":11,"module":"./util/variable/variables.utils"},"oauthService":{"__symbolic":"error","message":"Variable not initialized","line":14,"character":11,"module":"./util/variable/variables.utils"},"securityService":{"__symbolic":"error","message":"Variable not initialized","line":15,"character":11,"module":"./util/variable/variables.utils"},"dialogService":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":11,"module":"./util/variable/variables.utils"},"setDependency":{"__symbolic":"error","message":"Lambda not supported","line":93,"character":29,"module":"./util/variable/variables.utils"},"initiateCallback":{"__symbolic":"error","message":"Lambda not supported","line":125,"character":32,"module":"./util/variable/variables.utils"},"processBinding":{"__symbolic":"error","message":"Lambda not supported","line":612,"character":30,"module":"./util/variable/variables.utils"},"simulateFileDownload":{"__symbolic":"error","message":"Lambda not supported","line":648,"character":36,"module":"./util/variable/variables.utils"},"setInput":{"__symbolic":"error","message":"Lambda not supported","line":677,"character":24,"module":"./util/variable/variables.utils"},"isFileUploadSupported":{"__symbolic":"error","message":"Lambda not supported","line":720,"character":37,"module":"./util/variable/variables.utils"},"getEvaluatedOrderBy":{"__symbolic":"error","message":"Lambda not supported","line":730,"character":35,"module":"./util/variable/variables.utils"},"formatExportExpression":{"__symbolic":"error","message":"Lambda not supported","line":760,"character":38,"module":"./util/variable/variables.utils"},"debounceVariableCall":{"__symbolic":"error","message":"Reference to a local symbol","line":22,"character":6,"context":{"name":"_invoke"},"module":"./util/variable/variables.utils"},"formatDate":{"__symbolic":"error","message":"Lambda not supported","line":799,"character":26,"module":"./util/variable/variables.utils"},"toastrModule":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-toastr","name":"ToastrModule","line":13,"character":54},"member":"forRoot"},"arguments":[{"maxOpened":1,"autoDismiss":true}]},"VariablesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":8},{"__symbolic":"reference","name":"toastrModule"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":19,"character":8},{"__symbolic":"reference","module":"@wm/http","name":"HttpServiceModule","line":20,"character":8},{"__symbolic":"reference","module":"@wm/oAuth","name":"OAuthModule","line":21,"character":8},{"__symbolic":"reference","module":"@wm/security","name":"SecurityModule","line":22,"character":8}],"declarations":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"VariablesModule"},"providers":[{"__symbolic":"reference","name":"VariablesService"},{"__symbolic":"reference","name":"MetadataService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":34,"character":16},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy","line":35,"character":26},"useClass":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy","line":35,"character":54}}]}}}},"ɵa":{"__symbolic":"class","members":{"initBinding":[{"__symbolic":"method"}],"notifyInflight":[{"__symbolic":"method"}],"setRequestTrackId":[{"__symbolic":"method"}],"httpCall":[{"__symbolic":"method"}],"prepareCallbackOptions":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","members":{"initBinding":[{"__symbolic":"method"}],"notifyInflight":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"invoke":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"onToasterClick":[{"__symbolic":"method"}],"onToasterHide":[{"__symbolic":"method"}],"notifyViaToaster":[{"__symbolic":"method"}],"notifyViaDialog":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}],"getMessage":[{"__symbolic":"method"}],"setMessage":[{"__symbolic":"method"}],"getOkButtonText":[{"__symbolic":"method"}],"setOkButtonText":[{"__symbolic":"method"}],"getToasterDuration":[{"__symbolic":"method"}],"setToasterDuration":[{"__symbolic":"method"}],"getToasterClass":[{"__symbolic":"method"}],"setToasterClass":[{"__symbolic":"method"}],"getToasterPosition":[{"__symbolic":"method"}],"setToasterPosition":[{"__symbolic":"method"}],"getAlertType":[{"__symbolic":"method"}],"setAlertType":[{"__symbolic":"method"}],"getCancelButtonText":[{"__symbolic":"method"}],"setCancelButtonText":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"validate":[{"__symbolic":"method"}],"migrateOldParams":[{"__symbolic":"method"}],"redirectToAppBasePath":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵb"},"members":{"logout":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"shouldAppendData":[{"__symbolic":"method"}],"shouldAppendLast":[{"__symbolic":"method"}],"getDataLimit":[{"__symbolic":"method"}],"getURL":[{"__symbolic":"method"}],"_onSocketMessage":[{"__symbolic":"method"}],"_onBeforeSend":[{"__symbolic":"method"}],"_onBeforeSocketClose":[{"__symbolic":"method"}],"_onBeforeSocketOpen":[{"__symbolic":"method"}],"_onSocketOpen":[{"__symbolic":"method"}],"freeSocket":[{"__symbolic":"method"}],"_onSocketClose":[{"__symbolic":"method"}],"_onSocketError":[{"__symbolic":"method"}],"getSocket":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"send":[{"__symbolic":"method"}]}}},"origins":{"CONSTANTS":"./constants/variables.constants","VARIABLE_CONSTANTS":"./constants/variables.constants","WS_CONSTANTS":"./constants/variables.constants","DB_CONSTANTS":"./constants/variables.constants","SWAGGER_CONSTANTS":"./constants/variables.constants","VARIABLE_URLS":"./constants/variables.constants","$rootScope":"@wavemaker/variables","VariableManagerFactory":"./factory/variable-manager.factory","DeviceVariableManager":"./manager/variable/device-variable-manager","DeviceVariableService":"./manager/variable/device-variable-service","IDeviceVariableOperation":"./manager/variable/device-variable-operation","Formatter":"./service/variables.service","VariablesService":"./service/variables.service","MetadataService":"./service/metadata-service/metadata.service","appManager":"./util/variable/variables.utils","httpService":"./util/variable/variables.utils","metadataService":"./util/variable/variables.utils","navigationService":"./util/variable/variables.utils","routerService":"./util/variable/variables.utils","toasterService":"./util/variable/variables.utils","oauthService":"./util/variable/variables.utils","securityService":"./util/variable/variables.utils","dialogService":"./util/variable/variables.utils","setDependency":"./util/variable/variables.utils","initiateCallback":"./util/variable/variables.utils","processBinding":"./util/variable/variables.utils","simulateFileDownload":"./util/variable/variables.utils","setInput":"./util/variable/variables.utils","isFileUploadSupported":"./util/variable/variables.utils","getEvaluatedOrderBy":"./util/variable/variables.utils","formatExportExpression":"./util/variable/variables.utils","debounceVariableCall":"./util/variable/variables.utils","formatDate":"./util/variable/variables.utils","toastrModule":"./variables.module","VariablesModule":"./variables.module","ɵa":"./manager/variable/base-variable.manager","ɵb":"./manager/action/base-action.manager","ɵc":"./manager/action/navigation-action.manager","ɵd":"./manager/action/notification-action.manager","ɵe":"./manager/action/login-action.manager","ɵf":"./manager/action/logout-action.manager","ɵg":"./manager/variable/web-socket-variable.manager"},"importAs":"@wm/variables"}
@@ -3,6 +3,10 @@ import { AbstractDialogService, AbstractHttpService, AbstractNavigationService,
3
3
  import { OAuthService } from '@wm/oAuth';
4
4
  import { SecurityService } from '@wm/security';
5
5
  import { MetadataService } from './metadata-service/metadata.service';
6
+ import { DateFormatter } from '@wavemaker/variables';
7
+ export declare class Formatter implements DateFormatter {
8
+ format(value: any, format: any): any;
9
+ }
6
10
  export declare class VariablesService {
7
11
  private httpService;
8
12
  private metadataService;
@@ -1,310 +0,0 @@
1
- import { Attribute, Directive, Injector } from '@angular/core';
2
- import { $appDigest, $parseEvent, $parseExpr, getClonedObject } from '@wm/core';
3
- import { APPLY_STYLES_TYPE, getEvaluatedData, getOrderedDataset, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';
4
- import { registerProps } from './tree.props';
5
- const defaultTreeIconClass = 'plus-minus';
6
- const ICON_CLASSES = {
7
- 'folder': {
8
- 'expanded': 'wi-folder-open',
9
- 'collapsed': 'wi-folder'
10
- },
11
- 'circle-plus-minus': {
12
- 'expanded': 'wi-remove-circle-outline',
13
- 'collapsed': 'wi-add-circle-outline'
14
- },
15
- 'chevron': {
16
- 'expanded': 'wi-keyboard-arrow-down',
17
- 'collapsed': 'wi-keyboard-arrow-right'
18
- },
19
- 'menu': {
20
- 'expanded': 'wi-arrow-down',
21
- 'collapsed': 'wi-arrow-right'
22
- },
23
- 'triangle': {
24
- 'expanded': 'wi-arrow-drop-down-circle',
25
- 'collapsed': 'wi-play-circle-filled'
26
- },
27
- 'expand-collapse': {
28
- 'expanded': 'wi-expand-less',
29
- 'collapsed': 'wi-expand-more'
30
- },
31
- 'plus-minus': {
32
- 'expanded': 'wi-minus',
33
- 'collapsed': 'wi-plus'
34
- }
35
- };
36
- const WIDGET_INFO = { widgetType: 'wm-tree', hostClass: 'app-tree' };
37
- export class TreeDirective extends StylableComponent {
38
- constructor(inj, binddatavalue, bindnodelabel, bindnodeicon, bindnodechildren, bindnodeid) {
39
- super(inj, WIDGET_INFO);
40
- this.binddatavalue = binddatavalue;
41
- this.bindnodelabel = bindnodelabel;
42
- this.bindnodeicon = bindnodeicon;
43
- this.bindnodechildren = bindnodechildren;
44
- this.bindnodeid = bindnodeid;
45
- styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);
46
- this.bindEvents();
47
- }
48
- onPropertyChange(key, nv, ov) {
49
- switch (key) {
50
- case 'dataset':
51
- this.nodes = this.getNodes(nv);
52
- this._selectNode = undefined;
53
- this.renderTree();
54
- break;
55
- case 'nodeicon':
56
- case 'nodelabel':
57
- case 'nodechildren':
58
- case 'orderby':
59
- this.renderTree();
60
- break;
61
- case 'treeicons':
62
- this.changeTreeIcons(nv, ov);
63
- break;
64
- case 'datavalue':
65
- this.selectById(nv);
66
- break;
67
- default:
68
- super.onPropertyChange(key, nv, ov);
69
- }
70
- }
71
- constructNodes(nodes, parent, levels, deep, _evalDataValue) {
72
- const $ul = $('<ul></ul>');
73
- const _iconClses = ICON_CLASSES[this.treeicons || defaultTreeIconClass];
74
- const _expr = (this.binddatavalue || this.datavalue);
75
- let _iconCls, _cls;
76
- _cls = levels > 0 ? ' expanded ' : ' collapsed ';
77
- _iconCls = _cls + (levels > 0 ? _iconClses.expanded : _iconClses.collapsed);
78
- deep = deep || 0;
79
- parent.append($ul);
80
- nodes.forEach((node, idx) => {
81
- const $li = $('<li></li>'), $iconNode = $('<i></i>'), nodeLabel = getEvaluatedData(node, { field: this.nodelabel, bindExpression: this.bindnodelabel }, this.viewParent) || node.label, nodeIcon = getEvaluatedData(node, { field: this.nodeicon, bindExpression: this.bindnodeicon }, this.viewParent) || node.icon, nodeChildren = getEvaluatedData(node, { field: this.nodechildren, bindExpression: this.bindnodechildren }, this.viewParent) || node.children;
82
- let nodeIdValue = getEvaluatedData(node, { field: this.nodeid, bindExpression: this.bindnodeid }, this.viewParent);
83
- if (nodeIdValue === undefined) {
84
- nodeIdValue = node.children;
85
- }
86
- let isNodeMatched = false, expandCollapseIcon;
87
- $li.data('nodedata', node)
88
- .append($iconNode)
89
- .append(`<span class="title">${nodeLabel}</span>`)
90
- .appendTo($ul);
91
- // if datavalue(ie, expr) is provided select the tree node accordingly
92
- // if datavalue === 'FirstNode' -- select the FirstNode at level 0
93
- // if datavalue === 'LastNode' -- select the LastNode at level 0
94
- // if datavalue is a bind expression evaluate the expression for each node of the tree till the condition is satisfied.
95
- // if node identifier is present then verify the datavalue is bound expr or static value and compare with the node model
96
- if (this.bindnodeid || this.nodeid) {
97
- isNodeMatched = this.binddatavalue ? nodeIdValue === _evalDataValue : nodeIdValue === _expr;
98
- if (nodeIdValue !== undefined) {
99
- $li.attr('id', nodeIdValue);
100
- }
101
- }
102
- else if (this.binddatavalue) { // evaluate the expression only if it is bound (useExpression)
103
- isNodeMatched = !!$parseExpr(_expr)(this, node);
104
- }
105
- // Perform LastNode check only at level 0.(ie, deep = 0);
106
- if (!this._selectNode) {
107
- if ((_expr === 'FirstNode' && idx === 0)
108
- || (!deep && _expr === 'LastNode' && idx === nodes.length - 1)
109
- || isNodeMatched) {
110
- // save a reference of the node to be selected in `_selectNode`
111
- this._selectNode = $li;
112
- this.datavalue = nodeIdValue;
113
- }
114
- }
115
- if (nodeIcon) {
116
- $iconNode.addClass(nodeIcon);
117
- }
118
- if (nodeChildren && nodeChildren.length) { // parent node
119
- $li.addClass(`parent-node ${_cls}`);
120
- expandCollapseIcon = $(`<i class="wi ${_iconCls}"></i>`);
121
- if (nodeIcon) {
122
- $iconNode.addClass(nodeIcon);
123
- }
124
- $li.prepend(expandCollapseIcon);
125
- this.constructNodes(nodeChildren, $li, levels - 1, deep + 1, _evalDataValue);
126
- }
127
- else {
128
- if (!nodeIcon) {
129
- $iconNode.addClass('leaf-node');
130
- }
131
- $li.addClass('leaf-node');
132
- }
133
- });
134
- }
135
- getNodesFromString(value) {
136
- return value.split(',').map((item) => {
137
- return {
138
- 'label': item && item.trim()
139
- };
140
- });
141
- }
142
- getNodes(newVal) {
143
- let nodes;
144
- if (_.isString(newVal) && !_.isEmpty(newVal)) {
145
- newVal = newVal.trim();
146
- if (newVal) {
147
- nodes = this.getNodesFromString(newVal);
148
- }
149
- }
150
- else if (_.isArray(newVal)) {
151
- newVal = getOrderedDataset(newVal, this.orderby);
152
- nodes = newVal;
153
- }
154
- else if (_.isObject(newVal)) {
155
- nodes = [newVal];
156
- }
157
- return nodes;
158
- }
159
- changeTreeIcons(nv, ov) {
160
- const $el = $(this.nativeElement);
161
- nv = nv || defaultTreeIconClass;
162
- ov = ov || defaultTreeIconClass;
163
- $el.find('i.expanded').removeClass(ICON_CLASSES[ov].expanded).addClass(ICON_CLASSES[nv].expanded);
164
- $el.find('i.collapsed').removeClass(ICON_CLASSES[ov].collapsed).addClass(ICON_CLASSES[nv].collapsed);
165
- }
166
- toggleExpandCollapseNode($event, $i, $li) {
167
- const treeIcons = ICON_CLASSES[this.treeicons || defaultTreeIconClass];
168
- const $liPath = this.findSelectedNodeParent($li);
169
- let path = '';
170
- // construct the path of the node
171
- $liPath
172
- .each((i, el) => {
173
- const current = $(el).children('.title').text();
174
- path = `/${current + path}`;
175
- });
176
- const eventParams = {
177
- '$event': $event,
178
- "$item": $li.data('nodedata'),
179
- "$path": path
180
- };
181
- if ($i.hasClass('collapsed')) {
182
- $i.removeClass(`collapsed ${treeIcons.collapsed}`).addClass(`expanded ${treeIcons.expanded}`);
183
- $li.removeClass('collapsed').addClass('expanded');
184
- this.invokeEventCallback('expand', eventParams);
185
- }
186
- else if ($i.hasClass('expanded')) {
187
- $i.removeClass(`expanded ${treeIcons.expanded}`).addClass(`collapsed ${treeIcons.collapsed}`);
188
- $li.removeClass('expanded').addClass('collapsed');
189
- this.invokeEventCallback('collapse', eventParams);
190
- }
191
- }
192
- renderTree(forceRender) {
193
- let docFrag, $li, $liPath, data, path = '';
194
- const levels = +this.nativeElement.getAttribute('levels') || 0, $el = $(this.nativeElement);
195
- $el.empty();
196
- if (forceRender) {
197
- this._selectNode = undefined;
198
- }
199
- if (this.nodes && this.nodes.length) {
200
- docFrag = document.createDocumentFragment();
201
- this.constructNodes(this.nodes, $(docFrag), levels, 0, this.datavalue);
202
- $el.append(docFrag);
203
- }
204
- if (this._selectNode) {
205
- $li = this._selectNode;
206
- $li.addClass('selected');
207
- data = $li.data('nodedata');
208
- $liPath = this.findSelectedNodeParent($li);
209
- if (!$liPath.length) {
210
- $liPath = $li;
211
- }
212
- $liPath
213
- .each((i, el) => {
214
- const $current = $(el), $i = $current.children('i.collapsed'), $title = $current.children('.title');
215
- this.toggleExpandCollapseNode(undefined, $i, $current);
216
- path = `/${$title.text() + path}`;
217
- });
218
- this.selecteditem = getClonedObject(data) || {};
219
- this.selecteditem.path = path;
220
- this.invokeEventCallback('select', { $event: undefined, $item: data, $path: path });
221
- $appDigest();
222
- }
223
- }
224
- selectNode(evt, value) {
225
- const target = evt && $(evt.target), $el = $(this.nativeElement), $li = _.isObject(value) ? value : $el.find(`li[id="${value}"]`).first();
226
- let data, path = '', $liPath, nodeAction;
227
- $el.find('.selected').removeClass('selected');
228
- if (!$li.length) {
229
- return;
230
- }
231
- $li.addClass('selected');
232
- data = $li.data('nodedata');
233
- nodeAction = data[this.nodeaction || 'action'];
234
- // if the selectNode is initiated by click event then use the nativeElement target from event
235
- $liPath = target ? target.parents('.app-tree li') : this.findSelectedNodeParent($li);
236
- // construct the path of the node
237
- $liPath
238
- .each((i, el) => {
239
- const current = $(el).children('.title').text();
240
- path = `/${current + path}`;
241
- });
242
- // expand the current node till the viewParent level which is collapsed
243
- $li.parentsUntil($el, 'li.parent-node.collapsed')
244
- .each((index, el) => {
245
- const $current = $(el), $i = $current.children('i.collapsed');
246
- this.toggleExpandCollapseNode(undefined, $i, $current);
247
- });
248
- this.selecteditem = getClonedObject(data) || {};
249
- this.selecteditem.path = path;
250
- if (target) {
251
- if (this.nodeid || this.bindnodeid) {
252
- this.datavalue = getEvaluatedData(data, { field: this.nodeid, bindExpression: this.bindnodeid }, this.viewParent);
253
- }
254
- else {
255
- this.datavalue = getClonedObject(data) || {};
256
- }
257
- }
258
- else {
259
- this.datavalue = value;
260
- }
261
- //[Todo-CSP]: this data will be dynamic, can not generate function upfront
262
- if (nodeAction) {
263
- $parseEvent(nodeAction)(this);
264
- }
265
- this.invokeEventCallback('select', { $event: evt, $item: data, $path: path });
266
- $appDigest();
267
- }
268
- // click event is added on the host nativeElement
269
- bindEvents() {
270
- $(this.nativeElement).on('click', (evt) => {
271
- const target = $(evt.target), li = target.closest('li'), $i = target.is('i') ? target : target.siblings('i.collapsed,i.expanded');
272
- evt.stopPropagation();
273
- if (target.is('span.title')) { // select the node only if it is nodelabel
274
- this.selecteditem = {};
275
- this.selectNode(evt, li);
276
- }
277
- if (target.is('i') || (target.is('span.title') && this.nodeclick === 'expand')) {
278
- this.toggleExpandCollapseNode(evt, $i, li);
279
- }
280
- });
281
- }
282
- findSelectedNodeParent($li) {
283
- return $li.find('> span.title').parents('.app-tree li');
284
- }
285
- selectById(value) {
286
- this.selectNode(undefined, value);
287
- }
288
- deselectById(value) {
289
- this.selecteditem = {};
290
- this.selectById();
291
- }
292
- }
293
- TreeDirective.initializeProps = registerProps();
294
- TreeDirective.decorators = [
295
- { type: Directive, args: [{
296
- selector: 'div[wmTree]',
297
- providers: [
298
- provideAsWidgetRef(TreeDirective)
299
- ]
300
- },] }
301
- ];
302
- TreeDirective.ctorParameters = () => [
303
- { type: Injector },
304
- { type: undefined, decorators: [{ type: Attribute, args: ['datavalue.bind',] }] },
305
- { type: undefined, decorators: [{ type: Attribute, args: ['nodelabel.bind',] }] },
306
- { type: undefined, decorators: [{ type: Attribute, args: ['nodeicon.bind',] }] },
307
- { type: undefined, decorators: [{ type: Attribute, args: ['nodechildren.bind',] }] },
308
- { type: undefined, decorators: [{ type: Attribute, args: ['nodeid.bind',] }] }
309
- ];
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvYmFzaWMvdHJlZS9zcmMvdHJlZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDMUMsTUFBTSxZQUFZLEdBQUc7SUFDakIsUUFBUSxFQUFFO1FBQ04sVUFBVSxFQUFHLGdCQUFnQjtRQUM3QixXQUFXLEVBQUUsV0FBVztLQUMzQjtJQUNELG1CQUFtQixFQUFFO1FBQ2pCLFVBQVUsRUFBRywwQkFBMEI7UUFDdkMsV0FBVyxFQUFFLHVCQUF1QjtLQUN2QztJQUNELFNBQVMsRUFBRTtRQUNQLFVBQVUsRUFBRyx3QkFBd0I7UUFDckMsV0FBVyxFQUFFLHlCQUF5QjtLQUN6QztJQUNELE1BQU0sRUFBRTtRQUNKLFVBQVUsRUFBRyxlQUFlO1FBQzVCLFdBQVcsRUFBRSxnQkFBZ0I7S0FDaEM7SUFDRCxVQUFVLEVBQUU7UUFDUixVQUFVLEVBQUcsMkJBQTJCO1FBQ3hDLFdBQVcsRUFBRSx1QkFBdUI7S0FDdkM7SUFDRCxpQkFBaUIsRUFBRTtRQUNmLFVBQVUsRUFBRyxnQkFBZ0I7UUFDN0IsV0FBVyxFQUFFLGdCQUFnQjtLQUNoQztJQUNE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Z0JBQWdCOzRDQUMxQixTQUFTLFNBQUMsZUFBZTs0Q0FDekIsU0FBUyxTQUFDLG1CQUFtQjs0Q0FDN0IsU0FBUyxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIERpcmVjdGl2ZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgJGFwcERpZ2VzdCwgJHBhcnNlRXZlbnQsICRwYXJzZUV4cHIsIGdldENsb25lZE9iamVjdCB9IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgQVBQTFlfU1RZTEVTX1RZUEUsIGdldEV2YWx1YXRlZERhdGEsIGdldE9yZGVyZWREYXRhc2V0LCBwcm92aWRlQXNXaWRnZXRSZWYsIFN0eWxhYmxlQ29tcG9uZW50LCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3RyZWUucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5jb25zdCBkZWZhdWx0VHJlZUljb25DbGFzcyA9ICdwbHVzLW1pbnVzJztcbmNvbnN0IElDT05fQ0xBU1NFUyA9IHtcbiAgICAnZm9sZGVyJzoge1xuICAgICAgICAnZXhwYW5kZWQnIDogJ3dpLWZvbGRlci1vcGVuJyxcbiAgICAgICAgJ2NvbGxhcHNlZCc6ICd3aS1mb2xkZXInXG4gICAgfSxcbiAgICAnY2lyY2xlLXBsdXMtbWludXMnOiB7XG4gICAgICAgICdleHBhbmRlZCcgOiAnd2ktcmVtb3ZlLWNpcmNsZS1vdXRsaW5lJyxcbiAgICAgICAgJ2NvbGxhcHNlZCc6ICd3aS1hZGQtY2lyY2xlLW91dGxpbmUnXG4gICAgfSxcbiAgICAnY2hldnJvbic6IHtcbiAgICAgICAgJ2V4cGFuZGVkJyA6ICd3aS1rZXlib2FyZC1hcnJvdy1kb3duJyxcbiAgICAgICAgJ2NvbGxhcHNlZCc6ICd3aS1rZXlib2FyZC1hcnJvdy1yaWdodCdcbiAgICB9LFxuICAgICdtZW51Jzoge1xuICAgICAgICAnZXhwYW5kZWQnIDogJ3dpLWFycm93LWRvd24nLFxuICAgICAgICAnY29sbGFwc2VkJzogJ3dpLWFycm93LXJpZ2h0J1xuICAgIH0sXG4gICAgJ3RyaWFuZ2xlJzoge1xuICAgICAgICAnZXhwYW5kZWQnIDogJ3dpLWFycm93LWRyb3AtZG93bi1jaXJjbGUnLFxuICAgICAgICAnY29sbGFwc2VkJzogJ3dpLXBsYXktY2lyY2xlLWZpbGxlZCdcbiAgICB9LFxuICAgICdleHBhbmQtY29sbGFwc2UnOiB7XG4gICAgICAgICdleHBhbmRlZCcgOiAnd2ktZXhwYW5kLWxlc3MnLFxuICAgICAgICAnY29sbGFwc2VkJzogJ3dpLWV4cGFuZC1tb3JlJ1xuICAgIH0sXG4gICAgJ3BsdXMtbWludXMnOiB7XG4gICAgICAgICdleHBhbmRlZCcgOiAnd2ktbWludXMnLFxuICAgICAgICAnY29sbGFwc2VkJzogJ3dpLXBsdXMnXG4gICAgfVxufTtcblxuY29uc3QgV0lER0VUX0lORk8gPSB7d2lkZ2V0VHlwZTogJ3dtLXRyZWUnLCBob3N0Q2xhc3M6ICdhcHAtdHJlZSd9O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Rpdlt3bVRyZWVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFRyZWVEaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlRGlyZWN0aXZlIGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwcml2YXRlIF9zZWxlY3ROb2RlOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIG5vZGVzOiBBcnJheTxhbnk+O1xuXG4gICAgcHVibGljIGRhdGF2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0cmVlaWNvbnM6IHN0cmluZztcbiAgICBwdWJsaWMgc2VsZWN0ZWRpdGVtOiBhbnk7XG4gICAgcHVibGljIG5vZGVpZDogc3RyaW5nO1xuICAgIHB1YmxpYyBub2RlYWN0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIG5vZGVjbGljazogc3RyaW5nO1xuICAgIHB1YmxpYyBub2RlbGFiZWw6IHN0cmluZztcbiAgICBwdWJsaWMgbm9kZWljb246IHN0cmluZztcbiAgICBwdWJsaWMgbm9kZWNoaWxkcmVuOiBzdHJpbmc7XG4gICAgcHVibGljIG9yZGVyYnk6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBAQXR0cmlidXRlKCdkYXRhdmFsdWUuYmluZCcpIHByaXZhdGUgYmluZGRhdGF2YWx1ZSxcbiAgICAgICAgQEF0dHJpYnV0ZSgnbm9kZWxhYmVsLmJpbmQnKSBwcml2YXRlIGJpbmRub2RlbGFiZWwsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ25vZGVpY29uLmJpbmQnKSBwcml2YXRlIGJpbmRub2RlaWNvbixcbiAgICAgICAgQEF0dHJpYnV0ZSgnbm9kZWNoaWxkcmVuLmJpbmQnKSBwcml2YXRlIGJpbmRub2RlY2hpbGRyZW4sXG4gICAgICAgIEBBdHRyaWJ1dGUoJ25vZGVpZC5iaW5kJykgcHJpdmF0ZSBiaW5kbm9kZWlkXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0lORk8pO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuICAgICAgICB0aGlzLmJpbmRFdmVudHMoKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSAnZGF0YXNldCc6XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlcyA9IHRoaXMuZ2V0Tm9kZXMobnYpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUcmVlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdub2RlaWNvbic6XG4gICAgICAgICAgICBjYXNlICdub2RlbGFiZWwnOlxuICAgICAgICAgICAgY2FzZSAnbm9kZWNoaWxkcmVuJzpcbiAgICAgICAgICAgIGNhc2UgJ29yZGVyYnknOlxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyVHJlZSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndHJlZWljb25zJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVRyZWVJY29ucyhudiwgb3YpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGF0YXZhbHVlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEJ5SWQobnYpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29uc3RydWN0Tm9kZXMobm9kZXMsIHBhcmVudCwgbGV2ZWxzLCBkZWVwLCBfZXZhbERhdGFWYWx1ZSkge1xuXG4gICAgICAgIGNvbnN0ICR1bCA9ICQoJzx1bD48L3VsPicpO1xuICAgICAgICBjb25zdCBfaWNvbkNsc2VzID0gSUNPTl9DTEFTU0VTW3RoaXMudHJlZWljb25zIHx8IGRlZmF1bHRUcmVlSWNvbkNsYXNzXTtcbiAgICAgICAgY29uc3QgX2V4cHIgPSAodGhpcy5iaW5kZGF0YXZhbHVlIHx8IHRoaXMuZGF0YXZhbHVlKTtcblxuICAgICAgICBsZXQgX2ljb25DbHMsIF9jbHM7XG5cbiAgICAgICAgX2NscyAgICAgPSBsZXZlbHMgPiAwID8gJyBleHBhbmRlZCAnIDogJyBjb2xsYXBzZWQgJztcbiAgICAgICAgX2ljb25DbHMgPSBfY2xzICsgKGxldmVscyA+IDAgPyBfaWNvbkNsc2VzLmV4cGFuZGVkIDogX2ljb25DbHNlcy5jb2xsYXBzZWQpO1xuXG4gICAgICAgIGRlZXAgPSBkZWVwIHx8IDA7XG5cbiAgICAgICAgcGFyZW50LmFwcGVuZCgkdWwpO1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChub2RlLCBpZHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0ICRsaSA9ICQoJzxsaT48L2xpPicpLFxuICAgICAgICAgICAgICAgICRpY29uTm9kZSA9ICQoJzxpPjwvaT4nKSxcbiAgICAgICAgICAgICAgICBub2RlTGFiZWwgPSBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtmaWVsZDogdGhpcy5ub2RlbGFiZWwsIGJpbmRFeHByZXNzaW9uOiB0aGlzLmJpbmRub2RlbGFiZWx9LCB0aGlzLnZpZXdQYXJlbnQpIHx8IG5vZGUubGFiZWwsXG4gICAgICAgICAgICAgICAgbm9kZUljb24gPSBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtmaWVsZDogdGhpcy5ub2RlaWNvbiwgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZG5vZGVpY29ufSwgdGhpcy52aWV3UGFyZW50KSB8fCBub2RlLmljb24sXG4gICAgICAgICAgICAgICAgbm9kZUNoaWxkcmVuID0gZ2V0RXZhbHVhdGVkRGF0YShub2RlLCB7ZmllbGQ6IHRoaXMubm9kZWNoaWxkcmVuLCBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kbm9kZWNoaWxkcmVufSwgdGhpcy52aWV3UGFyZW50KSB8fCBub2RlLmNoaWxkcmVuO1xuICAgICAgICAgICAgbGV0IG5vZGVJZFZhbHVlID0gZ2V0RXZhbHVhdGVkRGF0YShub2RlLCB7ZmllbGQ6IHRoaXMubm9kZWlkLCBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kbm9kZWlkfSwgdGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgICAgIGlmIChub2RlSWRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbm9kZUlkVmFsdWUgPSBub2RlLmNoaWxkcmVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgaXNOb2RlTWF0Y2hlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGV4cGFuZENvbGxhcHNlSWNvbjtcblxuICAgICAgICAgICAgJGxpLmRhdGEoJ25vZGVkYXRhJywgbm9kZSlcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCRpY29uTm9kZSlcbiAgICAgICAgICAgICAgICAuYXBwZW5kKGA8c3BhbiBjbGFzcz1cInRpdGxlXCI+JHtub2RlTGFiZWx9PC9zcGFuPmApXG4gICAgICAgICAgICAgICAgLmFwcGVuZFRvKCR1bCk7XG5cblxuICAgICAgICAgICAgLy8gaWYgZGF0YXZhbHVlKGllLCBleHByKSBpcyBwcm92aWRlZCBzZWxlY3QgdGhlIHRyZWUgbm9kZSBhY2NvcmRpbmdseVxuICAgICAgICAgICAgLy8gaWYgZGF0YXZhbHVlID09PSAnRmlyc3ROb2RlJyAtLSBzZWxlY3QgdGhlIEZpcnN0Tm9kZSBhdCBsZXZlbCAwXG4gICAgICAgICAgICAvLyBpZiBkYXRhdmFsdWUgPT09ICdMYXN0Tm9kZScgLS0gc2VsZWN0IHRoZSBMYXN0Tm9kZSBhdCBsZXZlbCAwXG4gICAgICAgICAgICAvLyBpZiBkYXRhdmFsdWUgaXMgYSBiaW5kIGV4cHJlc3Npb24gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gZm9yIGVhY2ggbm9kZSBvZiB0aGUgdHJlZSB0aWxsIHRoZSBjb25kaXRpb24gaXMgc2F0aXNmaWVkLlxuXG4gICAgICAgICAgICAvLyBpZiBub2RlIGlkZW50aWZpZXIgaXMgcHJlc2VudCB0aGVuIHZlcmlmeSB0aGUgZGF0YXZhbHVlIGlzIGJvdW5kIGV4cHIgb3Igc3RhdGljIHZhbHVlIGFuZCBjb21wYXJlIHdpdGggdGhlIG5vZGUgbW9kZWxcbiAgICAgICAgICAgIGlmICh0aGlzLmJpbmRub2RlaWQgfHwgdGhpcy5ub2RlaWQpIHtcbiAgICAgICAgICAgICAgICBpc05vZGVNYXRjaGVkID0gdGhpcy5iaW5kZGF0YXZhbHVlID8gbm9kZUlkVmFsdWUgPT09IF9ldmFsRGF0YVZhbHVlIDogbm9kZUlkVmFsdWUgPT09IF9leHByO1xuICAgICAgICAgICAgICAgIGlmIChub2RlSWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICRsaS5hdHRyKCdpZCcsIG5vZGVJZFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYmluZGRhdGF2YWx1ZSkgeyAvLyBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBvbmx5IGlmIGl0IGlzIGJvdW5kICh1c2VFeHByZXNzaW9uKVxuICAgICAgICAgICAgICAgIGlzTm9kZU1hdGNoZWQgPSAhISRwYXJzZUV4cHIoX2V4cHIpKHRoaXMsIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gUGVyZm9ybSBMYXN0Tm9kZSBjaGVjayBvbmx5IGF0IGxldmVsIDAuKGllLCBkZWVwID0gMCk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdE5vZGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoKF9leHByID09PSAnRmlyc3ROb2RlJyAmJiBpZHggPT09IDApXG4gICAgICAgICAgICAgICAgICAgIHx8ICghZGVlcCAmJiBfZXhwciA9PT0gJ0xhc3ROb2RlJyAmJiBpZHggPT09IG5vZGVzLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgIHx8IGlzTm9kZU1hdGNoZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2F2ZSBhIHJlZmVyZW5jZSBvZiB0aGUgbm9kZSB0byBiZSBzZWxlY3RlZCBpbiBgX3NlbGVjdE5vZGVgXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdE5vZGUgPSAkbGk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlICAgPSBub2RlSWRWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChub2RlSWNvbikge1xuICAgICAgICAgICAgICAgICRpY29uTm9kZS5hZGRDbGFzcyhub2RlSWNvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChub2RlQ2hpbGRyZW4gJiYgbm9kZUNoaWxkcmVuLmxlbmd0aCkgeyAvLyBwYXJlbnQgbm9kZVxuICAgICAgICAgICAgICAgICRsaS5hZGRDbGFzcyhgcGFyZW50LW5vZGUgJHtfY2xzfWApO1xuICAgICAgICAgICAgICAgIGV4cGFuZENvbGxhcHNlSWNvbiA9ICQoYDxpIGNsYXNzPVwid2kgJHtfaWNvbkNsc31cIj48L2k+YCk7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGVJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICRpY29uTm9kZS5hZGRDbGFzcyhub2RlSWNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRsaS5wcmVwZW5kKGV4cGFuZENvbGxhcHNlSWNvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3ROb2Rlcyhub2RlQ2hpbGRyZW4sICRsaSwgbGV2ZWxzIC0gMSwgZGVlcCArIDEsIF9ldmFsRGF0YVZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCFub2RlSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAkaWNvbk5vZGUuYWRkQ2xhc3MoJ2xlYWYtbm9kZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkbGkuYWRkQ2xhc3MoJ2xlYWYtbm9kZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5vZGVzRnJvbVN0cmluZyh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgJ2xhYmVsJzogaXRlbSAmJiBpdGVtLnRyaW0oKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb2RlcyhuZXdWYWwpIHtcbiAgICAgICAgbGV0IG5vZGVzO1xuICAgICAgICBpZiAoXy5pc1N0cmluZyhuZXdWYWwpICYmICFfLmlzRW1wdHkobmV3VmFsKSkge1xuICAgICAgICAgICAgbmV3VmFsID0gbmV3VmFsLnRyaW0oKTtcbiAgICAgICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgICAgICBub2RlcyA9IHRoaXMuZ2V0Tm9kZXNGcm9tU3RyaW5nKG5ld1ZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXy5pc0FycmF5KG5ld1ZhbCkpIHtcbiAgICAgICAgICAgIG5ld1ZhbCA9IGdldE9yZGVyZWREYXRhc2V0KG5ld1ZhbCwgdGhpcy5vcmRlcmJ5KTtcbiAgICAgICAgICAgIG5vZGVzID0gbmV3VmFsO1xuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QobmV3VmFsKSkge1xuICAgICAgICAgICAgbm9kZXMgPSBbbmV3VmFsXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VUcmVlSWNvbnMobnYsIG92KSB7XG4gICAgICAgIGNvbnN0ICRlbCA9ICQodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgbnYgPSBudiB8fCBkZWZhdWx0VHJlZUljb25DbGFzcztcbiAgICAgICAgb3YgPSBvdiB8fCBkZWZhdWx0VHJlZUljb25DbGFzcztcbiAgICAgICAgJGVsLmZpbmQoJ2kuZXhwYW5kZWQnKS5yZW1vdmVDbGFzcyhJQ09OX0NMQVNTRVNbb3ZdLmV4cGFuZGVkKS5hZGRDbGFzcyhJQ09OX0NMQVNTRVNbbnZdLmV4cGFuZGVkKTtcbiAgICAgICAgJGVsLmZpbmQoJ2kuY29sbGFwc2VkJykucmVtb3ZlQ2xhc3MoSUNPTl9DTEFTU0VTW292XS5jb2xsYXBzZWQpLmFkZENsYXNzKElDT05fQ0xBU1NFU1tudl0uY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZUV4cGFuZENvbGxhcHNlTm9kZSgkZXZlbnQsICRpLCAkbGkpIHtcbiAgICAgICAgY29uc3QgdHJlZUljb25zID0gSUNPTl9DTEFTU0VTW3RoaXMudHJlZWljb25zIHx8IGRlZmF1bHRUcmVlSWNvbkNsYXNzXTtcbiAgICAgICAgY29uc3QgICRsaVBhdGggPSAgdGhpcy5maW5kU2VsZWN0ZWROb2RlUGFyZW50KCRsaSk7XG4gICAgICAgIGxldCBwYXRoID0gJyc7XG5cbiAgICAgICAgLy8gY29uc3RydWN0IHRoZSBwYXRoIG9mIHRoZSBub2RlXG4gICAgICAgICRsaVBhdGhcbiAgICAgICAgICAgIC5lYWNoKChpLCBlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSAkKGVsKS5jaGlsZHJlbignLnRpdGxlJykudGV4dCgpO1xuICAgICAgICAgICAgICAgIHBhdGggPSBgLyR7Y3VycmVudCArIHBhdGh9YDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICBjb25zdCAgZXZlbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgJyRldmVudCcgIDogJGV2ZW50LFxuICAgICAgICAgICAgICAgIFwiJGl0ZW1cIiAgIDogICRsaS5kYXRhKCdub2RlZGF0YScpLFxuICAgICAgICAgICAgICAgIFwiJHBhdGhcIiA6IHBhdGhcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgaWYgKCRpLmhhc0NsYXNzKCdjb2xsYXBzZWQnKSkge1xuICAgICAgICAgICAgJGkucmVtb3ZlQ2xhc3MoYGNvbGxhcHNlZCAke3RyZWVJY29ucy5jb2xsYXBzZWR9YCkuYWRkQ2xhc3MoYGV4cGFuZGVkICR7dHJlZUljb25zLmV4cGFuZGVkfWApO1xuICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKCdjb2xsYXBzZWQnKS5hZGRDbGFzcygnZXhwYW5kZWQnKTtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnZXhwYW5kJywgZXZlbnRQYXJhbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKCRpLmhhc0NsYXNzKCdleHBhbmRlZCcpKSB7XG4gICAgICAgICAgICAkaS5yZW1vdmVDbGFzcyhgZXhwYW5kZWQgJHt0cmVlSWNvbnMuZXhwYW5kZWR9YCkuYWRkQ2xhc3MoYGNvbGxhcHNlZCAke3RyZWVJY29ucy5jb2xsYXBzZWR9YCk7XG4gICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoJ2V4cGFuZGVkJykuYWRkQ2xhc3MoJ2NvbGxhcHNlZCcpO1xuICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdjb2xsYXBzZScsIGV2ZW50UGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyVHJlZShmb3JjZVJlbmRlcj8pIHtcbiAgICAgICAgbGV0IGRvY0ZyYWcsXG4gICAgICAgICAgICAkbGksXG4gICAgICAgICAgICAkbGlQYXRoLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgY29uc3QgbGV2ZWxzID0gK3RoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xldmVscycpIHx8IDAsXG4gICAgICAgICAgICAkZWwgPSAkKHRoaXMubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgJGVsLmVtcHR5KCk7XG5cbiAgICAgICAgaWYgKGZvcmNlUmVuZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3ROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubm9kZXMgJiYgdGhpcy5ub2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGRvY0ZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdE5vZGVzKHRoaXMubm9kZXMsICQoZG9jRnJhZyksIGxldmVscywgMCwgdGhpcy5kYXRhdmFsdWUpO1xuICAgICAgICAgICAgJGVsLmFwcGVuZChkb2NGcmFnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3ROb2RlKSB7XG4gICAgICAgICAgICAkbGkgPSB0aGlzLl9zZWxlY3ROb2RlO1xuICAgICAgICAgICAgJGxpLmFkZENsYXNzKCdzZWxlY3RlZCcpO1xuICAgICAgICAgICAgZGF0YSAgICA9ICRsaS5kYXRhKCdub2RlZGF0YScpO1xuICAgICAgICAgICAgJGxpUGF0aCA9IHRoaXMuZmluZFNlbGVjdGVkTm9kZVBhcmVudCgkbGkpO1xuXG4gICAgICAgICAgICBpZiAoISRsaVBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJGxpUGF0aCA9ICRsaTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGxpUGF0aFxuICAgICAgICAgICAgICAgIC5lYWNoKChpLCBlbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkY3VycmVudCA9ICQoZWwpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGkgICAgICAgPSAkY3VycmVudC5jaGlsZHJlbignaS5jb2xsYXBzZWQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICR0aXRsZSAgID0gJGN1cnJlbnQuY2hpbGRyZW4oJy50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZENvbGxhcHNlTm9kZSh1bmRlZmluZWQsICRpLCAkY3VycmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IGAvJHskdGl0bGUudGV4dCgpICsgcGF0aH1gO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkaXRlbSA9IGdldENsb25lZE9iamVjdChkYXRhKSB8fCB7fTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRpdGVtLnBhdGggPSBwYXRoO1xuXG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3NlbGVjdCcsIHskZXZlbnQ6IHVuZGVmaW5lZCwgJGl0ZW06IGRhdGEsICRwYXRoOiBwYXRofSk7XG4gICAgICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdE5vZGUoZXZ0LCB2YWx1ZSkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldnQgJiYgJChldnQudGFyZ2V0KSxcbiAgICAgICAgICAgICRlbCA9ICQodGhpcy5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICRsaSA9IF8uaXNPYmplY3QodmFsdWUpID8gdmFsdWUgOiAkZWwuZmluZChgbGlbaWQ9XCIke3ZhbHVlfVwiXWApLmZpcnN0KCk7XG4gICAgICAgIGxldCBkYXRhLFxuICAgICAgICAgICAgcGF0aCA9ICcnLFxuICAgICAgICAgICAgJGxpUGF0aCxcbiAgICAgICAgICAgIG5vZGVBY3Rpb247XG4gICAgICAgICRlbC5maW5kKCcuc2VsZWN0ZWQnKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQnKTtcbiAgICAgICAgaWYgKCEkbGkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgJGxpLmFkZENsYXNzKCdzZWxlY3RlZCcpO1xuICAgICAgICBkYXRhID0gJGxpLmRhdGEoJ25vZGVkYXRhJyk7XG4gICAgICAgIG5vZGVBY3Rpb24gPSBkYXRhW3RoaXMubm9kZWFjdGlvbiB8fCAnYWN0aW9uJ107XG5cbiAgICAgICAgLy8gaWYgdGhlIHNlbGVjdE5vZGUgaXMgaW5pdGlhdGVkIGJ5IGNsaWNrIGV2ZW50IHRoZW4gdXNlIHRoZSBuYXRpdmVFbGVtZW50IHRhcmdldCBmcm9tIGV2ZW50XG4gICAgICAgICRsaVBhdGggPSB0YXJnZXQgPyB0YXJnZXQucGFyZW50cygnLmFwcC10cmVlIGxpJykgOiB0aGlzLmZpbmRTZWxlY3RlZE5vZGVQYXJlbnQoJGxpKTtcblxuICAgICAgICAvLyBjb25zdHJ1Y3QgdGhlIHBhdGggb2YgdGhlIG5vZGVcbiAgICAgICAgJGxpUGF0aFxuICAgICAgICAgICAgLmVhY2goKGksIGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudCA9ICQoZWwpLmNoaWxkcmVuKCcudGl0bGUnKS50ZXh0KCk7XG4gICAgICAgICAgICAgICAgcGF0aCA9IGAvJHtjdXJyZW50ICsgcGF0aH1gO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gZXhwYW5kIHRoZSBjdXJyZW50IG5vZGUgdGlsbCB0aGUgdmlld1BhcmVudCBsZXZlbCB3aGljaCBpcyBjb2xsYXBzZWRcbiAgICAgICAgJGxpLnBhcmVudHNVbnRpbCgkZWwsICdsaS5wYXJlbnQtbm9kZS5jb2xsYXBzZWQnKVxuICAgICAgICAgICAgLmVhY2goKGluZGV4LCBlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRjdXJyZW50ID0gJChlbCksXG4gICAgICAgICAgICAgICAgICAgICRpID0gJGN1cnJlbnQuY2hpbGRyZW4oJ2kuY29sbGFwc2VkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVFeHBhbmRDb2xsYXBzZU5vZGUodW5kZWZpbmVkLCAkaSwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZGl0ZW0gICAgICA9IGdldENsb25lZE9iamVjdChkYXRhKSB8fCB7fTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZGl0ZW0ucGF0aCA9IHBhdGg7XG5cbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubm9kZWlkIHx8IHRoaXMuYmluZG5vZGVpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gZ2V0RXZhbHVhdGVkRGF0YShkYXRhLCB7ZmllbGQ6IHRoaXMubm9kZWlkLCBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kbm9kZWlkfSwgdGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSBnZXRDbG9uZWRPYmplY3QoZGF0YSkgfHwge307XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9bVG9kby1DU1BdOiB0aGlzIGRhdGEgd2lsbCBiZSBkeW5hbWljLCBjYW4gbm90IGdlbmVyYXRlIGZ1bmN0aW9uIHVwZnJvbnRcbiAgICAgICAgaWYgKG5vZGVBY3Rpb24pIHtcbiAgICAgICAgICAgICRwYXJzZUV2ZW50KG5vZGVBY3Rpb24pKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdzZWxlY3QnLCB7JGV2ZW50OiBldnQsICRpdGVtOiBkYXRhLCAkcGF0aDogcGF0aH0pO1xuICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgfVxuICAgIC8vIGNsaWNrIGV2ZW50IGlzIGFkZGVkIG9uIHRoZSBob3N0IG5hdGl2ZUVsZW1lbnRcbiAgICBwcml2YXRlIGJpbmRFdmVudHMoKSB7XG4gICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5vbignY2xpY2snLCAoZXZ0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSAkKGV2dC50YXJnZXQpLFxuICAgICAgICAgICAgICAgIGxpICAgICA9IHRhcmdldC5jbG9zZXN0KCdsaScpLFxuICAgICAgICAgICAgICAgICRpICAgICA9IHRhcmdldC5pcygnaScpID8gdGFyZ2V0IDogdGFyZ2V0LnNpYmxpbmdzKCdpLmNvbGxhcHNlZCxpLmV4cGFuZGVkJyk7XG5cbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldC5pcygnc3Bhbi50aXRsZScpKSB7IC8vIHNlbGVjdCB0aGUgbm9kZSBvbmx5IGlmIGl0IGlzIG5vZGVsYWJlbFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRpdGVtID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3ROb2RlKGV2dCwgbGkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGFyZ2V0LmlzKCdpJykgfHwgKHRhcmdldC5pcygnc3Bhbi50aXRsZScpICYmIHRoaXMubm9kZWNsaWNrID09PSAnZXhwYW5kJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZENvbGxhcHNlTm9kZShldnQsICRpLCBsaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZFNlbGVjdGVkTm9kZVBhcmVudCgkbGkpIHtcbiAgICAgICAgcmV0dXJuICRsaS5maW5kKCc+IHNwYW4udGl0bGUnKS5wYXJlbnRzKCcuYXBwLXRyZWUgbGknKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEJ5SWQodmFsdWU/KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0Tm9kZSh1bmRlZmluZWQsIHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBkZXNlbGVjdEJ5SWQodmFsdWU/KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRpdGVtID0ge307XG4gICAgICAgIHRoaXMuc2VsZWN0QnlJZCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import { StylableComponent } from '@wm/components/base';
3
- export declare class TreeDirective extends StylableComponent {
4
- private binddatavalue;
5
- private bindnodelabel;
6
- private bindnodeicon;
7
- private bindnodechildren;
8
- private bindnodeid;
9
- static initializeProps: void;
10
- private _selectNode;
11
- private nodes;
12
- datavalue: string;
13
- treeicons: string;
14
- selecteditem: any;
15
- nodeid: string;
16
- nodeaction: string;
17
- nodeclick: string;
18
- nodelabel: string;
19
- nodeicon: string;
20
- nodechildren: string;
21
- orderby: string;
22
- constructor(inj: Injector, binddatavalue: any, bindnodelabel: any, bindnodeicon: any, bindnodechildren: any, bindnodeid: any);
23
- onPropertyChange(key: string, nv: any, ov?: any): void;
24
- private constructNodes;
25
- private getNodesFromString;
26
- private getNodes;
27
- private changeTreeIcons;
28
- private toggleExpandCollapseNode;
29
- private renderTree;
30
- private selectNode;
31
- private bindEvents;
32
- private findSelectedNodeParent;
33
- private selectById;
34
- private deselectById;
35
- }