var filterbox = new Autodesk.Viewing.UI.Filterbox('mobile-filterbox', { filterFunction: this.testing }); var controlGroupMobileInput = new Autodesk.Viewing.UI.ControlGroup('mobile-custom-toolbar-input'); controlGroupMobileInput.addControl(filterbox); buttonFilter.onClick = (event) => { if (!this.input.objectPath && this.viewerComponent.viewer.getSelectionCount() === 0) { $('.filter-box.docking-panel-delimiter-shadow').val(''); button1.setState(1); button7.setState(1); // tslint:disable-next-line: no-use-before-declare button3.setState(1); // tslint:disable-next-line: no-use-before-declare button9.setState(1); // tslint:disable-next-line: no-use-before-declare button5.setState(1); $('#mobile-custom-toolbar-input').hide(); this.whichInput = ''; } else if (this.viewerComponent.viewer.getSelectionCount() > 1 && this.redSelectedDbIDs.length === 0) { this.multiSelectedMobileInput.forEach(input => { if (this.whichInput === 'u' || this.whichInput === 'v') { input[this.whichInput] = Number($('.filter-box.docking-panel-delimiter-shadow').val()); } else if (this.whichInput === 'additionalParameter') { input[this.whichInput][0].value = $('.filter-box.docking-panel-delimiter-shadow').val(); } else { input[this.whichInput] = $('.filter-box.docking-panel-delimiter-shadow').val(); } }); this.api.saveMultipleInput(this.multiSelectedMobileInput).then( res => { if (res === null) { this.messageService.add({ key: 'warning', severity: 'error', summary: 'Error', detail: 'Something went wrong with SAVING' }); } else { this.api.getAllInputs(this.platform.currentProject._id).then( inputs => { this.inputs = inputs; // @ts-ignore this.messageService.add({ key: 'warning', severity: 'success', summary: 'Success', detail: res.modified + ' INPUT was UPDATED', life: 5000 }); this.viewerComponent.viewer.clearThemingColors(this.viewerComponent.viewer.model); this.editTable = false; this.unsavedChanged = false; } ); } } ); this.multiSelectedMobileInput = new Array(); this.viewerComponent.viewer.clearSelection(); $('.filter-box.docking-panel-delimiter-shadow').val(''); button1.setState(1); button7.setState(1); // tslint:disable-next-line: no-use-before-declare button3.setState(1); // tslint:disable-next-line: no-use-before-declare button9.setState(1); // tslint:disable-next-line: no-use-before-declare button5.setState(1); $('#mobile-custom-toolbar-input').hide(); this.whichInput = ''; } else if (this.redSelectedDbIDs.length !== 0) { this.redSelectedDbIDs.forEach(dbId => { this.viewerComponent.viewer.model.getProperties(dbId, (r) => { var tempInput = this.inputs.find(ele => { if (ele.objectPath.indexOf('/')) { return ele.objectPath.split('/')[ele.objectPath.split('/').length - 1] === r.name; } else { return ele.objectPath === r.name; } }); this.multiSelectedMobileInput.push(tempInput); }); }); setTimeout(() => { this.multiSelectedMobileInput.forEach(input => { if (this.whichInput === 'u' || this.whichInput === 'v') { input[this.whichInput] = Number($('.filter-box.docking-panel-delimiter-shadow').val()); } else if (this.whichInput === 'additionalParameter') { input[this.whichInput][0].value = $('.filter-box.docking-panel-delimiter-shadow').val(); } else { input[this.whichInput] = $('.filter-box.docking-panel-delimiter-shadow').val(); } }); this.api.saveMultipleInput(this.multiSelectedMobileInput).then( res => { if (res === null) { this.messageService.add({ key: 'warning', severity: 'error', summary: 'Error', detail: 'Something went wrong with SAVING' }); } else { this.api.getAllInputs(this.platform.currentProject._id).then( inputs => { this.inputs = inputs; // @ts-ignore this.messageService.add({ key: 'warning', severity: 'success', summary: 'Success', detail: res.modified + ' INPUT was UPDATED', life: 5000 }); this.viewerComponent.viewer.clearThemingColors(this.viewerComponent.viewer.model); this.editTable = false; this.unsavedChanged = false; } ); } } );