views.static.entity.js.entity-module.js.map Maven / Gradle / Ivy
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"jQuery\"","webpack:///./src/js/events/SortableTableEvent.ts","webpack:///./src/js/components/MultiValueAutoSuggest.ts","webpack:///./src/js/components/EmbeddedCollection.ts","webpack:///./src/js/modules/EntityModule.ts","webpack:///./src/js/components/SortableTable.ts","webpack:///./src/js/entity-module.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","jQuery","SortableTableEvent","__webpack_exports__","MultiValueAutoSuggest","MultiValueAutoSuggestControlAdapter","jquery__WEBPACK_IMPORTED_MODULE_0__","element","_this","this","bootstrapUiModule","window","BootstrapUiModule","items","find","first","editItemTemplate","length","removeClass","triggerChange","controller","data","removeHandler","e","preventDefault","currentTarget","closest","remove","addClass","click","adapter","getTarget","on","stopPropagation","selectedValue","getValue","escapeHtml","item","refTarget","html","replace","label","append","reset","node","target","map","ix","hidden","val","context","toArray","selectValue","newValue","trigger","triggerSubmit","$","EmbeddedCollection","entityModule","EntityModule","wrapper","filter","results","is","templatePrefix","attr","nextItemIndex","targetPrefix","parentItem","parentPrefix","parentTemplate","sortIndex","id","template","each","initializeFormElements","_components_EmbeddedCollection__WEBPACK_IMPORTED_MODULE_0__","_components_MultiValueAutoSuggest__WEBPACK_IMPORTED_MODULE_1__","documentInitialized","initializers","registerInitializer","callback","callIfAlreadyInitialized","push","undefined","emSortableTable","dependsonConfig","options","hide","dependsOn","container","keyCode","which","value_1","clone","innerText","removeAttr","clickEvent","tooltip","SortableTable","_events_SortableTableEvent__WEBPACK_IMPORTED_MODULE_0__","dataIsLoading","sortOnProperty","propertyName","currentIndex","sort","prop","order","dir","splice","concat","moveToPage","page","init","table","parseInt","formName","form","doesDataLoadWithAjax","size","totalPages","currentSort","sortables","this_1","index","MOVE_TO_PAGE","event","pageNumber","SORT","propertyToSortOn","select","keypress","isNaN","self","special","LOAD_DATA","_default","params","loadData","PREPARE_DATA","prepareData","sortProperties","loadDataWithAjax","baseParams","itemTable","serializeArray","x","extend","param","replaceWith","loadedTable","done","NEW_DATA_LOADED","fail","form_1","paramName","paramValue","control","isArray","requireHiddenElement_1","submit","pathUrl","location","href","split","_modules_EntityModule__WEBPACK_IMPORTED_MODULE_0__","_components_SortableTable__WEBPACK_IMPORTED_MODULE_1__","_components_MultiValueAutoSuggest__WEBPACK_IMPORTED_MODULE_2__","ControlAdapterFactory","register","initializeControlAdapters","document","ready","fn","_emSortableTable"],"mappings":"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","file":"js/entity-module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 16);\n","module.exports = jQuery;","/*\n * Copyright 2014 the original author or authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum SortableTableEvent\n{\n /**\n * Trigger this event with the page number as parameter.\n */\n MOVE_TO_PAGE = 'emSortableTable:moveToPage',\n\n /**\n * Trigger this event with the new field name to sort on as parameter.\n */\n SORT = 'emSortableTable:sort',\n\n /**\n * Subscribe to this event if you want to modify the parameters for loading the data.\n */\n PREPARE_DATA = 'emSortableTable:prepareData',\n\n /**\n * Subscribe to this event if you want to modify the parameters for loading the data,\n * or if you want to implement custom data loading and rendering.\n * Prevent the default event handling in the latter case.\n */\n LOAD_DATA = 'emSortableTable:loadData',\n\n /**\n * Subscribe to this event if you want to be notified if data new has been loaded\n */\n NEW_DATA_LOADED = 'emSortableTable:newDataLoaded',\n}\n","/*\n * Copyright 2014 the original author or authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as $ from 'jquery';\n\nexport class MultiValueAutoSuggest\n{\n private bootstrapUiModule: any;\n\n constructor( element: JQuery )\n {\n this.bootstrapUiModule = (window).BootstrapUiModule;\n\n const items = element.find( '[data-role=items]' ).first();\n const editItemTemplate = element.find( '[data-role=edit-item-template]' ).first();\n\n if ( items.find( 'tr' ).length > 1 ) {\n items.removeClass( 'd-none' );\n }\n\n const triggerChange = () => {\n const controller = element.data( 'bootstrapui-adapter' ) as BootstrapUiControlAdapter;\n if ( controller ) {\n controller.triggerChange();\n }\n };\n\n const removeHandler = ( e: JQueryEventObject ) => {\n e.preventDefault();\n $( e.currentTarget ).closest( '[data-role=item]' ).remove();\n if ( items.find( 'tr' ).length === 1 ) {\n items.addClass( 'd-none' );\n }\n triggerChange();\n };\n\n items.find( '[data-action=remove-item]' ).click( removeHandler );\n\n const adapter = element.find( '[data-role=control]' ).first().data( 'bootstrapui-adapter' );\n $( adapter.getTarget() ).on( 'bootstrapui.change', ( e: JQueryEventObject, adapter: any ) => {\n e.stopPropagation();\n const selectedValue = adapter.getValue()[0];\n if ( selectedValue.value !== '' ) {\n const value = MultiValueAutoSuggest.escapeHtml( '' + selectedValue.value );\n\n if ( items.find( '[value=\"' + value + '\"]' ).length === 0 ) {\n const item = $( $( this.bootstrapUiModule.refTarget( editItemTemplate ) )\n .html()\n .replace( '{{id}}', value )\n .replace( '{{label}}', MultiValueAutoSuggest.escapeHtml( '' + selectedValue.label ) ) );\n item.find( '[data-action=remove-item]' ).click( removeHandler );\n items.append( item );\n items.removeClass( 'd-none' );\n }\n adapter.reset();\n triggerChange();\n }\n } );\n }\n\n private static escapeHtml( value: string ): string\n {\n return value.replace( /&/g, '&' )\n .replace( //g, '>' )\n .replace( /\"/g, '"' );\n }\n}\n\n/**\n * Control adapter implementation for a multi-value autosuggest control.\n * With limited support as it only allows fetching the values.\n */\nexport class MultiValueAutoSuggestControlAdapter implements BootstrapUiControlAdapter\n{\n private items: JQuery;\n private target: any;\n\n constructor( node: any )\n {\n this.target = node;\n this.items = $( node ).find( '[data-role=items]' ).first();\n }\n\n getTarget(): any\n {\n return this.target;\n }\n\n getValue(): BootstrapUiControlValueHolder[]\n {\n return this.items.find( 'input[type=hidden]' )\n .map( ( ix, hidden ) => {\n const val = $( hidden ).val();\n return {\n label: val,\n value: val,\n context: hidden,\n };\n } ).toArray() as BootstrapUiControlValueHolder[];\n }\n\n reset(): void\n {\n }\n\n selectValue( newValue: any ): void\n {\n }\n\n triggerChange(): void\n {\n $( this.getTarget() ).trigger( 'bootstrapui.change', [this] );\n }\n\n triggerSubmit(): void\n {\n $( this.getTarget() ).trigger( 'bootstrapui.submit', [this] );\n }\n}\n","/*\n * Copyright 2014 the original author or authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class EmbeddedCollection\n{\n private bootstrapUiModule: any;\n private entityModule: any;\n\n constructor( element: JQuery )\n {\n this.bootstrapUiModule = (window).BootstrapUiModule;\n this.entityModule = (window).EntityModule;\n\n const wrapper = element;\n\n const filter = ( results: any ) => {\n return results.filter( ( ix: number, element: any ) => {\n return $( element ).closest( '[data-item-format]' ).is( wrapper );\n } );\n };\n\n const items = filter( wrapper.find( '[data-role=items]' ) ).first();\n const editItemTemplate = filter( wrapper.find( '[data-role=edit-item-template]' ) ).first();\n\n const templatePrefix = editItemTemplate.attr( 'data-template-prefix' );\n let nextItemIndex = editItemTemplate.data( 'next-item-index' );\n let targetPrefix = wrapper.attr( 'data-item-format' );\n\n const parentItem = wrapper.closest( '[data-item-prefix]' );\n\n if ( parentItem.length ) {\n const parentPrefix = parentItem.attr( 'data-item-prefix' );\n const parentTemplate = parentItem.closest( '[data-item-format]' ).attr( 'data-item-format' );\n targetPrefix = targetPrefix.replace( parentTemplate, parentPrefix );\n }\n\n filter( items.find( '[data-action=remove-item]' ) ).click( ( e: JQueryEventObject ) => {\n e.preventDefault();\n $( e.currentTarget ).closest( '[data-role=item]' ).remove();\n } );\n\n filter( wrapper.find( '[data-action=add-item]' ) ).click( () => {\n const sortIndex = nextItemIndex++;\n const id = 'item-' + sortIndex;\n const target = targetPrefix.replace( '{{key}}', id );\n\n const template = $( this.bootstrapUiModule.refTarget( editItemTemplate ).html() );\n template.attr( 'data-item-key', id );\n template.attr( 'data-item-prefix', target );\n\n template.find( '[name^=\"' + templatePrefix + '\"]' ).each( ( ix: number, node: any ) => {\n $( node ).attr( 'name', $( node ).attr( 'name' ).replace( templatePrefix, target ) );\n } );\n template.find( '[name^=\"_' + templatePrefix + '\"]' ).each( ( ix: number, node: any ) => {\n $( node ).attr( 'name', $( node ).attr( 'name' ).replace( '_' + templatePrefix, '_' + target ) );\n } );\n template.find( '[for^=\"' + templatePrefix + '\"]' ).each( ( ix: number, node: any ) => {\n $( node ).attr( 'for', $( node ).attr( 'for' ).replace( templatePrefix, target ) );\n } );\n template.find( '[id^=\"' + templatePrefix + '\"]' ).each( ( ix: number, node: any ) => {\n $( node ).attr( 'id', $( node ).attr( 'id' ).replace( templatePrefix, target ) );\n } );\n\n template.find( '[data-action=remove-item]' ).click( ( e: JQueryEventObject ) => {\n e.preventDefault();\n $( e.currentTarget ).closest( '[data-role=item]' ).remove();\n } );\n\n template.find( '[name=\"' + target + '.sortIndex\"]' )\n .attr( 'value', sortIndex );\n\n items.append( template );\n\n this.entityModule.initializeFormElements( template );\n } );\n }\n\n}\n","/*\n * Copyright 2014 the original author or authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {EmbeddedCollection} from '../components/EmbeddedCollection';\nimport {MultiValueAutoSuggest} from '../components/MultiValueAutoSuggest';\n\nexport class EntityModule\n{\n private documentInitialized: boolean = false;\n private initializers: any = [];\n private bootstrapUiModule: any;\n\n constructor()\n {\n this.bootstrapUiModule = (window).BootstrapUiModule;\n }\n\n /**\n * Register an additional initializer that should execute when running initializeFormElements.\n * An initializer is a callback function that will optionally receive the container node as argument.\n *\n * @param callback function to execute\n * @param callIfAlreadyInitialized should the initializer execute immediately if document has been initialized already - defaults to true\n */\n registerInitializer( callback: any, callIfAlreadyInitialized: any )\n {\n this.initializers.push( callback );\n\n const shouldExecute = (callIfAlreadyInitialized === undefined || true === callIfAlreadyInitialized) && this.documentInitialized;\n\n if ( shouldExecute ) {\n callback();\n }\n }\n\n /**\n * Scan for and initialize all known form element types.\n * This will in turn call BootstrapUiModule.initializeFormElements() if called at any time past the initial document initialization.\n *\n * @param node optional parent to limit the scan\n */\n initializeFormElements( node?: any )\n {\n // Dispatch to BootstrapUiModule directly if initial document initialization has happened\n if ( (node !== undefined || this.documentInitialized) && this.bootstrapUiModule && this.bootstrapUiModule.initializeFormElements ) {\n this.bootstrapUiModule.initializeFormElements( node );\n }\n\n if ( node === undefined && !this.documentInitialized ) {\n this.documentInitialized = true;\n }\n\n /**\n * Initialize sortable tables.\n */\n $( '[data-tbl-type=\"paged\"]', node ).emSortableTable();\n\n /**\n * Initialize depends-on conditions between controls.\n */\n $( '[data-dependson]', node ).each( function ( ix, n ) {\n const dependsonConfig = $( this ).data( 'dependson' );\n const options = dependsonConfig['options'] != null ? dependsonConfig['options'] : {hide: false};\n delete dependsonConfig['options'];\n\n $( n ).dependsOn( dependsonConfig, options );\n } );\n\n /**\n * Initialize multi value controls.\n */\n $( '.js-multi-value-control', node ).each( ( ix, element ) => {\n const container = $( element );\n\n container.find( '.js-multi-value-input' ).on( 'keypress', ( e ) => {\n const keyCode = (e.keyCode ? e.keyCode : e.which);\n if ( keyCode === 13 ) {\n e.preventDefault();\n const value = $( e.currentTarget ).val();\n if ( value ) {\n const template = container.find( '.js-multi-value-template' ).clone( false );\n template.removeClass( 'd-none js-multi-value-template' );\n template.addClass( 'js-multi-value-item' );\n\n template.find( '.js-multi-value-value' ).each( ( i: number, node: any ) => {\n node.innerText = value;\n } );\n\n template.find( '[type=hidden]' ).val( value ).removeAttr( 'disabled' );\n container.find( 'table' ).append( template );\n\n template.find( 'a' ).on( 'click', ( clickEvent ) => {\n clickEvent.preventDefault();\n $( clickEvent.currentTarget ).closest( 'tr' ).remove();\n } );\n\n $( e.currentTarget ).val( '' );\n }\n }\n } );\n\n container.find( '.js-multi-value-item a' ).on( 'click', ( clickEvent ) => {\n clickEvent.preventDefault();\n $( clickEvent.currentTarget ).closest( 'tr' ).remove();\n } );\n } );\n\n /**\n * Experimental: initialize embedded collections.\n */\n $( '.js-embedded-collection-form-group', node ).each( ( ix, n ) => new EmbeddedCollection( $( n ) ) );\n\n /**\n * Experimental: initialize multi-value autosuggest.\n */\n $( '.js-multi-value-autosuggest', node ).each( ( ix, n ) => new MultiValueAutoSuggest( $( n ) ) );\n\n /**\n * Initialize tooltips.\n */\n $( '[data-toggle=\"tooltip\"]', node ).tooltip();\n\n // Dispatch to additional initializers\n for ( let i = 0; i < this.initializers.length; i++ ) {\n this.initializers[i]( node );\n }\n }\n}\n","import {SortableTableEvent} from '../events/SortableTableEvent';\nimport {EntityModule} from '../modules/EntityModule';\n\nexport class SortableTable\n{\n private page: number;\n private size: number;\n private sort: any;\n private doesDataLoadWithAjax: boolean;\n private totalPages: number;\n private formName: string;\n private sortables: any;\n private form: JQuery;\n private table: JQuery;\n private entityModule: EntityModule;\n private pageNumber: number;\n private dataIsLoading: boolean = false;\n\n constructor( element: JQuery )\n {\n this.init( element );\n this.entityModule = (window).EntityModule;\n }\n\n init( element: JQuery )\n {\n this.table = $( element );\n const id = $( element ).attr( 'data-tbl' );\n this.page = parseInt( this.table.attr( 'data-tbl-current-page' ), 10 );\n this.formName = $( element ).attr( 'data-tbl-form' );\n this.form = $( 'form[name=' + this.formName + ']' );\n this.doesDataLoadWithAjax = this.table.data( 'tbl-ajax-load' );\n\n this.size = parseInt( this.table.attr( 'data-tbl-size' ), 10 );\n this.totalPages = parseInt( this.table.attr( 'data-tbl-total-pages' ), 10 );\n\n const currentSort = this.table.data( 'tbl-sort' );\n this.sort = currentSort != null ? currentSort : [];\n\n this.sortables = $( \"[data-tbl='\" + id + \"'][data-tbl-sort-property]\", this.table );\n this.sortables.removeClass( 'asc', 'desc' );\n\n for ( let i = 0; i < this.sort.length; i++ ) {\n const order = this.sort[i];\n\n $( \"[data-tbl='\" + id + \"'][data-tbl-sort-property='\" + order.prop + \"']\", this.table )\n .each( ( index: number, item: any ) => {\n if ( i === 0 ) {\n $( item ).addClass( order.dir === 'ASC' ? 'asc' : 'desc' );\n }\n order.prop = $( item ).data( 'tbl-sort-property' );\n } );\n }\n\n this.table.on( SortableTableEvent.MOVE_TO_PAGE, ( event: JQueryEventObject, pageNumber: number ) => {\n this.moveToPage( pageNumber );\n } );\n\n this.table.on( SortableTableEvent.SORT, ( event: JQueryEventObject, propertyToSortOn: string ) => {\n this.sortOnProperty( propertyToSortOn );\n } );\n\n this.form.on( 'submit', ( e: JQueryEventObject ) => {\n if ( this.doesDataLoadWithAjax && !this.dataIsLoading) {\n e.preventDefault();\n this.dataIsLoading = true;\n this.table.trigger( SortableTableEvent.MOVE_TO_PAGE, this.page );\n }\n } );\n\n $( \"[data-tbl='\" + id + \"'][data-tbl-page]\" ).click( ( e: JQueryEventObject ) => {\n e.preventDefault();\n e.stopPropagation();\n\n this.table.trigger( SortableTableEvent.MOVE_TO_PAGE, parseInt( $( e.currentTarget ).attr( 'data-tbl-page' ), 10 ) );\n } );\n\n $( \"input[type='text'][data-tbl='\" + id + \"'][data-tbl-page-selector]\" )\n .click( ( event: JQueryEventObject ) => {\n event.preventDefault();\n $( event.currentTarget ).select();\n } )\n .keypress( ( event: JQueryEventObject ) => {\n const keyCode = (event.keyCode ? event.keyCode : event.which);\n if ( keyCode === 13 ) {\n event.preventDefault();\n let pageNumber = parseInt( $( event.currentTarget ).val(), 10 );\n\n if ( isNaN( pageNumber ) ) {\n $( event.currentTarget ).addClass( 'has-error' );\n }\n else {\n $( event.currentTarget ).removeClass( 'has-error' );\n if ( pageNumber < 1 ) {\n pageNumber = 1;\n }\n else if ( pageNumber > this.totalPages ) {\n pageNumber = this.totalPages;\n }\n this.table.trigger( SortableTableEvent.MOVE_TO_PAGE, pageNumber - 1 );\n }\n }\n } );\n\n this.sortables.click( ( e: JQueryEventObject ) => {\n e.preventDefault();\n e.stopPropagation();\n this.table.trigger( SortableTableEvent.SORT, $( e.target ).data( 'tbl-sort-property' ) );\n } );\n const self = this;\n\n jQuery.event.special[SortableTableEvent.LOAD_DATA] = {\n _default: function ( event: JQueryEventObject, params: any ) {\n // fallback to default loading of paged data\n self.loadData( params );\n },\n };\n\n jQuery.event.special[SortableTableEvent.PREPARE_DATA] = {\n _default: function ( event: JQueryEventObject, params: any ) {\n // fallback to default to prepare the paged data loading\n self.prepareData( params );\n },\n };\n }\n\n moveToPage( pageNumber: number )\n {\n const params: any = {\n page: pageNumber, size: this.size,\n };\n\n if ( this.sort != null && this.sort.length > 0 ) {\n const sortProperties = [];\n\n for ( let i = 0; i < this.sort.length; i++ ) {\n sortProperties.push( this.sort[i].prop + ',' + this.sort[i].dir );\n }\n\n params['sort'] = sortProperties;\n }\n\n this.table.trigger( SortableTableEvent.PREPARE_DATA, params );\n\n this.table.trigger( SortableTableEvent.LOAD_DATA, params );\n }\n\n // Todo: the find of the table is not ideal\n loadDataWithAjax( baseParams: any, form: any )\n {\n let params: any = {};\n const itemTable = $( '.pcs-body-section' ).find( '.panel-default' );\n\n form.serializeArray().map( ( x: any ) => {\n params[x.name] = x.value;\n } );\n\n params = $.extend( params, baseParams );\n\n $.get( '#', $.param( params, true ), ( data ) => {\n itemTable.replaceWith( data );\n const loadedTable = $('[data-tbl-type=\"paged\"]');\n this.init(loadedTable);\n } ).done(() => {\n this.dataIsLoading = false;\n this.table.trigger( SortableTableEvent.NEW_DATA_LOADED );\n }).fail(() => {\n // Retry on fail\n this.loadDataWithAjax(baseParams, form);\n });\n }\n\n prepareData( params: any )\n {\n if ( this.doesDataLoadWithAjax ) {\n params['_partial'] = '::itemsTable';\n }\n }\n\n loadData( params: any )\n {\n if ( this.formName ) {\n const form = $( 'form[name=' + this.formName + ']' );\n\n const requireHiddenElement = ( name: string, value: any ) => {\n if ( value ) {\n $( 'input[name=' + name + '][type=hidden]' ).remove();\n\n const control = $( 'input[name=' + name + ']', form );\n if ( control.length ) {\n control.val( value );\n }\n else {\n if ( $.isArray( value ) ) {\n for ( let i = 0; i < value.length; i++ ) {\n form.append( '' );\n }\n }\n else {\n form.append( '' );\n }\n }\n }\n };\n\n $.each( params, ( paramName: string, paramValue: any ) => {\n requireHiddenElement( paramName, paramValue );\n } );\n\n if ( this.doesDataLoadWithAjax ) {\n this.dataIsLoading = true;\n this.loadDataWithAjax( params, form );\n }\n else {\n form.submit();\n }\n }\n else {\n const pathUrl = window.location.href.split( '?' )[0];\n window.location.href = pathUrl + '?' + $.param( params, true );\n }\n }\n\n sortOnProperty = ( propertyName: string ) => {\n let currentIndex = -1;\n\n for ( let i = 0; i < this.sort.length && currentIndex < 0; i++ ) {\n if ( this.sort[i].prop === propertyName ) {\n currentIndex = i;\n }\n }\n\n const order = {\n prop: propertyName, dir: 'ASC',\n };\n\n if ( currentIndex > -1 ) {\n if ( currentIndex === 0 ) {\n order.dir = this.sort[currentIndex].dir === 'ASC' ? 'DESC' : 'ASC';\n }\n\n if ( this.sort.length > 1 ) {\n this.sort.splice( currentIndex, 1 );\n }\n else {\n this.sort = [];\n }\n }\n\n this.sort = [order].concat( this.sort );\n\n this.moveToPage( this.page );\n }\n\n}\n","/*\n * Copyright 2014 the original author or authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {EntityModule} from \"./modules/EntityModule\";\nimport {SortableTable} from \"./components/SortableTable\";\nimport {MultiValueAutoSuggestControlAdapter} from './components/MultiValueAutoSuggest';\n\nconst entityModule = new EntityModule();\nconst bootstrapUiModule = window.BootstrapUiModule;\n\nif ( bootstrapUiModule.ControlAdapterFactory ) {\n bootstrapUiModule.ControlAdapterFactory.register( 'multi-value-autosuggest', function( node ) {\n bootstrapUiModule.ControlAdapterFactory.initializeControlAdapters( node );\n return new MultiValueAutoSuggestControlAdapter( node );\n } );\n}\n\n\n$( document ).ready( function() {\n entityModule.initializeFormElements();\n} );\n\nwindow.EntityModule = entityModule;\n\n/**\n * Expose JQuery plugin emSortableTable, creates a SortableTable when called.\n */\n$.fn.emSortableTable = function() {\n return this.each( function() {\n if ( !this._emSortableTable ) {\n this._emSortableTable = new SortableTable( this );\n }\n } );\n};\n"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy