Skip to content

Commit 77a5b12

Browse files
committed
picking up new wrc version and refactoring searchModel event code
1 parent 123ea2d commit 77a5b12

File tree

5 files changed

+33
-24
lines changed

5 files changed

+33
-24
lines changed

webui/package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webui/src/js/utils/view-helper.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@ define(['ojs/ojcontext'],
106106
const busyContext = ojContext.getContext(component).getBusyContext();
107107
return busyContext.whenReady();
108108
};
109+
110+
this.getEventRootElement = () => {
111+
return document.getElementById('pageContent');
112+
};
113+
114+
this.dispatchEventFromRootElement = (customEvent) => {
115+
this.getEventRootElement().dispatchEvent(customEvent);
116+
};
117+
118+
this.addEventListenerToRootElement = (eventType, listener, options) => {
119+
this.getEventRootElement().addEventListener(eventType, listener, options);
120+
};
121+
122+
this.removeEventListenerFromRootElement = (eventType, listener, options) => {
123+
this.getEventRootElement().removeEventListener(eventType, listener, options);
124+
};
109125
}
110126

111127
return new ViewHelper();

webui/src/js/viewModels/model-design-view.js

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ function(accUtils, i18n, ko, project, urlCatalog, viewHelper, wktLogger, jsYaml,
1616
this.dataProvider = {};
1717
this.disableStartButton = ko.observable(false);
1818
this.wrcBackendTriggerChange = false;
19-
this.searchModelElement = undefined;
2019

2120
this.connected = () => {
2221
accUtils.announce('Model design view loaded.', 'assertive');
@@ -52,14 +51,7 @@ function(accUtils, i18n, ko, project, urlCatalog, viewHelper, wktLogger, jsYaml,
5251
}
5352
}
5453

55-
const element = document.getElementById('modelDesignSearchInput');
56-
if (element) {
57-
wktLogger.debug('Found modelDesignSearchInput');
58-
this.searchModelElement = element;
59-
this.searchModelElement.addEventListener('searchModel', this.handleSearchModelEvent);
60-
} else {
61-
wktLogger.error('Failed to find modelDesignSearchInput');
62-
}
54+
viewHelper.addEventListenerToRootElement('searchModel', this.handleSearchModelEvent);
6355
};
6456

6557
this.disconnected = function() {
@@ -72,9 +64,7 @@ function(accUtils, i18n, ko, project, urlCatalog, viewHelper, wktLogger, jsYaml,
7264
this.designer.deactivateProvider(this.dataProvider);
7365
}
7466

75-
if (this.searchModelElement) {
76-
this.searchModelElement.removeEventListener('searchModel', this.handleSearchModelEvent);
77-
}
67+
viewHelper.removeEventListenerFromRootElement('searchModel', this.handleSearchModelEvent);
7868
};
7969

8070
this.labelMapper = (labelId, payload) => {
@@ -255,7 +245,7 @@ function(accUtils, i18n, ko, project, urlCatalog, viewHelper, wktLogger, jsYaml,
255245

256246
this.handleSearchModelEvent = (event) => {
257247
const searchModelText = event.detail.value;
258-
wktLogger.debug('received searchModel event: %s', searchModelText);
248+
wktLogger.debug('model-design-view received searchModel event: %s', searchModelText);
259249

260250
// Once the WRC change is available, call the method to pass the search text and return.
261251
//

webui/src/js/viewModels/model-page-impl.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
define([],
77
function () {
8-
function ModelPageImpl(args, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer) {
8+
function ModelPageImpl(args, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer, viewHelper, wktLogger) {
99

1010
this.connected = () => {
1111
accUtils.announce('Model page loaded.', 'assertive');
@@ -59,12 +59,15 @@ define([],
5959
this.searchModel = () => {
6060
const searchModelElement = document.getElementById('modelDesignSearchInput');
6161
if (searchModelElement && searchModelElement.value) {
62+
wktLogger.debug('found modelDesignSearchInput with value %s', searchModelElement.value);
6263
const payload = {
64+
bubbles: true,
6365
detail: {
6466
value: searchModelElement.value
6567
}
6668
};
67-
searchModelElement.dispatchEvent(new CustomEvent('searchModel', payload));
69+
wktLogger.debug('dispatched searchModel event with payload %s', payload);
70+
viewHelper.dispatchEventFromRootElement(new CustomEvent('searchModel', payload));
6871
}
6972
};
7073
}

webui/src/js/viewModels/model-page.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
* Licensed under The Universal Permissive License (UPL), Version 1.0 as shown at https://oss.oracle.com/licenses/upl/
55
*/
66
define(['viewModels/model-page-impl', 'accUtils', 'knockout', 'utils/i18n', 'ojs/ojmodulerouter-adapter',
7-
'ojs/ojarraydataprovider', 'utils/wdt-validator', 'utils/wdt-preparer'],
8-
function (impl, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer) {
7+
'ojs/ojarraydataprovider', 'utils/wdt-validator', 'utils/wdt-preparer', 'utils/view-helper', 'utils/wkt-logger'],
8+
function (impl, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer, viewHelper, wktLogger) {
99
function ModelPage(args) {
10-
return new impl(args, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer);
10+
return new impl(args, accUtils, ko, i18n, ModuleRouterAdapter, ArrayDataProvider, validator, preparer, viewHelper, wktLogger);
1111
}
1212

1313
return ModelPage;

0 commit comments

Comments
 (0)