{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./utils/str.js","webpack:///../node_modules/i18next/dist/es/logger.js","webpack:///../node_modules/i18next/dist/es/EventEmitter.js","webpack:///../node_modules/i18next/dist/es/utils.js","webpack:///../node_modules/i18next/dist/es/ResourceStore.js","webpack:///../node_modules/i18next/dist/es/Translator.js","webpack:///../node_modules/i18next/dist/es/postProcessor.js","webpack:///../node_modules/i18next/dist/es/LanguageUtils.js","webpack:///../node_modules/i18next/dist/es/PluralResolver.js","webpack:///../node_modules/i18next/dist/es/Interpolator.js","webpack:///../node_modules/i18next/dist/es/BackendConnector.js","webpack:///../node_modules/i18next/dist/es/defaults.js","webpack:///../node_modules/i18next/dist/es/i18next.js","webpack:///../node_modules/i18next/dist/es/index.js","webpack:///./i18n.js","webpack:///./tda/tda.js","webpack:///./objectsRepository.js","webpack:///./globalData.js","webpack:///./core/models/base.model.js","webpack:///./utils/log.js","webpack:///./utils/habilitation.js","webpack:///./utils/forms.js","webpack:///./core/models/habilitationContext.js","webpack:///./core/models/paginated.collection.js","webpack:///./utils/utils.js","webpack:///./core/models/desactivateMessage.model.js","webpack:///./utils/msgs.js","webpack:///./core/models/readOnly.model.js","webpack:///./core/views/form.view.js","webpack:///./core/views/dialog.view.js","webpack:///./utils/sync.js","webpack:///./utils/headers.js","webpack:///./core/components/combo/comboBoxView2.js","webpack:///./core/components/combo/combos.model.js","webpack:///./core/components/combo/combos.collection.js","webpack:///./core/grids/data_grid/dataGrid.view.js","webpack:///./core/grids/editablegrid/editableGrid.model.js","webpack:///./core/grids/data_grid/dataGrid.model.js","webpack:///./utils/nav.js","webpack:///./core/grids/editablegrid/editableGrid.view.js","webpack:///./core/grids/data_grid/dataGridActionCell.view.js","webpack:///./core/grids/data_grid/dataGridCell.view.js","webpack:///./core/grids/data_grid/dataGridRow.view.js","webpack:///./core/controls/buttonBar.view.js","webpack:///./utils/session.js","webpack:///./core/components/combo/autocomplete.collection.js","webpack:///./core/grids/basegrid/internColumn.model.js","webpack:///./core/grids/basegrid/internVue.model.js","webpack:///./core/grids/basegrid/columnsChooser.view.js","webpack:///./core/grids/data_grid/dataGridCellThFake.view.js","webpack:///./core/grids/data_grid/dataGridCellTh.view.js","webpack:///./core/grids/basegrid/mainChooser.view.js","webpack:///./core/grids/basegrid/baseGrid.view.js","webpack:///./core/components/selecteur_chemin/selecteurChemin.model.js","webpack:///./core/components/selecteur_chemin/selecteurChemin.collection.js","webpack:///./core/components/selecteur_chemin/selecteurCheminResultItem.view.js","webpack:///./core/components/selecteur_chemin/selecteurCheminDialog.view.js","webpack:///./core/components/selecteur_chemin/selecteurCheminModeSimple.collection.js","webpack:///./core/components/selecteur_chemin/selecteurCheminNiv.model.js","webpack:///./core/components/selecteur_chemin/selecteurCheminNiv.collection.js","webpack:///./core/components/selecteur_chemin/selecteurChemin.view.js","webpack:///./core/layouts/splitPanel.view.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/models/gererBadgeagesGestion.js","webpack:///./uc/common/wkfhisto/models/wkfHisto.model.js","webpack:///./uc/common/wkfhisto/models/histoDemModel.collection.js","webpack:///./uc/common/wkfhisto/models/histoEnsembleModel.collection.js","webpack:///./uc/common/wkfhisto/models/histoEventModel.collection.js","webpack:///./uc/common/wkfhisto/models/histoSouhaitOrigin.model.js","webpack:///./uc/common/wkfhisto/views/block.view.js","webpack:///./Interceptors/onError.js","webpack:///./Interceptors/onComplete.js","webpack:///./core/views/editedRow.view.js","webpack:///./core/components/selecteur_chemin/selecteurCheminItem.model.js","webpack:///../node_modules/es5-ext/object/valid-value.js","webpack:///./core/grids/basegrid/baseGrid.model.js","webpack:///./core/models/base.collection.js","webpack:///../node_modules/es5-ext/object/valid-callable.js","webpack:///./Interceptors/onBeforeSend.js","webpack:///./core/components/login/loginTestConn.model.js","webpack:///./core/components/collapsible_block/block.view.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///../node_modules/es6-symbol/index.js","webpack:///../node_modules/i18next-xhr-backend/index.js","webpack:///./uc/common/badgeage/views/badgeageVirtuelDialog.view.js","webpack:///../node_modules/d/index.js","webpack:///./core/components/combo/comboBox2ResultItem.view.js","webpack:///./core/components/login/detailMotPasse.tpl.html","webpack:///./core/grids/basegrid/table_cell_multiselectaction.tpl.html","webpack:///./core/models/remoteFile.model.js","webpack:///./core/components/login/loginPassword.model.js","webpack:///./core/components/login/loginChangePwdDialog.view.js","webpack:///./core/layouts/listeDetailPanel.view.js","webpack:///./utils/divers.js","webpack:///./core/components/selecteur_referentiel/selecteurReferentielResultItem.view.js","webpack:///./core/components/selecteur_referentiel/selecteurReferentiel.view.js","webpack:///../node_modules/es5-ext/object/is-value.js","webpack:///./core/grids/basegrid/table_cell_editaction.tpl.html","webpack:///./uc/common/badgeage/models/modeBadg.model.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/models/listeBadgeage.model.js","webpack:///./core/controls/actionBar.view.js","webpack:///./uc/common/evenements/lister/listerprets/models/accepterPret.js","webpack:///./app/menu_item_niv1.tpl.html","webpack:///./app/menu_item_niv2.tpl.html","webpack:///./app/menu_item_section.tpl.html","webpack:///./uc/common/badgeage/models/compteurs.model.js","webpack:///./uc/common/badgeage/models/compteurs.collection.js","webpack:///./uc/common/evenements/gerer/gererprets/models/gererPretsGestion.js","webpack:///./uc/common/profilutilisateur/models/profile.model.js","webpack:///./uc/common/profilutilisateur/models/profiles.collection.js","webpack:///./utils/licence.js","webpack:///../node_modules/i18next-xhr-backend/dist/commonjs/index.js","webpack:///../node_modules/i18next-xhr-backend/dist/commonjs/utils.js","webpack:///../node_modules/i18next-xhr-backend/dist/commonjs/ajax.js","webpack:///../node_modules/promise-polyfill/lib/index.js","webpack:///../node_modules/timers-browserify/main.js","webpack:///../node_modules/setimmediate/setImmediate.js","webpack:///../node_modules/process/browser.js","webpack:///../node_modules/fetch-polyfill/fetch.js","webpack:///./core/layouts/split_panel.tpl.html","webpack:///./core/components/combo/combo_box_item.tpl.html","webpack:///./root/root.js","webpack:///./uc/common/evenements/gerer/gererpiecesjointes/models/piecesJointes.collection.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/models/listeBadgeage.model.js","webpack:///./app/models/droit.model.js","webpack:///./app/models/droit.collection.js","webpack:///./app/models/tda.model.js","webpack:///./app/models/tda.collection.js","webpack:///./app/models/config.model.js","webpack:///./uc/common/evenements/lister/listerprets/models/pret.model.js","webpack:///./uc/common/evenements/lister/listerprets/models/pret.collection.js","webpack:///./core/routers/subRoute.js","webpack:///./core/components/filter/filter.view.js","webpack:///./core/components/navigation/navigation.view.js","webpack:///./core/views/radioBox.view.js","webpack:///./uc/common/evenements/gerer/gererpiecesjointes/models/gererpiecesjointes.workflow.js","webpack:///./uc/common/evenements/gerer/gererpiecesjointes/views/gererPiecesJointes.view.js","webpack:///./utils/style.js","webpack:///./core/grids/treetypegrid/treeTypeGrid.model.js","webpack:///./core/grids/treetypegrid/treeTypeGrid.view.js","webpack:///./utils/tree.js","webpack:///./core/components/combo/comboBoxRgaaView2.js","webpack:///./core/layouts/simplePanel.view.js","webpack:///../node_modules/es5-ext/object/set-prototype-of/index.js","webpack:///../node_modules/es5-ext/function/is-arguments.js","webpack:///../node_modules/es5-ext/string/is-string.js","webpack:///./uc/common/referentiel/referentielutilisateur/models/delegationsUtilisateur.model.js","webpack:///./uc/common/referentiel/referentielutilisateur/models/delegationsUtilisateur.collection.js","webpack:///./uc/common/referentiel/referentielutilisateur/views/selecteurRefDialog.view.js","webpack:///./uc/common/referentiel/referentielutilisateur/views/selectUtilisateur.view.js","webpack:///./uc/common/evenements/gerer/gererprets/models/gererPrets.model.js","webpack:///./uc/common/evenements/lister/listerprets/models/refuserPret.js","webpack:///./uc/common/gmsituation/views/intermediateSituation.view.js","webpack:///./uc/common/gmsituation/views/gmSituation.view.js","webpack:///./app/menu.tpl.html","webpack:///./app/models/auth.model.js","webpack:///./core/components/login/loginLicense.model.js","webpack:///./app/models/themeRollConfig.model.js","webpack:///./app/models/transversalSync.model.js","webpack:///./app/models/parametresDivers.model.js","webpack:///./app/models/storeParamDivers.model.js","webpack:///./app/models/parametresDivers.collection.js","webpack:///./app/models/typoEvtGen.model.js","webpack:///./app/models/typoEvtGen.collection.js","webpack:///./app/models/typoStandard.model.js","webpack:///./app/models/typoStandard.collection.js","webpack:///./utils/simulation.js","webpack:///./utils/evenement.js","webpack:///./core/views/multiLabel.js","webpack:///./backbone.fetch.js","webpack:///./uc/common/briques/bmonresp/models/typeStructure.model.js","webpack:///../node_modules/es5-ext/object/assign/index.js","webpack:///../node_modules/es6-iterator/index.js","webpack:///./core/controls/schedule/scheduleColorItem.view.js","webpack:///./core/controls/schedule/scheduleTextItem.view.js","webpack:///./core/controls/schedule/scheduleRow.view.js","webpack:///./core/tree/treeNode.view.js","webpack:///./core/models/fileExtension.model.js","webpack:///./core/components/file_transfer/fileTransferItem.view.js","webpack:///./core/components/file_transfer/fileTransfer.view.js","webpack:///./utils/wkf.js","webpack:///./uc/common/evenements/gerer/gererpiecesjointes/models/piecesAutorisees.js","webpack:///./core/controls/schedule/schedule.model.js","webpack:///./uc/common/referentiel/referentielcollaborateur/models/collaborateurs.model.js","webpack:///./uc/common/referentiel/referentielcollaborateur/models/collaborateurs.collection.js","webpack:///./uc/common/referentiel/referentielcollaborateur/views/selecteurRefDialog.view.js","webpack:///./uc/common/referentiel/referentielcollaborateur/views/selectCollab.view.js","webpack:///./uc/common/piecesjointes/views/block.view.js","webpack:///./core/controls/schedule/schedule.view.js","webpack:///./core/tree/tree.model.js","webpack:///./core/tree/tree.view.js","webpack:///./core/grids/menugrid/menuGrid.view.js","webpack:///./core/grids/editablegroupegrid/editableGroupeGrid.model.js","webpack:///./core/grids/editablegroupegrid/editableGroupeGridRow.view.js","webpack:///./core/grids/editablegroupegrid/editableGroupeItemGridRow.view.js","webpack:///./core/grids/editablegroupegrid/editableGroupeGrid.view.js","webpack:///./uc/common/evenements/gerer/gererprets/models/complementCombo.model.js","webpack:///./uc/common/evenements/gerer/gererprets/models/complementCombo.collection.js","webpack:///./uc/common/evenements/gerer/gererprets/models/initRattEmpruntCollab.js","webpack:///./uc/common/evenements/gerer/gererprets/models/saisieOptions.model.js","webpack:///./uc/common/evenements/gerer/gererprets/models/modeSaisieOptions.collection.js","webpack:///./uc/common/evenements/gerer/gererprets/models/typeAffDefaults.js","webpack:///./uc/common/evenements/gerer/gererprets/models/typeSaisieOptions.collection.js","webpack:///./uc/common/evenements/gerer/gererprets/models/typeStructures.collection.js","webpack:///./uc/common/evenements/gerer/gererprets/models/gererprets.workflow.js","webpack:///./uc/common/evenements/gerer/gererprets/views/gererPret.view.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/views/gererOneBadgeagePopUp.view.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/models/gererOneBadgeageProfils.model.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/models/evtBadgeageSoumisWkf.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/models/gereronebadgeage.workflow.js","webpack:///./uc/common/evenements/gerer/gereronebadgeage/views/gererOneBadgeage.view.js","webpack:///./uc/referentiel/gestion_de_activite/activites/typodom/models/typologiesDomaine.model.js","webpack:///./uc/common/resultatgrpcompteurs/models/configResultatsListeCpt.js","webpack:///./uc/common/resultatgrpcompteurs/models/searchListeGroupesData.js","webpack:///./uc/common/resultatgrpcompteurs/views/consultationDialog.view.js","webpack:///./uc/common/resultatgrpcompteurs/models/preferences.js","webpack:///./uc/common/resultatgrpcompteurs/models/searchListeGroupes.model.js","webpack:///./uc/common/resultatgrpcompteurs/models/searchListeGroupes.collection.js","webpack:///./uc/common/resultatgrpcompteurs/models/searchResultatsListeCpt.model.js","webpack:///./uc/common/resultatgrpcompteurs/models/searchResultatsListeCpt.collection.js","webpack:///./uc/common/resultatgrpcompteurs/views/groupeCompteursDialog.view.js","webpack:///./core/grids/treetypegrid/treeTypeGridRow.view.js","webpack:///./uc/common/droitsdel/views/tooltipDeleg.view.js","webpack:///./uc/common/droitsdel/models/delegationsTable.model.js","webpack:///./uc/common/droitsdel/models/delegationsTable.collection.js","webpack:///./uc/common/droitsdel/views/delegueRender.view.js","webpack:///./uc/common/droitsdel/models/filter.model.js","webpack:///./uc/common/droitsdel/views/filterContent.view.js","webpack:///./uc/common/droitsdel/views/delegantRender.view.js","webpack:///./uc/common/droitsdel/models/delegations.model.js","webpack:///./uc/common/droitsdel/models/element.model.js","webpack:///./uc/common/droitsdel/models/element.collection.js","webpack:///./uc/common/droitsdel/models/elementLevel3.model.js","webpack:///./uc/common/droitsdel/views/form.view.js","webpack:///./uc/common/droitsdel/models/delegationsDroitsCollab.model.js","webpack:///./uc/common/droitsdel/models/droitsdel.workflow.js","webpack:///./uc/common/droitsdel/views/general.view.js","webpack:///./app/models/groupeMenu.model.js","webpack:///./app/models/groupeMenu.collection.js","webpack:///./uc/common/profilutilisateur/models/profiles.model.js","webpack:///./app/models/contexteActif.model.js","webpack:///./app/models/respDesig.model.js","webpack:///./app/models/workFlow.model.js","webpack:///./core/grids/basegrid/table_col_menu.tpl.html","webpack:///./core/tree/treeNode.model.js","webpack:///./uc/common/evenements/gerer/gererprets/views/gererPretPopUp.view.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/models/listeBadgeage.collection.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/views/gererBadgeagesPopUp.view.js","webpack:///../node_modules/es5-ext/array/#/clear.js","webpack:///../node_modules/es5-ext/function/noop.js","webpack:///../node_modules/es5-ext/number/to-pos-integer.js","webpack:///../node_modules/es5-ext/object/set-prototype-of/is-implemented.js","webpack:///../node_modules/es5-ext/object/set-prototype-of/shim.js","webpack:///../node_modules/es5-ext/object/normalize-options.js","webpack:///../node_modules/es5-ext/string/#/contains/index.js","webpack:///../node_modules/es6-iterator/valid-iterable.js","webpack:///./uc/common/evenements/lister/listerprets/views/headerPopup.view.js","webpack:///./uc/common/evenements/lister/listerprets/models/listerHistorique.model.js","webpack:///./uc/common/evenements/lister/listerprets/models/progressBar.model.js","webpack:///./uc/common/evenements/lister/listerprets/views/resumePopUp.view.js","webpack:///./uc/common/evenements/lister/listerprets/views/rowPopup.view.js","webpack:///./uc/common/evenements/lister/listerprets/views/form.view.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/views/editedRow.view.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/models/gererBadgeagesProfils.model.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/models/gererbadgeages.workflow.js","webpack:///./uc/common/evenements/gerer/gererbadgeages/views/gererBadgeages.view.js","webpack:///./uc/common/vueannuelle/models/criteresCal.model.js","webpack:///./uc/common/vueannuelle/views/form.view.js","webpack:///./uc/common/vuemensuel/models/criteresCal.model.js","webpack:///./uc/common/vuemensuel/views/form.view.js","webpack:///./core/controls/table_actionbar.tpl.html","webpack:///./core/grids/basegrid/table_cell_revertaction.tpl.html","webpack:///./core/grids/basegrid/table_cell_saverevertaction.tpl.html","webpack:///./core/grids/basegrid/table_main_menu.tpl.html","webpack:///./core/grids/basegrid/table.tpl.html","webpack:///./core/components/selecteur_chemin/selecteur_chemin_item.tpl.html","webpack:///./core/tree/tree_node_next.tpl.html","webpack:///./core/tree/tree_node.tpl.html","webpack:///./core/components/selecteur_chemin/selecteur_chemin_dialog.tpl.html","webpack:///./core/components/selecteur_chemin/selecteur_chemin.tpl.html","webpack:///./uc/common/briques/baffec/briqueAffectationEnCours.tpl.html","webpack:///./uc/common/briques/bdemcoll/briqueDemandesCollaborateurs.tpl.html","webpack:///./uc/common/briques/beff/detail.tpl.html","webpack:///./core/controls/button_bar.tpl.html","webpack:///./uc/common/briques/persobriques/briqueLine.tpl.html","webpack:///./uc/common/parametragebresultats/editedRowCompteurs.tpl.html","webpack:///./uc/common/parametragebresultats/detail.tpl.html","webpack:///./uc/common/briques/persobriques/detail.tpl.html","webpack:///./uc/common/briques/persobriques/general.tpl.html","webpack:///./uc/common/briques/binfmem/briqueInfosMemos.tpl.html","webpack:///./uc/common/briques/bdem/briqueMesDemandes.tpl.html","webpack:///./uc/common/briques/bmonresp/briqueMonResponsable.tpl.html","webpack:///./uc/common/briques/bmonresp/detail.tpl.html","webpack:///./core/components/collapsible_block/dropDownViewContainerComponent.tpl.html","webpack:///./uc/common/wkfhisto/detail.tpl.html","webpack:///./core/grids/editablegroupegrid/table_cell_multiselectaction_tristate.tpl.html","webpack:///./uc/common/evenements/gerer/gererpiecesjointes/gererpiecesjointes.tpl.html","webpack:///./core/components/file_transfer/file_transfer_item.tpl.html","webpack:///./core/components/file_transfer/file_transfer.tpl.html","webpack:///./uc/common/piecesjointes/composant.tpl.html","webpack:///./uc/common/evenements/gerer/gererprets/popUp.tpl.html","webpack:///./uc/common/evenements/gerer/gererprets/gererPrets.tpl.html","webpack:///./uc/common/evenements/gerer/gererprets/multiLabel-modeSaisie.tpl.html","webpack:///./uc/common/evenements/gerer/gererprets/multiLabel-typeSaisie.tpl.html","webpack:///./uc/common/evenements/lister/listerprets/headerPopup.tpl.html","webpack:///./uc/common/evenements/lister/listerprets/resumePopUp.tpl.html","webpack:///./uc/common/evenements/lister/listerprets/rowPopup.tpl.html","webpack:///./uc/common/evenements/lister/listerprets/detail.tpl.html","webpack:///./uc/common/briques/bemprunt/briqueMesEmprunts.tpl.html","webpack:///./app/portlet.tpl.html","webpack:///./uc/common/briques/bresultats/briqueResultatsCompteurs.tpl.html","webpack:///./uc/common/briques/bsitreg/briqueSituationsARegulariser.tpl.html","webpack:///./uc/common/briques/bsitpart/briqueSituation.tpl.html","webpack:///./app/home.tpl.html","webpack:///./uc/common/badgeage/badgeage_compte_dialog.tpl.html","webpack:///./app/badgeage_menu_layout.tpl.html","webpack:///./uc/common/resultatgrpcompteurs/consultation.tpl.html","webpack:///./uc/common/resultatgrpcompteurs/groupecompteurs.tpl.html","webpack:///./app/rgaaBadgeage.tpl.html","webpack:///./app/tabsheet.tpl.html","webpack:///./app/tabsheet_item.tpl.html","webpack:///./app/zone.tpl.html","webpack:///./uc/common/lanceetat/filter.tpl.html","webpack:///./core/components/filter/filter_layout.tpl.html","webpack:///./uc/common/lanceetat/detailSelecteurRefDialog.tpl.html","webpack:///./core/components/selecteur_referentiel/selecteur_referentiel_item.tpl.html","webpack:///./core/components/selecteur_referentiel/selecteur_referentiel.tpl.html","webpack:///./uc/common/lanceetat/detail.tpl.html","webpack:///./uc/common/lanceetat/detailHeader.tpl.html","webpack:///./core/layouts/liste_detail_panel.tpl.html","webpack:///./core/components/navigation/navigation_layout.tpl.html","webpack:///./uc/common/suvietat/customBar.tpl.html","webpack:///./core/layouts/simple_panel.tpl.html","webpack:///./uc/common/suvietat/suvietat.tpl.html","webpack:///./uc/common/calendacc/customBar.tpl.html","webpack:///./uc/common/calendacc/footer.tpl.html","webpack:///./uc/common/vueannuelle/detail.tpl.html","webpack:///./uc/common/evenements/gerer/gererbadgeages/detailRow.tpl.html","webpack:///./uc/common/evenements/gerer/gererbadgeages/popUp.tpl.html","webpack:///./uc/common/evenements/gerer/gererbadgeages/detail.tpl.html","webpack:///./uc/common/evenements/gerer/gereronebadgeage/popUp.tpl.html","webpack:///./uc/common/evenements/gerer/gereronebadgeage/detail.tpl.html","webpack:///./uc/common/vuemensuel/detail.tpl.html","webpack:///./uc/common/vuemensuel/horairePlageTooltip.tpl.html","webpack:///./app/menuNiv1.tpl.html","webpack:///./app/menubar.tpl.html","webpack:///./uc/common/profilutilisateur/profileMenuItem.tpl.html","webpack:///./uc/common/profilutilisateur/profileRecu.tpl.html","webpack:///./uc/common/profilutilisateur/profilesMenu.tpl.html","webpack:///./uc/common/referentiel/referentielutilisateur/detailSelecteurRefDialog.tpl.html","webpack:///./uc/common/referentiel/referentielutilisateur/detail.tpl.html","webpack:///./uc/common/droitsdel/filter.tpl.html","webpack:///./uc/common/droitsdel/tooltipDeleg.tpl.html","webpack:///./uc/common/droitsdel/detail.tpl.html","webpack:///./app/usermenu.tpl.html","webpack:///./uc/common/badgeage/badgeage_menu_layout.tpl.html","webpack:///./uc/common/referentiel/referentielcollaborateur/detailSelecteurRefDialog.tpl.html","webpack:///./uc/common/referentiel/referentielcollaborateur/detail.tpl.html","webpack:///./uc/common/populationsmenu/popupSelectCollaborateur.tpl.html","webpack:///./uc/common/populationsmenu/simpleSelectourStructureDialog.tpl.html","webpack:///./uc/common/populationsmenu/populationMenu.tpl.html","webpack:///./uc/common/populationsmenu/structuresMenu.tpl.html","webpack:///./app/zone_item.tpl.html","webpack:///./app/header.tpl.html","webpack:///./appFrame/tabsheet.tpl.html","webpack:///./appFrame/tabsheet_item.tpl.html","webpack:///./appFrame/zone.tpl.html","webpack:///../node_modules/es6-map/implement.js","webpack:///../node_modules/es6-map/is-implemented.js","webpack:///../node_modules/es5-ext/global.js","webpack:///../node_modules/es6-map/polyfill.js","webpack:///../node_modules/es5-ext/array/#/e-index-of.js","webpack:///../node_modules/es5-ext/number/is-nan/index.js","webpack:///../node_modules/es5-ext/number/is-nan/is-implemented.js","webpack:///../node_modules/es5-ext/number/is-nan/shim.js","webpack:///../node_modules/es5-ext/number/to-integer.js","webpack:///../node_modules/es5-ext/math/sign/index.js","webpack:///../node_modules/es5-ext/math/sign/is-implemented.js","webpack:///../node_modules/es5-ext/math/sign/shim.js","webpack:///../node_modules/es5-ext/object/is-object.js","webpack:///../node_modules/es5-ext/object/create.js","webpack:///../node_modules/es5-ext/object/assign/is-implemented.js","webpack:///../node_modules/es5-ext/object/assign/shim.js","webpack:///../node_modules/es5-ext/object/keys/index.js","webpack:///../node_modules/es5-ext/object/keys/is-implemented.js","webpack:///../node_modules/es5-ext/object/keys/shim.js","webpack:///../node_modules/es5-ext/object/is-callable.js","webpack:///../node_modules/es5-ext/string/#/contains/is-implemented.js","webpack:///../node_modules/es5-ext/string/#/contains/shim.js","webpack:///../node_modules/event-emitter/index.js","webpack:///../node_modules/es6-symbol/is-implemented.js","webpack:///../node_modules/es6-symbol/polyfill.js","webpack:///../node_modules/es6-symbol/validate-symbol.js","webpack:///../node_modules/es6-symbol/is-symbol.js","webpack:///../node_modules/es6-iterator/is-iterable.js","webpack:///../node_modules/es6-iterator/for-of.js","webpack:///../node_modules/es6-iterator/get.js","webpack:///../node_modules/es6-iterator/array.js","webpack:///../node_modules/d/auto-bind.js","webpack:///../node_modules/es5-ext/object/copy.js","webpack:///../node_modules/es5-ext/array/from/index.js","webpack:///../node_modules/es5-ext/array/from/is-implemented.js","webpack:///../node_modules/es5-ext/array/from/shim.js","webpack:///../node_modules/es5-ext/function/is-function.js","webpack:///../node_modules/es5-ext/object/map.js","webpack:///../node_modules/es5-ext/object/for-each.js","webpack:///../node_modules/es5-ext/object/_iterate.js","webpack:///../node_modules/es6-iterator/string.js","webpack:///../node_modules/es6-map/lib/iterator.js","webpack:///../node_modules/es6-map/lib/iterator-kinds.js","webpack:///../node_modules/es5-ext/object/primitive-set.js","webpack:///../node_modules/es6-map/is-native-implemented.js","webpack:///./uc/common/briques/baffec/models/affectationEnCours.model.js","webpack:///./uc/common/briques/baffec/models/affectationComplem.collection.js","webpack:///./uc/common/briques/baffec/models/affectationPrincip.collection.js","webpack:///./uc/common/briques/baffec/models/affectationRempla.collection.js","webpack:///./uc/common/briques/baffec/models/typeStructure.model.js","webpack:///./uc/common/briques/baffec/views/affectationEnCours.view.js","webpack:///./uc/common/briques/bdemcoll/models/activites.collection.js","webpack:///./uc/common/briques/bdemcoll/models/demandesCollaborateurs.model.js","webpack:///./uc/common/briques/bdemcoll/models/evenementsGenerique.collection.js","webpack:///./uc/common/briques/bdemcoll/views/demandesCollaborateurs.view.js","webpack:///./uc/common/briques/beff/models/effectifs.model.js","webpack:///./uc/common/briques/beff/models/libelles.model.js","webpack:///./uc/common/briques/beff/models/libellesModel.collection.js","webpack:///./uc/common/briques/beff/views/effectifs.view.js","webpack:///./uc/common/briques/persobriques/views/briquesLine.view.js","webpack:///./uc/common/briques/persobriques/models/listeBriques.model.js","webpack:///./uc/common/briques/persobriques/models/listeBriques.collection.js","webpack:///./uc/common/parametragebresultats/models/activate.model.js","webpack:///./uc/common/parametragebresultats/models/compteursTable.model.js","webpack:///./uc/common/parametragebresultats/models/compteursTable.collection.js","webpack:///./uc/common/parametragebresultats/models/deplacerCompteurs.model.js","webpack:///./uc/common/parametragebresultats/views/editedRowCompteurs.view.js","webpack:///./uc/common/parametragebresultats/models/parametrage.model.js","webpack:///./uc/common/parametragebresultats/models/parametragebresultats.workflow.js","webpack:///./uc/common/parametragebresultats/views/parametrage.view.js","webpack:///./uc/common/briques/persobriques/models/persoBriquesDelete.model.js","webpack:///./uc/common/briques/persobriques/views/briquesListe.view.js","webpack:///./uc/common/briques/persobriques/models/persoBriques.model.js","webpack:///./uc/common/briques/persobriques/views/general.view.js","webpack:///./uc/common/briques/binfmem/models/infosMemos.model.js","webpack:///./uc/common/briques/binfmem/models/viserInfoMemos.model.js","webpack:///./uc/common/briques/binfmem/views/infosMemos.view.js","webpack:///./uc/common/briques/bdem/models/mesDemandes.collection.js","webpack:///./uc/common/briques/bdem/views/mesDemandes.view.js","webpack:///./uc/common/briques/bmonresp/models/monResp.model.js","webpack:///./uc/common/briques/bmonresp/models/monResp.collection.js","webpack:///./uc/common/briques/bmonresp/models/avantAjout.model.js","webpack:///./uc/common/briques/bmonresp/views/editedRow.view.js","webpack:///./uc/common/briques/bmonresp/views/monResponsable.view.js","webpack:///./uc/common/briques/bemprunt/views/mesEmprunts.view.js","webpack:///./app/views/portlet.view.js","webpack:///./uc/common/briques/bresultats/models/resultats.model.js","webpack:///./uc/common/briques/bresultats/views/resultats.view.js","webpack:///./uc/common/briques/bsitreg/models/situationsARegulariser.collection.js","webpack:///./uc/common/briques/bsitreg/views/situationsARegulariser.view.js","webpack:///./uc/common/briques/bsitpart/models/situation.model.js","webpack:///./uc/common/briques/bsitpart/views/situation.view.js","webpack:///./uc/common/badgeage/models/dialog.model.js","webpack:///./uc/common/badgeage/models/fonctions.model.js","webpack:///./uc/common/badgeage/models/fonctions.collection.js","webpack:///./uc/common/badgeage/models/lastBadge.model.js","webpack:///./app/views/badgeageVirtuelMenu.view.js","webpack:///./app/views/rgaaBadgeage.view.js","webpack:///./app/views/home.view.js","webpack:///./app/views/tabSheet.view.js","webpack:///./app/views/zone.view.js","webpack:///./app/views/body.view.js","webpack:///./app/views/focusToFormSave.view.js","webpack:///./uc/common/lanceetat/views/buttonBar.view.js","webpack:///./uc/common/lanceetat/models/etats.model.js","webpack:///./uc/common/lanceetat/models/etats.collection.js","webpack:///./uc/common/lanceetat/views/filterContent.view.js","webpack:///./uc/common/lanceetat/models/criteres.model.js","webpack:///./uc/common/lanceetat/models/criteres.collection.js","webpack:///./uc/common/lanceetat/models/criteresReinit.model.js","webpack:///./uc/common/lanceetat/models/populationCombo.model.js","webpack:///./uc/common/lanceetat/models/critidCombo.collection.js","webpack:///./uc/common/lanceetat/models/dynamicCombo.model.js","webpack:///./uc/common/lanceetat/models/dynamicComboModel.collection.js","webpack:///./uc/common/lanceetat/models/lancerEtat.model.js","webpack:///./uc/common/lanceetat/views/selecteurRefDialog.view.js","webpack:///./uc/common/lanceetat/views/form.view.js","webpack:///./uc/common/lanceetat/views/header.view.js","webpack:///./uc/common/suvietat/views/customBar.view.js","webpack:///./uc/common/suvietat/models/suvietat.model.js","webpack:///./uc/common/suvietat/models/suvietat.collection.js","webpack:///./uc/common/suvietat/views/suvietatEditedRow.view.js","webpack:///./uc/common/suvietat/views/suvietat.view.js","webpack:///./uc/common/suvietat/models/suvietat.workflow.js","webpack:///./uc/common/suvietat/views/general.view.js","webpack:///./uc/common/lanceetat/models/lanceetat.workflow.js","webpack:///./uc/common/lanceetat/views/general.view.js","webpack:///./uc/common/calendacc/views/customBar.view.js","webpack:///./uc/common/calendacc/views/footer.view.js","webpack:///./uc/common/calendacc/models/calendaccElements.model.js","webpack:///./uc/common/calendacc/models/calendaccVasco.model.js","webpack:///./uc/common/calendacc/models/calendaccZones.model.js","webpack:///./uc/common/calendacc/models/calendacc.model.js","webpack:///./uc/common/calendacc/views/form.view.js","webpack:///./uc/common/calendacc/models/calendacc.workflow.js","webpack:///./uc/common/calendacc/views/general.view.js","webpack:///./app/views/zoneMenu.view.js","webpack:///./app/views/menuBar.view.js","webpack:///./utils/profile.js","webpack:///./uc/common/profilutilisateur/models/profilutilisateur.workflow.js","webpack:///./uc/common/profilutilisateur/views/profilUtilisateur.view.js","webpack:///./app/views/profileSelector.js","webpack:///./app/views/userMenu.view.js","webpack:///./uc/common/badgeage/views/badgeageVirtuelMenu.view.js","webpack:///./uc/common/populationsmenu/models/population.model.js","webpack:///./uc/common/populationsmenu/models/population.collection.js","webpack:///./uc/common/populationsmenu/models/populationStructure.model.js","webpack:///./uc/common/populationsmenu/models/populationSelectColaborateurs.model.js","webpack:///./uc/common/populationsmenu/views/popupSelectCollab.view.js","webpack:///./uc/common/populationsmenu/views/popupSelectStructure.view.js","webpack:///./uc/common/populationsmenu/models/typeStructure.model.js","webpack:///./uc/common/populationsmenu/models/typeStructure.collection.js","webpack:///./uc/common/populationsmenu/views/plainStructures.view.js","webpack:///./uc/common/populationsmenu/views/populationMenu.view.js","webpack:///./app/views/zoneSelector.view.js","webpack:///./app/views/header.view.js","webpack:///./uc/routerFactory.js","webpack:///./app/router.js","webpack:///./appFrame/views/tabSheetViewFrame.js","webpack:///./appFrame/views/zoneViewFrame.js","webpack:///./appFrame/views/bodyViewFrame.js","webpack:///./appFrame/models/workFlowModelFrame.js","webpack:///./appFrame/router.js","webpack:///./startup.js","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack:///../node_modules/rxjs/_esm5/internal/config.js","webpack:///../node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack:///../node_modules/rxjs/_esm5/internal/Observer.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isArray.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isObject.js","webpack:///../node_modules/rxjs/_esm5/internal/util/errorObject.js","webpack:///../node_modules/rxjs/_esm5/internal/util/tryCatch.js","webpack:///../node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack:///../node_modules/rxjs/_esm5/internal/Subscription.js","webpack:///../node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/Subscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack:///../node_modules/rxjs/_esm5/internal/util/noop.js","webpack:///../node_modules/rxjs/_esm5/internal/util/pipe.js","webpack:///../node_modules/rxjs/_esm5/internal/Observable.js","webpack:///../node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/observable/empty.js","webpack:///../node_modules/rxjs/_esm5/internal/InnerSubscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/symbol/iterator.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeTo.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isArrayLike.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeToArray.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isPromise.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js","webpack:///../node_modules/rxjs/_esm5/internal/OuterSubscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/operators/map.js","webpack:///../node_modules/rxjs/_esm5/internal/observable/forkJoin.js","webpack:///../node_modules/rxjs/_esm5/internal/util/subscribeToResult.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","8","__webpack_require__","module","l","exports","e","promise","script","error","onScriptComplete","timeout","promises","installedChunkData","Promise","resolve","reject","document","createElement","charset","nc","setAttribute","src","p","Error","event","onerror","onload","clearTimeout","errorType","chunk","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","oldJsonpFunction","jsonpArray","window","slice","s","STR","isEmpty","str","isBlank","test","buildMessageParametres","parametres","result","array","sort","a","b","j","replace","formatMessage","msgs","strMsg","_","each","isObject","this","substring","getElValue","model","tokens","split","getElValueFromObj","has","setElValue","options","objectValue","clone","_extendObject","Backbone","Model","set","replaceCharAt","index","chr","substr","extend","extractObjectValues","auxArray","values","it","flatten","toFirstUpperCase","string","toUpperCase","convertToAscii","resultString","charCodeAt","_extends","assign","arguments","source","consoleLogger","log","args","output","warn","_console","apply","arr","Array","isArray","arr2","from","Logger","concreteLogger","instance","Constructor","TypeError","init","prefix","logger","debug","setDebug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","on","events","listener","_this","forEach","off","_this2","indexOf","splice","emit","concat","observer","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","obj","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","regexEscape","_entityMap","_EventEmitter","_inherits","subClass","superClass","constructor","writable","configurable","setPrototypeOf","_defaults","defaults","keys","getOwnPropertyNames","getOwnPropertyDescriptor","ResourceStore","defaultNS","self","ReferenceError","keySeparator","addNamespaces","removeNamespaces","getResource","lng","addResource","silent","addResources","resources","addResourceBundle","deep","overwrite","pack","deepExtend","prop","String","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","toJSON","processors","addPostProcessor","handle","translator","processor","process","_typeof","iterator","Translator","services","changeLanguage","language","exists","resolved","interpolation","res","extractFromKey","parts","nsSeparator","namespaces","join","translate","overloadTranslationOptionHandler","_extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resType","toString","joinArrays","returnObjects","returnedObjectHandler","deepKey","copy","extendTranslation","usedDefault","updateMissing","isValidLookup","defaultValue","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","count","pluralResolver","getPluralFormsOfKey","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","postProcess","i18nFormat","parse","usedLng","usedNS","skipInterpolation","interpolator","defaultVariables","interpolate","nest","reset","postProcessorNames","applyPostProcessor","postProcessor","_this4","found","needsPluralHandling","needsContextHandling","codes","extracted","fallbackNS","context","code","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","getSuffix","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","capitalize","charAt","LanguageUtil","whitelist","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","map","part","cleanCode","isWhitelisted","load","nonExplicitWhitelist","fallbacks","default","fallbackCode","addCode","fallbackCodes","fc","sets","nr","_rulesPluralsTypes","1","Number","2","3","4","5","6","7","9","10","11","12","13","14","15","16","17","18","19","20","21","PluralResolver","rules","numbers","plurals","addRule","getRule","needsPlural","rule","ret","suffix","returnSuffix","idx","noAbs","Math","abs","simplifyPluralSuffix","prepend","compatibilityJSON","Interpolator","iOpts","format","escape","escapeValue","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","maxReplaces","resetRegExp","regexpStr","regexpUnescapeStr","regexp","RegExp","nestingRegexpStr","regexpUnescape","nestingRegexp","match","replaces","regexSafe","val","handleFormat","trim","f","temp","exec","lastIndex","missingInterpolationHandler","clonedOptions","handleHasOptions","inheritedOptions","optionsString","JSON","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","next","done","Connector","backend","store","state","queue","queueLoad","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","errors","_name$split","_name$split2","q","_getLastOfPath2","what","filter","read","fcName","tried","wait","_this5","loadOne","reload","_this6","_this7","_name$split3","_name$split4","fallbackValue","isUpdate","transformOptions","noop","I18n","external","isInitialized","isClone","initImmediate","_ret","createClassOnDemand","ClassOrObject","preload","pluralSeparator","tDescription","_format","lu","LanguageUtils","BackendConnector","languageDetector","detection","_store","loadResources","append","reloadResources","use","setLng","cacheUserLanguage","async","detect","getFixedT","fixedT","opts","rest","_translator","_translator2","setDefaultNamespace","loadNamespaces","loadLanguages","preloaded","newLngs","dir","createInstance","cloneInstance","mergedOptions","i18next","conf","loadPath","url","Configuration","restRoot","tempData","famille","libelle","credentials","cache","i18n","location","href","XHR","TYPE","supportedClass","_getMaskByType","_getCodeByTypeClass","_getMaskByCode","_getFormatByType","_getFormatByCode","typeClass","_getTypeClassByCode","_getTypeByTypeClass","HOUR_MINUTE","HOUR_MINUTE_NIGHTLY","DURATION","HOUR_MINUTE_24","HOUR_HUNDREDTH","HOUR_HUNDREDTH_24","MINUTES","SHORT","LONG","DECIMAL","DECIMAL_1","DECIMAL_2","JOUR","JOUR_0","JOUR_1","JOUR_2","PERCENTAGE","PERCENTAGE_0","PERCENTAGE_1","PERCENTAGE_2","DATE","CUSTOM","_getTypeByCode","BOOLEAN","EMAIL","RESTDIV97","mask","GLOBAL_DATA","types","_getDecimalsByCode","decimals","_getMaskCode","attr","view","maskCode","typeMaskByClass","DEFAULT_MASK_CODE","_getMaskByFormat","formatMask","numberSize","totalMinus","totalPlus","thereIsAMinus","thereIsAPlus","_isInt","_getCaretPosition","ctrl","CaretPos","selectionStart","_isCaretSelection","selection","selectionEnd","_setCaretPosition","pos","setSelectionRange","focus","createTextRange","range","collapse","moveEnd","moveStart","select","_eventFocus","className","attrModelValue","dynamicAttributes","_convertDynamicAttributes","_getModel","inputMask","TEMP_origVal","$","hasClass","INFINITY","paramDivers","parseOnFocus","lastFocusedInput","_eventBlur","LOG","change","_eventKeypress","left2Right","begin","old","separators","which","keyCode","preventDefault","ctrlKey","caretPos","end","fromCharCode","MASK","applyInputMask","_getSeparatorsFromMask","contains","_eventDownRight2Left","valueLength","_eventDownLeft2Right","_getInputLongByCode","tdaCode","defaultSize","size","max","addZerosFromLeft","number","addZerosFromRight","childProps","child","input","validate","out","_cleanInput","isUndefined","applyFormatMask","selector","eventsObj","TYPE_CLASS","BASETYPE","parseInt","min","lengt","hour","plus","h1","h2","h1Hour","h2Hour","h1Min","h2Min","hours","minutes","hoursToMinutes","floor","minutesToHours","diff","h1Date","Date","h2Date","getTime","NIGHT_TIME","isNumber","nightSymbol","nightTime","HOUR_MINUTE_SECONDS","validateShort","time","addDurees","d1","d2","duration","_toMinutes","_toDuration","_calculateDuration","MAX_VALUE","MIN_VALUE","short","long","DEFAULT_FORMAT","typeFormatByClass","SEPARATOR","ndecimals","separator","pow","round","parseFloat","find","iconStyle","fieldSetStyle","title","$span","_validatePattern","typeA","typeB","numss","valid","DEFAULT_MASK_BBDD","DEFAULT_MASK_FRENCH","SUNDAY_NUMBER","MONDAY_NUMBER","FRIDAY_NUMBER","INITIAL","ML_SECONDS_DAY","dateInArray","_obtainDateArray","_getMaskedStringFromArray","day","month","_cleanDateInput","dateArray","_pad","strDate","hourSeparator","milliseconds","H","M","date","formattedMask","strToDate","_formatMask","getDate","D","getDay","getMonth","y","getFullYear","getHours","getMinutes","getSeconds","L","getMilliseconds","flags","Day","DAY","Dy","dy","DY","DD","Month","MONTH","Mo","mo","MO","MM","YYYY","YY","hh","h","HH","mm","ss","tt","TT","T","manageInfinity","_validateDateFormat","_validateDate","validatePeriod","startDate","endDate","errorMsg2","errorMsg","label","editedAttr","isInfinity","datedeb","datefin","dateToStr","hsep","hasHour","getCurrentDate","SYNC","getServerDate","getWeeklyMonday","newDate","UTILS","addDays","daysToRest","getWeeklySunday","daysToSum","getWeeklyFriday","getDiffInDays","date1","date2","truncate","_truncate","getDiffInMonth","months","getFullPeriode","periode","diffDays","getNumberOfDays","setSeconds","setMinutes","setHours","setMilliseconds","dontFillItWithDate","currentDate","filledStr","search","year","dateInString","hourArray","sep","lastChar","char","_isLeapYear","_replaceAll","searchStr","replaceStr","dateLength","endDateValue","periodId","endDateName","$el","SEPARATOR_SYMBOL","MILLAR_SYMBOL","ERROR_INCOMPLETE","ERROR_IMPOSSIBLE","millar","maskPos","valPos","negative","maskWithSing","maskDigitLength","valDigitsNumber","whiteCount","previousValue","applyDateInputMask","allowSign","sign","maskIt","inputIt","alreadySigned","acceptedSymbols","isNaN","_trimNumber","numCount","len","objs","BaseModel","dummy","fetch","l_options","urlParams","version","currentVersion","GET","setHeaders","HEADERS","versionContext","_prepareUrlParams","activeSimulation","prepareSimulation","_prepareEcranHeader","habContext","header","usePopulation","preparePopulation","_checkHabilitations","habilitationV","HABILITATION","canView","preparePopulationAndHabiliation","habilitationContext","usecase","development","habilitationG","success","Deferred","popId","popType","popCode","popNat","popDesc","populationMenu","populationContext","passreel","vueJourneeDate","sim","simulationData","simulationModel","ctxAffReelPasse","ctxVueJourneeDate","simulationContext","save","isValOptions","isNew","POST","PUT","_prepareOptionsErrors","canViewTreatment","canCreate","canUpdate","destroy","DELETE","canDelete","ecran","ecranContext","headers","oldAttributes","stringify","attributes","getOldAttribute","attrName","oldAttr","revert","validationError","setHabilitation","V","G","setHabContext","setVersion","updateHabContext","update","getHabContext","pWhere","params","errorCallback","response","errorField","status","responseText","errorValidation","responseJSON","attribut","FORMS","assignValue","trigger","oldStatus","oldResponseText","level","levelMap","methodMap","msg","innerLog","info","pLevel","method","fonction","right","fonctions","toArray","rights","canViewAll","showErrors","jQueryRootSelector","fieldErrors","hold","errorsDescription","$formErrors","errorCount","_countErrors","html","css","inputId","errorValue","errorContainer","referentielParent","labelId","isBadgeage","fieldName","saisie","isString","_cleanInputErrors","removeClass","removeAttr","detach","addClass","is","tooltip","tooltipClass","errorDiv","parents","after","viewRef","ComboBoxView2","subField","cleanErrors","linkLabelsToInputs","element","domEl","classes","classnameSelector","newid","uniqueId","rootSelector","oldId","$label","text","setInputFieldReadonly","fieldset","fieldname","readonly","el","autosizeInput","readonlyDatepicker","parent","hide","enable","resetSizeInput","show","setTextareaFieldReadonly","remove","setSelectFieldReadonly","before","toObject","_assignValue","removeValue","_removeValue","pointToSBracket","_pointToSBracket","clon","width","getWidthFromMirror","mirror","style","oldWidth","setFormReadonly","readonlyForm","forcedByHabilitations","setFieldReadonly","setReadOnly","setToReadonly","fieldIsReadonly","forcedToReadonly","_enable","track","position","my","at","collision","open","ui","originalEvent","close","content","datepicker","getLanguage","phoenixArgs","yearRange","showOn","buttonText","dateFormat","minDate","onClose","blur","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","setDatepicker","typeMask","beforeShow","startDateValue","valueAsDate","startDateName","modifyDatepicker","datePickerOptions","disableDatepicker","disabled","$element","oldValue","datePicker","siblings","disableElement","HabilitationContext","onglet","fonc_cour","nat_gest","initialize","copyAttributes","overrideNatureGestion","isBoolean","attrs","ctx","PaginatedCollection","BaseCollection","idnames","pagination","startIndex","pageSize","sortings","totalRecords","ajaxRequests","paginated","omittedParams","setOmittedParams","models","Collection","findAndGo","ids","queryIds","id","fetchPagination","methodEnding","selectOld","optionsText","asking","omit","yes","no","MSGS","showConfirm","pick","_resetOriginalParams","goTo","fresh","prev","oldSilent","options2","oldIndex","sync","respPagination","pSorting","querySort","tri","qParams","gruped","nbrang","ROWS_FOR_FILE","resetPagination","total","list","xhr","_lastSync","then","applyFilter","clearFilter","global_loading_counter","usecase_loading_counter","usecase_loading_exception","_logear","appRt","workflow","authModel","clear","pathname","_isLoged","isFramed","l_rtn","userlocale","configuration","getCookieValue","firstidx","currentcookie","cookie","lastidx","unescape","checkListOfValues","valueMin","valueMax","reponse","existMin","existMax","RegExPatternRange","tokensRange","numDays","setDate","addDaysString","dateAux","disableKeys","showUsecaseHidder","targetUc","newId","history","getFragment","hidder","topOffset","height","$usecase","showHidder","l_exist","offset","keydown","top","escapeJQueryString","expression","l_expression","addScapeSlashesForJQuerySelector","hideUsecaseHidder","unbind","removeHidder","body","resetHidder","cloneArray","getNumWeeksForMonth","firstOfMonth","days","daysInMonth","weeks","getWeekNumOfDate","week","backboneObjectRecollector","_recursiveRecollector","_isRecollectableValue","_isBackboneObject","_resetBackboneObject","isBackb","View","recollectable","recollected","backboneProperties","stopListening","stringToBoolean","original","stringValue","NaN","cloneObj","jsonObj","getTextWidth","isIE","ua","navigator","userAgent","msie","ie11","ie12","isFirefox","isInteger","isFinite","binaryIndexOf","someArray","searchElement","f_comparator","currentIndex","minIndex","maxIndex","previousElement","currentElement","DesactivateMessageModel","encodeURIComponent","numero","confirmMessage","opt","casesArray","showInfo","rgaa","theme","varchar1","$div","$p","dialog","dialogClass","maxHeight","maxWidth","minHeight","minWidth","draggable","resizable","of","$parent","showWarning","noShowAgainButton","noShowAgainId","noShowAgain","SESSION","icon","modal","buttons","autofocus","click","wrap","showInfoOpt","showError","tributton","oneButton","btn","cancel","showNotification","notification","image","icone","titre","check","boutons","button","callbackAction","action","last","ReadOnlyModel","FormView","_change","a_silentValue","ifValidate","silentValue","typeSelector","typeClassesArray","_controlError","isEditedRowView","checked","isComboBoxView2","multiselection","getItemId","_notifyEdition","isTyped","tempError","arrayErrors","individual","groupedErrors","simpleClassName","_manageMode","newMode","_enablePk","enabled","pkSelectors","_getFieldset","inputsNumber","eq","_mapModelToForm","renderers","avoidLinkingLabels","typeRenderers","typeClasses","isReadonly","l_type","l_findInput","a_typeClass","v","a_formatMask","isNull","l_formatMask","tempValue","nameFragments","setItem","setItems","isRadioBoxView","manageAdditionalViewState","isSelecteurActivitesView","disableClickOnReadonlyCheckbox","_panelStateRender","stopPropagation","_showValidationErrors","focusField","_cleanValidationErrors","_manageFormVisibility","_panelStateIsReadonly","isReadOnly","_panelStateRenderCustomFields","DialogView","dialogTemplate","viewData","appendTo","annuled","internalView","listenTo","resize","setAnnuled","getAnnuled","setWidth","setHeight","setMinWidth","setMinHeight","setPosition","hideCloseButton","render","_focusTabbable","components","dialogOffsetTop","component","offsetTop","SplitPanelView","SPLIT_BORDER_WIDTH","fitParent","containerHeight","outerHeight","_removeInternalView","_eventsBB","empty","_close","isOpen","_stopFocus","_handleEvents","_setTitle","_setPosition","delay","oldDelay","ready","delays","firstTime","calculateDelay","nowUTC","_manageDelay","_getDelay","_setDelay","time1UTC","time2UTC","latency","delta","random","sum","del","now","lastModificationPool","notifyChange","dateType","startListeningChanges","getLastModificationTime","preel","vuejourneedate","tagName","coll","ws","required","autreText","disableEmptyItem","autocompleteMode","autocomplete","optionsRender","item","inputRender","useExternalErrorContainer","externalCache","syncExternalCache","term","selectLetter","searchLetters","addItemCallback","removeItemCallback","AutocompleteColl","_removeItem","_resetItems","preprocessBeforeSetItem","_isValidComboId","keepOldId","div","dropDownButton","appended","minLength","menu","activeMenu","searching","codeSel","cid","_setItem","_setInputValue","_renderColorComboChange","_renderItem","ul","_resizeMenu","lis","padding","currentWith","distance_from_input_to_top_container","height_of_select_despl","l_tmpWidth","l_tmpWidthContainer","tab_contaner_height","innerWidth","limit_container","offsetHeight","scrollBot","scrollTop","visibleTop","elTop","visibleBottom","elBottom","distance_from_input_to_buttom","_fetchCombo","_updatePendingInUse","_applyFilter","_setHeight","resultList","delegateEvents","_otherText","_emptyItem","_formatItem","setItemPendingAction","setItemPendingValue","resp","_formatResponse","unshift","_fetchComboPromise","_keyDownEvent","shouldCloseMenu","_registerOneMousedonwEvent","_registerOneWheelEvent","_delay","_selectItemStartingWithLetter","handler","baseLetter","responseIndex","substringLength","firstLetter","_trigger","_buttonSearch","one","currentCode","_inputSearch","_focus","isHoverSelect","_storeValue","trulyClick","keycode","_selectItem","counter","_getItemById","_inUseState","inUse","inUseItems","union","where","clean","add","_paintItems","items","fetchCombo","_removeColorClasses","fields","field","isEqual","clearCache","_filter","filtered","setFilter","filterCallback","doneCallback","fetchComboPromise","a_context","getItem","setCache","getCache","clearColl","_events","bakRGB","textRGB","coularp","_getColorRGB","coulavp","affichage","lastIndexOf","color","coder","codeg","codeb","emptyItem","colBackground","colText","span","itemView","ComboBox2ResultItemView","setValues","_omitViews","_resetRendered","getValues","_addItem","CombosModel","CombosColl","urlMine","comboId","DataGridView","BaseGridView","DEFAULT_NANE","setOverflow","x","overflowx","overflowy","tableScroll","children","template","_renderHead","scroll","_scrollControl","scrollLeft","positionHeader","EditableGridModel","BaseGridModel","_manageRowSelection","_manageRowEdition","btnBarModel","propertyPK","multiselectColl","_manageMultiSelection","readOnly","setUp","buttonAction","buttonId","_buttonAction","_manageRowOrdering","currentHabContext","ctxHabilitation","HabilitationGestion","editedModel","selectRow","row","lastCode","elements","_recursiveSuppress","l_position","urlRoot","DataGridModel","NAV","MAX_TABS","navigate","zone","a_trigger","force","mod","routerName","l_zone","_searchZoneFromUc","navigateToModule","checkMaximumTabs","zoneGoingTo","isMaximum","tabstotal","usecaseGoingTo","previous","EditableGridView","DEFAULT_HEIGHT","editable","isEditableGridView","currentVue","columns","column","pk","viewRow","parentId","headerFixed","heightMax","_showButtonBar","buttonBar","ActionBarView","iconsOnly","positionNewButtonsOnLeft","tbody","rowView","DataGridRowView","dataGrid","rows","_scrollToIndex","manageCustomMessageVisibility","_focusFirstCell","_focusFirstSelectibleCell","_saveRowEdition","_revertRowEdition","_resetBtnBar","keyEvent","rowInEdition","_focusLastCell","clickRow","_renderButtonBar","vues","showLevierMultipleViews","_addButtonSwitchVues","showButtonsMultipleVues","_renderVuesButtonBar","l_height","innerHeight","applyHabilitations","enableEdition","habilitationUpdate","_columns","visible","_unlockColumn","_lockColumn","setButtonBarAutoRender","renderBtnBar","allowEdition","allowed","allowRowUpdate","_allowRowUpdate","disableDeleteButton","disable","disableCopyButton","overrideMenu","customButtonActionCallback","callingView","_focusCell","editModeCellSelected","findCell","cell","DataGridActionCellView","dataGridRow","disableEdition","DataGridCellView","setText","edited","showedColumns","blokedColumns","_selectRow","_unselectRow","_editRow","_uneditRow","_showMultiSelection","_selectCell","_notSelectable","_selectable","_supprimed","_rowListener","isCheckbox","isLink","isSelect","isOption","isSelected","editActionClicked","currentTarget","dblclick","_toggleMultiSelection","closest","selectable","currentCell","cellSelected","double","collection","enableSelectionOnDblclick","canEdit","canEditCallback","shiftKey","_visible","visibleRow","hideRequieredColumns","nextCellPosition","nextCell","container","_selectAdjacentCell","canRemove","_unlinkColumnNamesToInputs","showRequieredColumns","_linkColumnNamesToInputs","isChecked","_isChecked","filterSelection","filterSelectionFunction","filterMultiSelectColl","rowThis","_renderForm","_addActionCell","TPL_common_table_cell_multiselectaction","TPL_common_table_cell_editaction","_addCell","cells","alignment","_columnsAlign","cellRender","cellRenderers","paddingZero","pks","setElement","rowContent","columnsIndex","actionCell","editableCell","_isRowUpdatable","TPL_common_table_cell_saverevertaction","TPL_common_table_cell_revertaction","insertBefore","block","toggleColumn","unblock","ButtonBarView","focusToFormSaveElement","TPL_common_button_bar","_manageEnabled","ignoreHabilitationsNature","isEnabled","droits","eventName","eventParts","hideButton","showButton","enableButton","disableButton","buttonsTitle","habilitations","manageHabContext","_disableButtons","$button","_clickListener","btnClicked","_customClickListener","_toggleMenu","menuId","json","showText","icons","primary","addButtonAt","insertTo","habilitation","hasMenu","menuOptions","discret","$groupButton","l_showText","$options","addButton","addButtonFirst","deleteButton","changeButtonLabel","setTitle","sessionStorage","removeItem","a_params","itemRenderer","_renderer","InternColumnModel","headerFake","omitMenu","radioOff","sortable","InternVueModel","vueName","nongroupee","menuName","beforeFetchCallback","minWidthMode","_visibleColumns","_lockedColumns","_sortableCustomNames","ColumnsChooserView","TPL_common_table_col_menu","invisible","_manageIcons","_hideMenuOption","_showMenuOption","classPrefix","_configureMenu","columnName","toggleClass","_manageVisibleState","$menu","$li","$a","menuTitle","_selectOption","columnId","$targetEl","visibleLength","invisibleLength","setMenuItemTitle","$entry","DataGridCellThFakeView","hIndex","cellIndex","brother","handles","newWidth","helper","DataGridCellThView","columnCode","sortButton","sortButtonIcon","_manageChecking","currentColumn","otherColumns","difference","hideSortButton","datagrid","stop","parentModified","originalSize","minWidhtText","_setTableMinWidth","headerNodesSelection","findIndex","isEqualNode","_setTristateUnchecked","_setTristateUndefined","_setTristateChecked","jQtarget","_selectUnselectAll","selectAllRows","clearSelectedRows","setHeaderTitle","hide_in_chrome","hideHeader","setOriginalWidth","setWidthAuto","show_in_chrome","showResizeable","hideResizeable","showRightMargin","hideRightMargin","cellsLength","MainChooserView","TPL_common_table_main_menu","_changeVueSelected","subMenuCols","resetVisibility","dynamic","subMenuVues","li","vuesLength","defaultVue","submenu","_selectColumn","_selectVue","_manageVueIcons","targetEl","DEFAULT_COL_WIDTH","DEFAULT_MIN_COL_WIDTH","DEFAULT_WIDTH","DEFAULT_ROWS_PER_PAGE","lockedByHabilitations","columnsChooser","gridHeightType","minVisibleRows","maxVisibleRows","parentContainer","omitHabilitationAttributes","removeGridStyle","habModeM","defaultHeight","showFilteredRowsInTitle","rowHeight","gridHeight","TPL_common_table","selectInSorting","_initializeVuesButtonBar","_manageVueChange","vue","emptyMessage","forceHideChooserMenu","setOmittedColumns","_paintRows","_resetRowHeight","_scrollToIndexIfHidden","_focusHeader","lastPage","firstPage","columnsChooserView","columnsChooserOverridedView","_showSelectedRowIndex","useMaxVisibleRows","_resizeGrid","_fixScrollPosition","vuesButtonBar","vuesBtnBarModel","selectedOption","selectedText","selectedTextContainer","menuContainer","menuBtn","_addMenuSwitchVues","selectedFlag","lockTable","unLockTable","keyEventHeader","_selectAdjacentRow","tr","stopImmediatePropagation","rowsPerPage","_calculateRowsPerPage","selectPreviousRow","_scrollIntoView","andSelf","first","selectFirstRow","selectNextRow","selectLastRow","_specialColumns","_toggleColumn","totalWidth","_resetWidthsHeadersColumns","$scrollDiv","interval","setInterval","clearInterval","increment","l_index","rowTopOffset","tableTopOffset","tableHeight","rowIndex","extraHeight","rowNumber","currentScroll","$rows","getHiddenDimensions","setTotalRowsVisible","l_cont","colWidth","thead","lastHeader","thCell","wordSpacing","colwidthspacing","_manageSorting","_renderTitle","reRenderHead","setButtonVisibleInModeC","_vueButtonBarAction","_toggleVuesButtons","_toggleVuesLevier","_manageVueChangeCallback","refreshVueColumns","tblColumns","_self","sortableColumnCode","_lastScrollPosition","rowsBefore","gap","scrollDown","newStartIndex","fistCellPosition","lastCellPosition","scrollStartPosition","scrollEndPosition","scrollPosition","rowsAfter","rowsShowed","isPaginating","setColumnTitle","rModel","endIndex","preHeight","overrideFilteredRowsInTitle","setCustomMessageTable","_renderFilteredRowsInTitle","messageDiv","divHelper","isVisible","scrollHeight","windowsHeight","filterHeigth","availableHeight","l_tmp","elementOffset","cellRenderer","keyVue","visibleColumnsLength","lockedColumnsLength","columnsLength","setVisibleColumns","columnsName","setLockedColumns","setColumnsAlignment","columnsAlignment","setSortableColumns","key2","setSortableCustomNames","sortableNames","newButtons","recalculateFilteredRowsInTitle","getSelectedRows","getCurrentRow","that","clonedCollection","_selectedCellIsVisible","offsetCell","offsetTable","heightTable","lb_rtn","operation","tag","numberCells","adjacent","firstRowTable","headerRow","_clickListenerHeader","calculateMargin","margin","resetSorting","orderedData","SelecteurCheminModel","codef","niveau","datedebut","debsitu","finsitu","feuille","selectionnable","datespartielles","enfants","SelecteurCheminColl","localParams","sorted","structid","parentcode","parentdebsitu","parentfinsitu","complet","multiple","selectionnes","intermediaire","partial","racine","nonrattachable","nonrattactiv","elementcode","selectpopu","exclure_collab","structval","_buildURL","existParam","setNiveau","setParentCode","SelecteurCheminResultItemView","TPL_common_selecteur_chemin_item","SelecteurCheminDialogView","TPL_common_selecteur_chemin_dialog","today","parameters","ctxStructureSelpop","listRenderStyle","_getAttrsRenderer","currentSelection","_changeRenderer","tree","setRenderer","_getRenderer","root","repaintLabel","_formatSelection","renderer","menuContent","menuFonctionContent","_doSearch","structColl","_paintTree","setColl","_setSelection","_chooseSelection","fillSubTree","TreeView","rootModel","racineModel","buildUrlColl","parentNiveau","node","tooltipRenderer","tooltipIcon","displayIcon","selectableNode","lb_selectable","selRacineAuto","selNoeudChemin","setSortFunction","_sortTree","compA","compB","comp","setSelectionTraversalComponentPopulation","setSelectionCommon","actualModel","racineColl","pDiversSPEValideu","SelecteurCheminModeSimpleColl","setDates","SelecteurCheminNivModel","abrege","codestruct","rattcollab","nbcollab","SelecteurCheminNivColl","SelecteurCheminView","cacheEventsModel","listWidth","minSearchLength","selecteurChemin","minCharactersToSearch","maxResultItems","modeComplet","plainText","ctxActivSelMultiple","ctxStructure","ctxActivModeComplet","ctxPeriodeRecherche","ctxAfficheRacine","ctxStructureCollab","ctxStructureActivites","ctxEcran","ctxConsultation","ctxSelRacineAuto","ctxSelNoeudChemin","ctxInitChemins","initChemins","ctxCollabExclure","TPL_common_selecteur_chemin","idCache","titlePopup","fieldWidth","l_regxp","clearSelection","addValue","cleanChemin","_getChemin","initParent","parentModel","_showTooltip","_keyboardMenuItemFocus","_getLevels","_useCache","fetching","listenToOnce","niveauColl","_setTooltips","levels","txt","_tooltipText","dateonly","marginLeft","tabAux","tab","_getListRenderer","getCheminRenderer","_getInitialNiveau","minParents","lastParent","setStructId","structId","listRenderer","comparator","keywords","output2","textContent","$input","itemid","tmpItemViews","selectionModels","selectionLine","once","paintItemsPosition","customPosition","customCheminPosition","targetParent","targetElement","to","_changeItem","rootAttrs","_openDetailPopup","popup","popupResponse","checkedDescendents","populationSelector","_isSelectorPopulationContext","_popupResponseCallback","populationDescendence","_setPopulationDescendence","selected","_openlist","parentWidth","_focused","TABS_HEADER_HEIGHT","MINIMUM_SIZE","firstTemplate","TPL_common_split_panel","prevPosition","_manageSplitPosition","_updateMaxWidthSplitPanels","splitterButtonsTimer","resizing","labelledby","elSplitA","splitPosition","borderWidth","rigthArrow","leftArrow","mouseenter","mouseleave","_hideActionsDelayed","currentPosition","previousPosition","_hideActions","_manageAria_expanded","start","pageX","_showActions","_keypressHandler","maxWidthAllowed","elSplitB","left","widthB","direction","_resizeProtoResizables","_calculateCenterHeight","setLabelIds","labelIds","enableResizable","disableResizable","disableSplitter","enableSplitter","hideLeft","showLeft","hideRight","showRight","GererBadgeagesGestion","commentaire","WkfHistoModel","HistoDemModelColl","ctxModeRech","ctxDemId","HistoEnsembleModelColl","newUrl","ctxTypeEvenement","evenements","HistoEventModelColl","ctxRefEvenement","HistoSouhaitOriginModel","ctxRefSouhait","BlockView","CommonBlockView","detailTemplate","TPL_wkfhisto_detail","loadedData","histoDem","histoEvent","histoEnsemble","_loadDataInFirstTime","expanded","ctxActivModeSynth","_loadData","setContext","titleAction","ctxModeRestitution","ctxModeDefaut","hideIcon","_manageBlocEstDeplie","showBlock","canAccess","ctxEnsemble","demandes","setContent","_generateContent","souhaitOrigine","_detailView","_synthetiqueView","_bold","normalText","_manageVisualization","ctxBlocEstDeplie","expand","htmlContent","_buildLine","_buildLineSouhaitOrigine","WKF","buildLine","_manageButtons","popupView","_initPopupView","onError","thrownError","blocked","e1","testConnectionModel","customMsg","l_msg","responseData","LoginTestConnModel","statusText","ajax","errorBoMsg","errorMessage","onComplete","hidderDisabled","EditedRowView","tableid","columnNumber","a_index","currentTitleEl","titleText","titleLabel","currentTitle","SelecteurCheminItemModel","chemin","elementCodef","elementCode","isValue","unset","_manageRowSilentSelection","scrollToRow","modelIndex","oldSelectedModel","loadedModel","notSelectable","notSelectableRow","selectableRow","supprimedRow","l_silent","resetScroll","lastPageIndex","newIncrement","lock","unlock","resetRowHeight","populationModel","oldModels","fn","onBeforeSend","param","x_token_key","TPL_common_dropDownViewContainerComponent","templateHTML","$block","$icon","$title","$content","contentVoid","titleHTML","iconHidden","hSeparator","buttonsLine","popupGerer","secondaryAff","typeAff","withFocus","menuBar","setButtons","arrayButtons","setButtonsLine","HabilitationAcces","canManage","canValidate","HabilitationValidation","keepVisualizationState","hover","_onHoverBtnTitle","_onHoverLeftBtnTitle","mousemove","offsetX","hideBlock","_clickHandler","_keydownHandler","_hoverBtnTitle","JQueryBtn","htmlButton","relatedTarget","_onHoverBtnLine","buttonLine","validateLine","_manageButtonsLine","_onHoverLeftBtnLine","_hoverBtnLine","spans","disableLine","showIcon","isExpanded","g","Function","BadgeageVirtuelDialogView","heure","TPL_badgeage_badgeage_compte_dialog","badgVirtModel","badgVirtComptColl","subtitle","_initCompteursTable","tableModel","table","tableCompteurs","bvcompte","bvcompteurs","_buildMessage","valorisation","normalizeOpts","isCallable","dscr","w","desc","gs","TPL_common_combo_box_item","__t","__p","__j","print","RemoteFileModel","LoginPasswordModel","password","pwd_new","pwd_confirm","premiere","LoginChangePwdDialogView","TPL_common_detailMotPasse","parentView","loginView","saved","loginPasswordModel","_continue","sjcl","codec","base64","fromBits","utf8String","toBits","loginData","user","pass","_logon","_badger","ListeDetailPanelView","TPL_common_liste_detail_panel","panelB1","panelB2","panelB3","panelB4","DIVERS","SelecteurReferentielResultItemView","TPL_common_selecteur_referentiel_item","itemTitle","SelecteurReferentielView","selecteurReferentiel","displayTitle","displayAllColumns","displayColumns","extraButton","showPlusIcon","TPL_common_selecteur_referentiel","searchParams","l_regxplist","listHeight","l_regxplistHeight","clearItemsCallback","typeTree","hideRecherche","hideAppliquerSelection","hideAnnulerSelection","showIconPlus","customPositionItems","overrideButtonActions","_valuesFilter","_valuesHeader","useAsFilter","selWidth","multiDomain","_addItems","excludedItems","arrExcludeIds","a_action","oldSelectedIds","num","oldSelection","newList","lo_css","_undefined","ModeBadgModel","modebadg","matricule","ListeBadgeageModel","checkComments","sens","origine","TPL_common_table_actionbar","rowOrdering","disableArrows","override","custom","visibleInModeC","_showRowOrderingArrows","_refreshMoveLineButtons","l_tmpClass","showDeleteMenu","overrideShowDeleteMenu","showNewMenu","showCopyMenu","_keyEvent","_clickListenerMove","_renderNewButtons","_toggleNewMenu","_toggleExternalMenu","replaceButtonOptions","$ul","actionBar","buttonsLength","$buttonDiv","hab","disableMoveUp","disableMoveDown","montEnabled","descEnabled","placEnabled","premEnabled","AccepterPret","CompteursModel","valeur","CompteursColl","GererPretsGestion","ProfileModel","codedele","ProfilesColl","profilesNumber","getProfile","LICENCE","hasModule","licences","_createClass","protoProps","staticProps","defineProperties","props","descriptor","utils","newObj","_ajax","_ajax2","Backend","addPath","allowMultiLoading","crossDomain","loadUrl","payload","addQueryString","paramName","queryString","queryStringParams","XMLHttpRequest","ActiveXObject","setRequestHeader","withCredentials","overrideMimeType","customHeaders","onreadystatechange","readyState","setTimeoutFunc","_state","_handled","_value","_deferreds","doResolve","deferred","_immediateFn","cb","onFulfilled","onRejected","finale","thisArg","_unhandledRejectionFn","Handler","reason","ex","prom","remaining","race","setImmediate","Timeout","clearFn","_id","_clearFn","scope","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","registerImmediate","channel","attachTo","runIfPresent","task","run","installPostMessageImplementation","onGlobalMessage","messagePrefix","addEventListener","attachEvent","postMessage","getPrototypeOf","nextTick","canUsePostMessage","postMessageIsAsynchronous","oldOnMessage","importScripts","onmessage","MessageChannel","port1","port2","documentElement","removeChild","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","marker","Item","browser","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","support","methods","noXhrPatch","normalizeName","normalizeValue","Headers","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","rejected","arrayBuffer","readAsText","formData","decode","Request","upcased","referrer","form","bytes","decodeURIComponent","Response","bodyInit","ok","getAll","dispatchEvent","usingActiveXhr","getAllResponseHeaders","responseURL","getResponseHeader","responseType","polyfill","config","cors","ajaxSetup","xhrFields","beforeSend","jqXHR","dataType","complete","ajaxError","linenumber","onbeforeunload","evento","phxRefreshing","appVersion","URL","_logout","metaKey","onclick","includeMargin","visibility","display","dim","outerWidth","$hiddenParents","not","oldProps","PiecesJointesColl","utilisateur","commentaireLibelle","valorise","DroitModel","DroitColl","menuVisibility","isRespo","some","profile","Prof","parentProfil","calculateMenuAccess","droitsResponse","handleMenu","_tmp","screenId","every","predicateSearchDroit","aspect","zoneHidden","menusEmid","ecranHidden","emid","ecrans","predicate","menus","briques","TDAModel","TDAColl","ConfigModel","confignav","droit","typeapplicatif","PretModel","profilError","profilId","selectedProfil","profilErrors","collaborateur","indicpret_resp","typepret","PretColl","optionalParams","setSortings","ctxTriDate","setParametres","pDiverIdCollab","maxPieces","paramDivPieceJointe","ctxFiltreApplique","filtreStatus","ctxPeriode","filtre_datedeb","filtre_datefin","ctxEncoursOuAVenir","filtre_avenir","ctxPretRecus","filtre_pretrecus","ctxTypePret","filtre_typepret","ctxCollab","ctxPretsID","filtre_prets","piecejointe","SubRoute","routes","_treatUsecaseFocusInternal","_initLayoutUC","firstRow","details","getCurrentMode","isOnAccueil","isOnMonCompte","isOnMonEquipe","isOnReferentiel","isOnAdministration","appRtWorkflow","focusedModule","_treatUsecaseFocus","FilterView","TPL_common_filter_layout","viewPart1","viewPart2","moreCriterias","filterVisualisation","filterMoreCriteriasVisualisation","_manageClick","expandedByDefault","_enterPress","_changeVisualisationMode","_changeMoreCriteriasVisualisationMode","_fireClick","clearFilterFields","isValid","triggerFilter","customMapFieldSet","_mapFieldSet","customClearFieldSetValues","_clearFieldSetValues","_getViewPartFieldValues","viewPart","NavigationView","showMenu","TPL_common_navigation_layout","menutpl","menuTemplate","menuIni","iniPanel","habilitationOption","habOpt","menuHide","page","navigationState","_navigationState","_changeTitle","setPage","_closeMenu","panelNames","_navigateFirst","_navigatePrev","_navigateNext","_navigateLast","menuText","getAttribute","_currentMenuText","getTextId","setPanelName","_selectMenuItem","option","nodeValue","keepMenu","panelPage","_selectScreenNavigationItem","_selectLinkItem","elementInnNavigation","previousAttributes","pageReset","link","RadioBoxView","group","orientation","inContainer","additionalViews","additionalRenderedViews","valueSelected","_clickEvent","_changeView","inputClass","_disableAdditionalView","disableView","_enableAdditionalView","enableView","optionsDiv","labelValue","l_divCont","optAttr","additionalView","br","getAdditionalViews","getAdditionalView","GererpiecesjointesWorkflow","gererPiecesJointes","pDiversIdCollabModel","diver","GererPiecesJointesView","TPL_gererpiecesjointes_gererpiecesjointes","_listToCollection","fileTransferView","description","_initTable","_initFileTransfer","deleted","_manageModeRepresentation","_manageUtilisateur","_manageDescription","_manageModeInitialisation","setPJ","_setTitlePopUp","collabText","collab$","ctxGestionCollab","nom","prenom","matric_aux","description$","canAddPieceJointe","canDeletePieceJointe","_checkItemLimit","_customBtnAction","ctxActionsPossibles","MenuGridView","mimeClass","file","mime","_manageFileClick","current","STYLE","getClassFromAnomalie","anocode","getClassColorFromAnomalie","TreeTypeGridModel","deploy","_expandPath","TreeTypeGridView","expCollIcons","expandable","collapsible","keepExpanded","arrayOfExpanded","rowAltPersonalised","expandAll","draggableClass","cleanExpanded","manageSelection","prevPaginationList","initial","_updateValues","nextPaginationList","_showArrows","_expandCollapseRow","hasChild","fetchSubTree","_addRows","branch","_setModelVisibility","hiddenRows","finded","lastLevelCollapsed","re","modelsToDelete","dataId","tableColl","_addItemNumbers","lastBranch","lastLevel","actualBranch","actualLevel","firstCollapsedLevel","parentPath","changed","u","TreeTypeGridRowView","scrollToElement","TREE","periodeContainesPart","periodeParent","periodeSon","getPeriodeIntersection","periodeContainesPartWithRefillDates","l_periodeParent","l_periodeSon","ComboBoxRgaaView2","SimplePanelView","TPL_common_simple_panel","requiredHeight","objToString","DelegationsUtilisateurModel","utilnom","DelegationsUtilisateurColl","formModel","txtUrl","utilCode","SelecteurRefDialogView","TPL_referentielutilisateur_detailSelecteurRefDialog","searchTerm","_selectionAndClose","_manageTable","currentValue","messCollabMat","messUtilCode","tableColumns","SelectUtilisateurView","TPL_referentielutilisateur_detail","host","idComponent","Habilitation","referentiel","paramIdCollab","matriculeaux","_responseCallback","_keyup","initWithCode","originalModel","originalCollection","filterOut","GererPretsModel","MODEGROUPE","structures","perimetre","motif","typesaisie","modesai_periofin","modesai_periodeb","unitedeb","struct","modelStruct","infocomp","oblig","datemin","datemax","errorNum","masque","nummin","nummax","RefuserPret","IntermediateSituationView","typejson","compteur","GroupeCompteursDialogView","incremento","GmSituationView","paramCollabId","collab","valoHab","resultatsCollab","resultatsGroupe","resultatsDate","resultatsPRDde","resultatsPRSht","resultatsMode","resultatsAuto","resultatsTitre","ctxModule","ctxUser","objuser","dialogView","userobj","AuthModel","login","token","LoginLicenseModel","ThemeRollConfigModel","TransversalSyncModel","ParametresDiversModel","fetched","StoreParamDiversModel","paramCode","ParametresDiversColl","merge","diverModel","modifyParamForUser","storeModel","TypoEvtGenModel","TypoEvtGenColl","TypoStandardModel","regroupement","evenement","genre","chevauchement","activite","astreinte","TypoStandardColl","SIMULATION","simulationStates","getJourEstSimuleLabel","donneeSimulee","canEditCell","a_module","getCellState","canViewCell","isSimulatedCell","simulationState","getSimulationCell","selectedCell","periodeState","a_collab","a_datedeb","a_datefin","l_datedeb","l_datefin","lb_edit","formatSimulationData","extended","useIcon","hour_substr_len","nomutil","getSimulatedCellsByCollab","matric","getSimulatedDaysByCollab","selectedCells","getSimulationState","getEvtSimulationState","evtDatedeb","evtDatefin","collabData","collabSimDays","simu","collabInTout","collabInAuMoinsUne","eventDatedeb","eventDatefin","dateDuJour","eventDatedebAux","areAllCollaboratorsSelectNotSimu","a_collection","a_selection","l_collab","lb_notSimu","EVENEMENT","getLibelle","fmt","buildLineDisponibilites","dts","messageLine","formatDatedeb","formatDatefin","buildLinePrets","deb","fin","partieJournee","buildLineMessages","buildLineHoraires","buildLineBadgeages","buildLineAbsences","buildLineReguls","ob","buildLineAct","appendDesc","modesaisie","motifLibelle","formatHeuredeb","formatHeurefin","formatDuree","buildLineRecap","MultiLabel","selectionEnabled","avoidUniqueSelection","initialBloc","currentBloc","changeLabelCallback","withinParent","$blocContainer","labels","_initializeLabelSelector","showCurrentBloc","disableSelector","jquerySelector","filterLabels","setLabelByName","labelBloc","enableSelector","$labelSelector","_generateLabelSelectorOptions","labelsFiltered","_showLabelsSelector","_canAccessMenu","positionOptions","within","setMenuAccess","access","onlyFirst","_changeLabel","selectedElement","optionRequest","inPromise","query","isWhatwgFetch","regExp","contentType","TypeStructureModel","Iterator","callable","autoBind","__list__","__context__","__nextIndex__","_onAdd","_onDelete","_onClear","_next","__redo__","_unBind","_createResult","_resolve","redo","ScheduleColorItemView","HORIZONTAL","VERTICAL","plage","showTitle","exceptional","plageType","hdebut","hfin","ScheduleTextItemView","ScheduleRowView","plages","colorItem","textItem","TreeNodeView","TPL_common_tree_node","templateNext","TPL_common_tree_node_next","dispalyNode","lastId","TreeNodeModel","sonsColl","overLabelTooltipRenderer","showSelected","sortTree","firstLevelNode","firstLevelModels","checkClass","multiselect","isCheckedCallback","checkedColl","_updateTreeNode","_updateTreeNodeRecursive","_updateParentTreeNode","_addListenersToNode","domaine","iconClass","_sortSubTree","cursorAt","_calculateDrops","_resetDrops","droppable","greedy","tolerance","hoverClass","drop","targetView","origView","dragAndDropCallback","_showHideIcon","_showRefreshButton","_checkAllParents","_manageArrowsVisibility","_changeTreeState","_expand","_collapse","itemSelected","_itemChoosen","undelegateEvents","removeData","clearSonsArray","_changeCheckState","checkSons","_checkAllSons","a_item","flagSetted","_getParentNodesAsString","nodesString","_collapseAllNodes","_expandAllNodes","shouldReload","fictitiousRoot","l_func_sub1","childrens","firstLevelModel","fillSubTreeRest","hierid","l_func_sub2","l_func_sub3","l_func_sub4","_renderIconeNextNode","sublevel","nextIndex","divClass","_nextValues","a_expand","firstLevelColl","freshColl","updateSubTree","_refreshClickedSubtree","_refreshTreeNode","_prevPagination","_nextPagination","_refreshClickedNode","refreshSubTree","idClickedNode","existingNode","existingNodeIndex","son","_refreshClickedNodeSons","l_lon","l_last","l_quantProcess","l_part","l_list","l_estat","_runList","a_ind","a_estat","a_lon","a_last","a_posEstat","lb_fin","l_lon2","_fillPartial","a_pos","treeNode","l_ind","selectionableNode","compact","deleteNode","func","_selectNode","_markCLassSelectedNode","FileExtensionModel","extension","FileTransferItemView","TPL_common_file_transfer_item","allowRemove","allowAdd","renderRefresh","setName","setFileExtensions","hasValue","fileInfo","getFileName","_add","_remove","_inputChanged","FileTransferView","TPL_common_file_transfer","extensionModel","multiples","delayedUpload","entite","btnBar","multipleTransfer","inputField","_retrieveSupportedFileExtensions","ext","_configureForm","shouldSubmit","submit","_clearInputFileField","clearForm","isModification","ajaxForm","beforeSubmit","_cleanForm","uploadProgress","per","fileToUpload","getDescription","_submit","_addInputFileField","_refreshInputs","inputFields","extensions","setMultipleTransfer","codefonctionnel","_retrieveMessageCode","messageCode","messageDate","messageAuthor","_buildMessageParametres","buildHistoLine","buildHistoLine2","td","parametresBeforeFilter","keysParametres","indexLibelle","PiecesAutorisees","ScheduleModel","tolouv","tolclo","houv","hclo","dpf1","fpf1","dpf2","fpf2","showPlageBlank","_calculePlages","baseRange","_calculateBaseDuration","_calculatePlageBlank","_calculatePlageDebutTolerance","_calculatePlageVariable","_calculatePlageFixe","_calculatePlagePause","_calculatePlageFinTolerance","tol","CollaborateursModel","CollaborateursColl","nonaffectes","selectcode","type_collab","exclure_fusionencours","id_simulation","aff_collabsimu","p_options","TPL_referentielcollaborateur_detailSelecteurRefDialog","diversIdCollab","_closeEvent","label_container","_checkboxSimulation","simulated","collaborateurColl","SelectCollabView","TPL_referentielcollaborateur_detail","forceContextHabilitation","_modelChanged","setIdCollab","habContextColl","matricaux","setSelectcode","TPL_piecesjointes_composant","piecesJointesList","fileTransferList","manage","setDescription","setPiecesJointes","reelNom","_generateTitle","applyPendingActions","keepFileTransferState","copyFileTransfer","pieceDelete","ele","fileTransfer","_recursiveSumbits","cont","_submitPieceJointe","hasError","progress","_contextToFilter","_getVisibleItems","nbItems","_addPieceJointeLine","contentCallback","_formatPieceJointe","ctxModeInitialisation","_piecejointeAdded","_piecejointeRemoved","habContextFileTransfer","ScheduleView","divText","divPlage","TreeModel","maxLevels","dragable","manyRoots","expandAllNodes","collapseAllNodes","clearCheckedRows","getCheckedRows","setCheckedRows","selectedModelsColls","_selectFirstNode","_selectFirstNodeRecurs","nodeViews","findElement","parentNode","recursive","treatedArray","l_treatedArray","childNode","findElementWithResponse","nodeIde","foundNode","seachingInsideChildren","expandRoot","expandPath","pathModel","objectNodeToOpen","addHors","perutil","arrayPerUtil","callbackFound","onlyMarkSelected","hierarchy","structure","perUtilInfo","arrayCompletePath","elemDateDeb","elemDateFin","nodeType","recursExpandPerUtil","recursExpand","nodeToSelect","_findElementPath","elementToSelect","callbackRecurs","objectPathToFind","findPathModel","findObject","intersectionRattAndUtil","periodeToSelect","periodeModelColl","periodUtil","_sortCollection","_configureButtonBar","EditableGroupeGridModel","checkGroup","isFunction","isEmptyRowSelection","duplicateRows","_customManageRowEdition","_customManageRowSelection","checkedJours","groupeValue","groupeModels","manageRowOrderByGroup","groupeByColumn","EditableGroupeGridRowView","filterGroupMultiSelect","_clickTreeTableBtn","groupeByColumnValue","_groupeByColumnValue","cellCheck","TPL_common_table_cell_multiselectaction_tristate","innerHTML","visibles","columKey","_selectCheckBoxJours","selectAllGroupRows","_setTristateGroupChecked","_changeVisibilityButtonsForCheckJours","clearSelectedGroupRows","_setTristateGroupUnchecked","valor","_manageGroupChecking","l_lonmulti","groupCode","_setTristateGroupUndefined","EditableGroupeItemGridRowView","sliceEmptyRows","columnsVisibles","enableEmptyRow","isEmptyRow","reduce","acum","EditableGroupeGridView","l_tbody","l_rowAjouter","rowAjouter","rowViews","rowViewsIndex","groupe","_paintRowsGroupeView","groupeArray","coencidanceRow","l_filterMultiSelectColl","hdeb","checkGroupe","ComplementComboModel","libellecourt","ComplementComboColl","codif","InitRattEmpruntCollab","SaisieOptionsModel","ModeSaisieOptionsColl","affectation","TypeAffDefaults","TypeSaisieOptionsColl","TypeStructuresColl","GererpretsWorkflow","gererprets","gererPrets","_formEdited","profil","habilitationGestion","_getHabilitationGestion","savePretCollab","revertView","newPretCollab","statut","ctxUtilisateur","dialogModel","_initPopUp","deletePretCollab","validationProfil","accepterPretCollab","refuserPretCollab","act","stat","GererPretPopUpView","GererPretView","isContextInitialized","hasBeenFocused","affTypeSaisieOptionsColl","affModeSaisieOptionsColl","pretDefaults","profilModel","_initChangeFlags","listeCheminViews","typeStructures","TPL_gererprets_gererPrets","_mapToForm","_pretParPeriode","_initCombos","_initRattEmpruntCollab","collabremplace","perType","initRattEmpCollab","ctxCollabReference","myDateArray","ctxValeursCreation","PretDateDebut","ctxPerimetre","arrayStructures","saisieChanged","motifChanged","origineChanged","HabilitationGestionNormal","HabilitationGestionEtendu","_getPerimetre","typeComboColl","comboType","perimetreComboColl","comboPerimetre","motifComboColl","comboMotif","origineContext","comboOrigine","uniteDebComboColl","comboUniteDebut","uniteFinComboColl","comboUniteFin","unitesComboColl","comboUnites","_initializeModeAndTypeColl","_disableForm","filterPerimetres","_filterCombo","PretPerimetre","ctxDonneeSimulee","ctxSimulation","ctxEvtEstSimule","divcod","_paintSimulateModeHeader","ctxModeRepresentation","_manageHeader","_setHeaderPopUp","_setHeaderImbrique","_configBtnBar","_configureValidationButton","profils","accepter","refuser","secondary","menuItemListener","ctxTypeEvtGere","gererPret","_paintWorkflowStatus","statutLibelle","ctxValeursEvenement","PretEnSuppression","originalCallback","initMode","pret","_enableForm","ctxIdentifiantEvt","hc","_manageWKFHisto","ctxHistoriqueWKF","_manageRestrictions","_manageActionsPossibles","_manageHabilitation","_showHideFields","_renderSelChemins","_showPieceJointe","_enableDisableFields","freshProfil","_allValeursEvenementInformed","_initializePretFromContext","PretType","PretEstUnEmprunt","PretUniteDebut","PretDateFin","PretUniteFin","PretHeureDebut","PretHeureFin","PretCommentaire","PretMotif","callbackAjout","_initializeCreation","_getStructuresPerTypeEvtAndper","allInformed","valerusEvenement","PretCodeStatutWKF","PretListeElementStructure","PretTypeSaisie","PretModeSaisie","PretUnite","PretDuree","PretPourcentage","PretOrigine","PretLibelle","PretListeInfoComplValeur","PretCommentaireWKF","_initTypePret","freshTypes","_typeChanged","pretType","dateDeb","dateFin","_updateCombosForType","initCreationModeWithType","findWhere","unitefin","checkUnitesCoherence","defaultValues","setDefaultTypeModeValues","_initModeCas1","periodeFound","repetitiveFound","structRattPret","structRattPretAndCollab","structuresFull","structModel","objFull","_getWorkflowStyle","evtEstSimule","actionsPossibles","_updateSaveButtonState","_disableInfoComp","_enableInfoComp","typeSaisie","modeSaisie","selChemin","_enableDisablePerimetre","_enableModeSaisie","lb_val","ctxPerimetreFige","structObj","_manageLink","_renderDeroulantLabels","renderForm","tplTypeSaisie","TPL_gererprets_multiLabel_typeSaisie","tplModeSaisie","_changeMultiLabel","TPL_gererprets_multiLabel_modeSaisie","comboChemin","_responseCallbackChemin","selectedValue","_changeTypeSaisie","modeSaisieOptionsInformed","typeCode","_emptyCombosUnite","callbackType","setDefaultMotifInitiaValues","currentTypeSaisie","currentModeSaisie","typeSaisieFound","typesaisieModel","modeSaisieFound","modesaisieModel","emptyEnteringContext","changeTypeSaisie","firstModel","periodeb","periofin","allowedUnite","allowedUniteDeb","allowedUniteFin","_manageUniteDeb","_manageUniteFin","collabRemplace","_mapMultiLabels","_LoadDynamicFieldData","_manageModeSaisie","_mapStructures","_updateVisibiliteOrigine","cheminView","historique","histo","contextComponentWkf","composantWorkflow","WkfhistoBlockView","refEvenement","ctxPieceJointe","ctxListeCollab","pieceJointeModified","pieceJointe","_oldManageButtons","_isModifiable","isModifiableModel","mouseUpDone","parentElement","mouseout","combos","infoCompArray","infoCompOrder","sortBy","ordre","_manageFields","fieldData","combo","_createInputText","_paintField","_createCombo","fieldToPaint","pre","$domEl","$labelEl","idCombo","idInput","maxLength","saveAction","_manageTypeSaisieDate","savePiecesJointes","destroyCallback","deletePretFromMenuButton","saveCallback","valuesProfil","l_profil","accepterPretFromMenuButton","refuserPretFromMenuButton","valider","l_posOrigin","l_contextActif","contextActif","contextActifPret","GererOneBadgeagePopUpView","TPL_gereronebadgeage_popUp","nombre","errorMap","GererOneBadgeageProfilsModel","EvtBadgeageSoumisWkf","GereronebadgeageWorkflow","gereronebadgeage","l_habContext","evtBadgeageSoumisWkf","divers","wkf_activ","l_context","_manageCommentaire","_confirmDelete","deleteOneBadgeages","objModel","ctxGestionPeriode","heuredebut","heurefin","txtError","saveOneBadgeages","modifiableOneBadgeages","newOneBadgeages","accepterOneBadgeages","refuserOneBadgeages","GererOneBadgeageView","EMPTY_BADGEAGE","ctxMode","TPL_gereronebadgeage_detail","iddemande","_manageContext","_showOrHideCommentaire","showCombo","_creacionCommentaire","parseDefault1","default1","comboCommentaire","modelo","BadgeageCommentaire","_manageTitle","_manageActionsForStatut","_manageWorkflowContect","auxNatGest","_manageValeursCreation","BadgeageDate","BadgeageHeure","BadgeageSens","BadgeageAbsence","BadgeageFonction","_actionsForStatut","_habilityButtons","gererBadgeage","isCreation","ctxModeSuppression","currentStatut","BadgeageCodeStatutWKF","ctxGestionCollective","comboHab","commentHab","comboSens","_filterComboSens","filterCollection","objPeriode","formatDateFin","formatHeureDeb","formatHeureFin","spanStatut","ctxGestionDate","formatDate","formatDateDeb","_convertSensBadgeageVirtual","oneBadgeage","_openTooltipListener","reference","infobulleWorkflow","contextInfobulleWkf","demande","tooltipDemande","ensemble","_closeTooltipListener","modifiableBadgeage","fetchBadgeage","freshModel","comment","originalBadgeage","deleteBadgeageFromMenuButton","badgeage","deleteTousBadgeages","badgeages","badgeagesOk","accepterBadgeageFromMenuButton","accepterTousBadgeages","refuserBadgeageFromMenuButton","refuserTousBadgeages","TypologiesDomaineModel","ConfigResultatsListeCpt","SearchListeGroupesData","ConsultationDialogView","TPL_resultatgrpcompteurs_consultation","comboOptions","configSouhait","comboGroupe","enum","consu","Preferences","SearchListeGroupesModel","SearchListeGroupesColl","typegroupe","SearchResultatsListeCptModel","SearchResultatsListeCptColl","_formatDate","datAttr","_createUrl","urlS","souhait","TPL_resultatgrpcompteurs_groupecompteurs","_closeOthersDialogs","origin","newMatricule","newTypeGroupe","newGroupe","newDemande","newSouhait","configDate","_getGroupe","configModel","_showIcon","_renderTable","_adjustPoputpToContent","_showConsultation","numSeparators","thisdialogid","idhtml","_setContext","_updateTable","listeGroupes","libelleWidth","valeurWidth","iconWidth","mat","pdiver","_doItIfCanViewCompteurs","compteursColl","compteurInst","_getOpenPreference","callbackYes","callbackNo","badgeagemode","_refreshDivers","dialogConsu","_showBlockCompteurs","_saveOpenPreference","_hideBlockCompteurs","preferences","prefsArray","pref","varint1","openByDefault","preferencesArr","varchar2","varchar3","varchar4","varchar5","vardat1","vardat2","vardat3","vardat4","vardat5","varint2","varint3","varint4","varint5","dragging","_addTreeHtmlData","treecol","targetId","origId","targetModel","origModel","modelId","rowsInBranch","rowmodelId","rowModel","elementPathString","TooltipDelegView","TPL_droitsdel_tooltipDeleg","DelegationsTableModel","DelegationsTableColl","DelegueRenderView","FilterModel","FilterContentView","TPL_droitsdel_filter","renderData","referentielFilter","option2","option3","radioRetro","utilcode","referentielRestriction","DelegantRenderView","USECASE","DelegationsModel","base","pDiversModifDeleg","pDiversSPEDelegfi","delegue","ElementModel","ElementColl","ElementLevel3Model","CommonFormView","TPL_droitsdel_detail","parentDialog","_manageTableMode","_hideForm","_showForm","_searchDroitsFromDatedeb","droitsBase","datefrom","queretro","delegation","roles","z","groupes","collectionBase","_arrayToCollection","_manageInitChecks","fullDroids","_manageViewDroids","textLink","innerText","_masquerDroits","_tooltipListener","_clickListenerCheck","objDom","allChecked","_ifAllChecked","upperCheckbox","_checkedModels","parentCode","checks","checksChecked","levelType","isAllChecked","deleNiveau","toolText","perimetres","pluck","modelNivel4","arrayResp","obj4","model4","filtres","profilwkf","ajout","modification","suppression","_chargeDataTable","pal","_checkVisibility","_isPostDate","_showSupprimerError","DelegationsDroitsCollabModel","extraParams","DroitsdelWorkflow","EMPTY_MOTIF","filterModel","navigationModel","deleAfRole","fullModels","_filterTable","_tableValueChange","_navigateRow","_viewDroits","post","_isPostPeriode","_findChildsN2N3","_findChildsN3","n1","objResult","n2","newFilter","retro","valueForm","modelUtilCode","_setModelOnFormModeRead","objArray","_collectionToArray","isCopying","formerLineID","codeDelegation","_findObject","attrib","objCollection","objNivel1","profilComplet","delegant","objElement","role","objRole","maxRoles","obj1","index1","obj2","obj3","index3","model3","index2","model2","GeneralView","utilMatricule","idButtonBar","layout","_initFilter","navigationView","_initNavigationView","_initForm","_changeCollab","renderView","tableMd","part1View","GroupeMenuModel","GroupeMenuColl","ProfilesModel","mesprofils","profilsrecus","_profilesCounter","ContexteActifModel","l_url","contexteActif","typeEvt","typologie","respDesigModel","WorkFlowModel","fullscreen","uri","ZONES","BRIQUES","TRANSVERSES","paramEcranDef","typologies","typoevtgen","profiles","groupemenu","respDesig","syncModel","_prelogout","_usecaseChange","_addTab","_removeTab","_themeConfiguration","_registerSyncEvents","userid","calls","languageDefer","paramRespDesig","canViewBefore","profilesDefer","paramDiversDefer","typologiesDefer","licencesDefer","groupemenuDefer","contextActifAbs","contextActifActPre","contextActifActRea","contextActifHorExcep","contextActifReg","forkJoin","subscribe","_menuConfiguration","_loadEvenementsGeneriques","themes","rel","numTransversalMenus","transverses","numZones","transverse","RESP_POPULATION","zones","uc","showGerer","uc2","brique","MODULES_ZONES","a_zone","paramPers_numer","_reloadBriquesInfo","configurationModel","freshConfiguration","isGoingToZoneHome","isGoing","pendingPopulationRefresh","_managePendingSyncEvents","_manageChangePopulationEvent","_changePopulation","_zoneChange","zoneId","ucId","_operationChange","subRouters","_treatDesconnection","treatDesconnection","isAsync","notLogin","_goToLoginPage","urlTmp","currentNumber","_loadPreferedUc","navigated","ucToFind","foundZone","getBriqueUniqueId","personnalisation","codebrique","contextActifEvtgen","l_rights","TPL_gererprets_popUp","ListeBadgeageColl","statuts","horaire","validation","GererBadgeagesPopUpView","TPL_gererbadgeages_popUp","toInteger","plainObject","objIsPrototypeOf","nullDesc","tmpObj1","tmpObj2","ignore","__proto__","isNullBase","nullPolyfill","opts1","isIterable","HeaderPopupView","TPL_listerprets_headerPopup","isForced","_enableButtons","ListerHistoriqueModel","ProgressBarModel","ResumePopUpView","TPL_listerprets_resumePopUp","nbDemandes","nbDemandesAbandonee","nbErrors","RowPopupView","TPL_listerprets_rowPopup","demandeId","TPL_listerprets_detail","histoInfoBulles","titleCont","progressBarModel","globalComment","historiqueModel","wkfEvenements","ctxPresentationGrille","_initTableEmprunts","_cleanErrorsTable","_revertTable","copyModelsState","nbrecEtatValid","nbrecEtatA","nbrecEtatR","isSortedAsc","_hideZonesGrid","resetAfterContextChange","_copyModels","revertAll","_revertRow","_displayHeaderLeftText","_displayHeaderRightText","recEtatValid","_openHeaderPopup","isforced","headerDialog","newCommentaire","_manageComments","_openRowPopup","line","rowDialog","ancientCommentaire","tableRow","_manageHeaderCheckbox","_manageAllRows","_manageBtnBarActivation","_manageFiltreEnabled","_checkNbAlert","nbAlert","pDiversValRAalertModel","nbChecked","_manageRow","enableFiltering","disableFiltering","ctxValidation","_manageLineCheckbox","_checkAllRowsActived","arrayCheck","renderNeutralisee","_getTitle","_showGridValidationErrors","comboName","_cleanGridValidationErrors","_detailPret","modelID","pretModel","COLLABORATEUR","_initPopupGererPret","popupGerePretDialog","libelleFormat","statud","rattachement","itemcode","itemlib","_vueChanged","managingVueChange","tblColumnsDetaille","tblColumnsSynt","customNames","newPret","ligne1","ligneError","acteur","strDernierAction","histoObj","_getHistoObj","acte","moments","auteur","objErrors","_findError","_buildMessageErrorPer","idCollab","spanElem","tooltipText","outerHTML","_updateCheckAndCommentsModels","checkedAttribute","matriculeAux","PretResponsable","even","_paintStatusInfoBull","numElements","_historique","modelArray","copyModel","ctxValideur","_managePieceJointe","modelCode","pjPopupView","_initPJPopupView","_formatedParametres","objResponse","competence","_addClassToText","objClass","maxpieces","objCode","_buildMessageErrorRec","objError","htmlError","_textToStyle","_initPopupResumeView","resumeDialog","_manageRowProfil","l_item","CommonEditedRowView","TPL_gererbadgeages_detailRow","objNew","comboSensObject","comboCommentaireObject","comboMotifObject","_isDiferentBadgeages","objStatut","_apliqueStatut","ctxIdentifiantBadgeage","_openTooltipListenerEdit","_closeTooltipListenerEdit","_lineStateIsReadonly","GererBadgeagesProfilsModel","GererbadgeagesWorkflow","gererBadgeages","paramProvenanceBadgeage","parametreDiversProvenanceBadgeage","parametreDiversIdCollabModel","deleteBadgeage","buttonName","newBadgeage","revertBadgeage","saveBadgeage","validerMenu","toggle","accepterBadgeage","refuserBadgeage","copyBadgeage","GererBadgeagesView","listeBadgeage","TPL_gererbadgeages_detail","_manageActionsForLine","_manageButtonsTable","_changeValiderOptions","objMatricule","htmlCollab","formatedSaisieDate","formatedValoriseDate","formatedSaisieHeure","formatedValoriseHeure","msgType","msgOrigine","msgPointage","genere","terminal","provenance","pointSeparator","sensLibelle","sensCode","formattedDate","formattedHeure","profilsModel","_findLibelle","liste","badgeage1","badgeage2","CriteresCalModel","TPL_vueannuelle_detail","selectionModel","dateStart","dateEnd","isRange","hasChanged","ctxDateEnEvidence","initialMonth","headerRender","_cellClickListener","dateSelected","_dayClickListener","_dayDblclickListener","_goToMonthlyView","selectedDate","MONTHLY_VIEW","selectionMonthModel","isShiftPressed","_unselectAllDates","selectionStartDate","_treatSelectedDates","_unmarkCell","_markCell","_headerListener","_monthClickListener","_monthDblclickListener","monthSelected","yearSelected","_daysInMonth","_yearClickListener","nbDiffMonth","_diffMonths","_markSelectedDates","auxDatefin","_computeExtremumDate","auxDatedeb","auxDate","_nextMonthDate","lastDayInMonth","extremumDay","objDate","_setBorderedHeightProperties","_unsetBorderedHeightProperties","currentDay","_mousedownHandler","datesSelectable","_mousemoveHandler","oldDatefinClicked","_mouseupHandler","ctxDateSynoptique","ctxDateDeb","ctxDateFin","mainModel","_calculateDates","setMonth","setYear","drawCalendar","ctxAfficheAnnee","scalendar","nbMonth","_calculateHeader","_calculateDays","_drawHeader","_drawDays","year1","year2","month1","month2","tr1","tr2","th","tdClass","divDate","divCell","dayNameInitialCap","dayWeek","isJourExceptionnel","isJourFerie","divDay","numDayDiv","isJourHorRepos","clases","nameDayDiv","vacancesCellRender","astreinteCellRender","nbMonths","dataColumn","formatted","nextMonth","TPL_vuemensuel_detail","calendar","_drawCalendar","currentMonth","currentYear","_manageClickWeek","hourAux","minutesAux","currentHour","startHour","endHour","_manageScrollDown","actualScroll","bodyHeight","lineHeight","_manageScrollUp","contextAjouter","_buildContextGerer","typeGerer","contextGerer","habBadgeG","habBadgeA","COLLABORATEUR_TYPE","ctxGestionPerioaff","isMultipleSelection","_goToDay","_goToStartDay","_manageClickMensualSelection","eventSelectionParent","eventSelection","dataset","typeevent","_emptySelection","_goToWeeklyView","WEEKLY_VIEW","_manageEventSelection","_manageClickHoraire","evt","RESPONSABLE_TYPE","collabId","evtModel","hasEvent","getEvent","_manageClickAbsence","ev","sou","_manageClickActivite","_manageClickPret","_toggleTotalisationsMenu","closeMenu","_selectMenuElement","_drawTotalisations","cellWidth","totalisations","totalisationsContent","divisionCells","_renderTotalisationsGroups","_renderTotalisationsHeader","_renderTotalisationsBody","arrow","totalsMensuelGroups","ix","liElement","spanElement","aElement","titles","totalsMensuelModel","lib","drawData","nbRows","cMonth","cYear","formats","weekDay","weekNumber","iso8601Week","weekRow","totals","semaine","nbWeek","nbWeekWrapper","_setDroppable","addClasses","activeClass","buttonCode","startDay","endDay","_drawWeeks","selectedWeek","todayWeek","nbDays","prevMonthDays","mFirstDay","initDay","selectedDay","displayHorTop","wrow","dateformat","cellHeader","_drawCellHeader","cellBody","_drawCellBody","cellFooter","_drawCellFooter","wrapper","nbDay","inMonth","headerLeft","headerRight","displayColor","habRegAst","showZones","getLayersModel","ctxHorAffNa","_buildHoraireTooltip","headerColor","_headerLeftTooltip","lisereZone","coul","dateTemp","actualStrDate","jex","jfe","styleClass","hasRepos","evts","cod","dtsModel","HORAIRES","headerTitle","dc","dep","_buildStructTooltip","_isDateSelected","_isDateToday","affCod","_getCodePrinc","AFFECTATIONS","_getTooltipText","prevCodePrinc","AFFECTATIONS_TYPE","ppl","niv","lbnv","arrayEvents","_eventsInDay","_renderCellBody","eventsTypArray","typeEvent","affec","sec","affsec","eventContainer","plusOpt","_renderHoraire","_renderPresences","_renderPrets","_renderAffectations","_renderAbsences","tpo","_renderActivites","teletravailElement","eta","_renderRegularisations","matin","soir","nuit","parametreDiversIndJourneeValeur","typeHor","horaireTdu","horaireLibelle","isHoraireExceptionnel","nature","NATHOR","repos","jour","firstSC","firstEC","secSC","secEC","codf","presIndValidate","hStart","hEnd","hSegStart","hSegEnd","unionC","evtnum","sta","_rest","endtext","endtextF","presencePrefix","presenceInfo","wfdts","ABSENCES","GROUPS_ABSENCE","par","abscensetime","abscenseText","abscenseInd","abscenceIndContent","displayMotif","ctxLibelleAbs","line1","_buildAbsenceMessage","line3","com","line4","acp","acn","sai","acd","wkfActiv","absence","staLib","workflowStatus","WORKFLOWS","pretTime","pretText","hed","hef","het","ude","ufi","pretInd","pretIndContent","libstruct","codstruct","txtMotif","txtDates","dates","_getUnite","_getPretTooltipText","pretDts","PRETS","mot","affTime","uni","affText","affInd","ACTIVITES","fam","FAM_ACTIVITE","actTime","actText","actInd","actIndContent","typ","_buildActiviteMessage","typAux","optList","_renderIndicateurs","noEvents","habDisp","habReg","habAno","habMess","tooltipTemplate","plageView","presence","l_val","tooltipPlages","pause","TPL_vuemensuel_horairePlageTooltip","unite","hFinAux","hDeb","hFin","hDebAux","_optimizeCellBody","scrollContainerDown","ospace","aEvents","nTotalLines","hbody","hdisp","nLines","eventLines","nLinesMin","scrollContainerUp","_getOptimSpace","optim","shortedEvents","lines","aux","grid","i18nCom","ctxSelRemDesc","hideCET","principal","tousCheck","habilitation_gerer","libselpop","auth","Map","delete","entries","MapPoly","eIndexOf","validValue","ee","forOf","isNative","iterable","__mapKeysData__","__mapValuesData__","numberIsNaN","toPosInt","objHasOwnProperty","fromIndex","function","shim","nullObject","polyProps","foo","bar","trzy","dest","searchString","__ee__","__eeOnceListener__","candidate","descriptors","validTypes","symbol","toPrimitive","NativeSymbol","SymbolPolyfill","isNativeSafe","validateSymbol","objPrototype","globalSymbols","created","generateName","ie11BugWorkaround","postfix","HiddenSymbol","__description__","__name__","for","keyFor","hasInstance","isConcatSpreadable","species","unscopables","valueOf","isSymbol","isArguments","iteratorSymbol","doBreak","broken","ArrayIterator","StringIterator","kind","__kind__","normalizeOptions","ensureCallable","define","dgs","overwriteDefinition","resolveContext","aFrom","propertyNames","propertyName","ensure","Boolean","arrayLike","Context","getIterator","mapFn","targetObj","objPropertyIsEnumerable","propertyIsEnumerable","defVal","compareFn","__length__","toStringTagSymbol","kinds","unBind","MapIterator","__values__","arg","AffectationEnCoursModel","AffectationComplemColl","AffectationPrincipColl","AffectationRemplaColl","_codef","_rattcollab","rattcolpar","AffectationEnCoursView","TPL_baffec_briqueAffectationEnCours","modelAffPrincipal","tableP","_initTablePrincip","modelRemplacements","tableR","_initTableRempl","infoCompActivated","tableC","_initTableComplem","StrutureP","strutureHabContext","hasPrets","hasAffect","isStructurePrincipal","ctxTypesAffectations","structCode","structureSelected","_formattedRemplacementLines","temporelle","heuredeb","duree","pourcentage","newdate","lastdate","_formatteddates","_formattedlines","_formattedlinesNature","auxText","ctxCode","formattedText","_formattedAffecSecond","_formattedPret","dateRes","libelle2","_isAffectCompAllowed","hasComplementaires","_isAffectExcepAllowed","hasExcep","refreshBrique","callBack","ActivitesModel","DemandesCollaborateursModel","typeevenement","EvenementsGeneriqueModel","DemandesCollaborateursView","_maxLines","TPL_bdemcoll_briqueDemandesCollaborateurs","tablebriqueDemandesCollaborateurs","styleLabel","styleDate","styleHoure","styleEnCours","habContextAbsence","modelAbsence","habContextSouhaitAbs","modelSouhaitAbs","habContextRegularisation","modelRegularisation","habContextBadgeage","modelBadgeage","habContextRecapitulatif","modelRecapitulatif","habContextPretsValider","modelPretsValider","habContextEvtgen","modelEvtgen","typologiesActivites","actprev","actreal","modelTypologiesActivites","modelTypologiesDomaines","parametreDiversSouhabsModel","l_promises","renderTable","_renderResponse","_createTableOfColl","setContentHeight","absNb","badgNb","regNb","recapNb","pretsvalNb","activitesNb","evenGenerNb","evenGener","souhNb","nbAbsAndSouhait","absAndSouhait","souh","badg","reg","recap","pretsval","listeGenerique","prevue","realisee","links","demandesCollaborateurs","listeActivites","listeTypologiesDomaines","messagePrev","messageReal","_getActiviteGenre","intitule","_linkToValidation","typo","_byId","EffectifsModel","LibellesModel","LibellesModelColl","EffectifsView","TPL_beff_detail","dataEtat","dataColl","dataTotals","ETAT_PRESENT","ETAT_ABSENT_PREVU","ETAT_ABSENT_NON_PREVU","ETAT_INDEFINI","replotIndex","_initializeColors","_renderData","refreshTitle","fetchedModel","_renderGrafique","_renderSyntheseTable","_goToDetail","presentColor","absentsPColor","absentsNPColor","indefiniColor","plot2","valeurs","jqplot","drawBorder","drawGridlines","background","shadow","seriesColors","seriesDefaults","jQuery","PieRenderer","rendererOptions","diameter","showDataLabels","dataLabels","highlightMouseOver","replot","cssClass","effectif","libelleClass","printEffectif","BriquesLineView","TPL_persobriques_briqueLine","totalActivesLength","getUniqueId","spanText","_isLineFictive","_manageCheckBoxHabilitations","_isPersonnalisable","_showIconPublic","visibilite","spanPerso","_generateButtonBar","_manageButtonBarHabilitations","_manageActions","spanPublic","_visibilitePublic","_isActive","_isStandard","standard","perso","fictive","publ","delegateTarget","ListeBriquesModel","ListeBriquesColl","ActivateModel","espaceid","CompteursTableModel","typeresultat","periodicite","periodevalo","rowid","CompteursTableColl","DeplacerCompteursModel","EditedRowCompteursView","TPL_parametragebresultats_editedRowCompteurs","comboCompteur","comboPeriodicites","_filterComboPeriodicite","comboPeriodeValo","_manageTypeResultat","_disableCombos","_enableCombos","typeRes","ParametrageModel","formerID","datereference","ParametragebresultatsWorkflow","setupState","parametrageResultats","saveParametrage","newParametrage","messageConfirm","deleteParametrage","_manageActiverButtons","activerParametrage","ParametrageView","TPL_parametragebresultats_detail","changeDetected","_modeChanged","_customTableClick","_checkParametresDivButtons","BRCnbElt","hcColl","_initTableMenu","_checkPublicHab","_enableGrid","RadioOptions","radioDate","_getmodel","parametrage","_initModeConsultation","_initModeAjout","isNullable","forced","activeText","cssClassText","l_title","typebrique","zoneName","_manageView","_restoreHabilitation","_restoreParametrage","finalCallback","modeloldAttributes","colloldModels","activateModel","_movePositionInfoComp","_ajouterLigneSeparation","deplacerAttrModel","modelValue","ligneSeparationModel","PersoBriquesDeleteModel","BriquesListeView","TPL_persobriques_detail","bresRmax","bresCmax","refreshData","briquesToRefresh","silentLoad","_modelToColl","briqueObject","briqueModel","typeBrique","callbackContent","briqueLineViews","_buildBriqueLine","activesLength","_totalActivesLength","_hideButtonLines","activeCount","briqueObj","_manageActivation","checkBox","howManyBResultats","_tooManybresultats","_updatePersonnalisation","nBriques","tooMany","bResultatsActive","_deleteFictives","briquesArray","_isObjectFictive","_isObjectPublic","_getParametrageContext","_openParametragePopUp","deleteObj","deleteTarget","currentBrique","briqueName","dialogParametrage","changeDialogDetected","_getPersoId","PersoBriquesModel","TPL_persobriques_general","listeView","InfosMemosModel","ViserInfoMemosModel","idAttribute","InfosMemosView","TPL_binfmem_briqueInfosMemos","allColl","mesgen","acquitte","_prepareMessageText","messageText","_setMessageView","data_code","messageSaveModel","refresh","_hoverVuIcon","MesDemandesColl","processData","MesDemandesView","TPL_bdem_briqueMesDemandes","tablebriqueMesDemandes","styleDemande","demandeSuppression","_indexRows","lastScrollPosition","modelcoll","_arrayHouresToStr","msgProcessed","_libelleFormated","_statutFormated","dateFormated","MonRespModel","MonRespCollection","avantAjoutModel","TPL_bmonresp_detail","structVal","classname","MonResponsableView","TPL_bmonresp_briqueMonResponsable","structureP","_customButtonAction","_disableTableButtons","avantAjout","eventDate","todayTimestamp","MesEmpruntsView","briqueToday","TPL_bemprunt_briqueMesEmprunts","initContext","tableMesEmprunts","mesEmpruntsContext","mesEmpruntsColl","refreshListeAll","_manageCheckboxChanges","encours","aceptes","refuses","_filterEmpruntsCollection","_resetCheckboxes","filterStatut","filteredMesEmpruntModels","collAllMesEmprunts","disabledCombo","ctxVisuStatut","ctxRestitutionPrets","PortletView","TPL_app_portlet","_toggleVisibility","ResultatsModel","userId","codeBrique","ResultatsView","TPL_bresultats_briqueResultatsCompteurs","_arrayToTable","dateref","typevalo","datevalo","SituationsARegulariserColl","paramMaxElements","situation","SituationsARegulariserView","TPL_bsitreg_briqueSituationsARegulariser","tablebriqueSituationsARegulariser","_getTitleFromAnomalie","_collaborateurFormated","_dateFormated","_heureFormated","_typeFormated","dateano","minute","heureano","minuteano","img","typeano","SituationModel","SituationView","TPL_bsitpart_briqueSituation","styleBold","styleNormal","maxElemSize","_renderCollection","classLink","heureFormated","calcul","strFormated","row_class","DialogModel","FonctionsModel","FonctionsColl","LastBadgeModel","dervalide","derheure","derlibelle","derdate","BadgeageVirtuelMenuView","TPL_badgeage_badgeage_menu_layout","modebadgModel","blockedByOtherLink","_refreshToolips","habContextBadg","fonctionsColl","badgeESModel","modeBadge","_getLastBadge","habContextFonctions","badgeES","_renderFonctions","lastBadgeModel","habContextLastBadge","lastBadge","bdgEtatVal","_renderTooltip","_updateTime","fonctionMenu","hasOptions","timer","_showCompteursDialog","habContextCompteurs","dialogCompteurs","_showCompteDialog","cursorBadge","cursorEntree","cursorSortie","cursorMenuSpan","classList","sensVar","fonctionVar","decalage","getTimezoneOffset","habContextDialog","dialogCompte","buttonBadge","buttonRentre","buttonSors","RgaaBadgeageView","TPL_badgeage","_loadComponents","graphic","_renderMenuComponents","tmenu","_gmsituation","HomeView","_reloadBrique","TPL_app_home","zJSON","BRIQUES_VIEWS","CREATE_RGAA","_changeZone","_managePopulationChange","cursor","disableSelection","refreshAll","lastBriqueReloaded","views","brique_view_id","briqueAlreadyCreated","createBrique","insertAfter","briqueisActivated","activated","briqueFound","loadComponents","$link","_briques","_theme","createRgaa","portlet","hasCreatedComponents","_personnaliser","dialogPersonnaliser","bToRefresh","rgaaBadgeageView","TabSheetView","_ucStorage","_openTabs","TPL_app_tabsheet","templateItem","TPL_app_tabsheet_item","_usecaseChanged","_usecaseDestroyed","home","_clickCross","itemId","_clickReturn","currentMode","_clickOnTab","returnValue","cancelBubble","hasCloseIcon","ucid","baseModule","_createTab","tabNumber","tabSelector","tabs","selectedTab","omitCloseTab","omittedCheck","_destroyTab","_selectTab","newTab","previousUc","tempUc","ulDom","_applyResizes","tabIndex","targetLi","targetDiv","l_module","activate","newPanel","_keyupHandler","beforeLoad","panel","isHome","altKey","ZoneView","TPL_app_zone","tabsView","BodyView","zViews","_zonesSwapping","oldZone","newZone","zView","FocusToFormSaveView","_goToLogout","saveButton","CommonButtonBarView","_manageExportEtat","exportEtat","EtatsModel","EtatsColl","respTheme","definitions","definition","thcollab","TPL_lanceetat_filter","comboThemes","CriteresModel","arraySous","souscriteres","CriteresColl","criteresPath","CriteresReinitModel","newValeur","PopulationComboModel","CritidComboColl","DynamicComboModel","urlService","defaut","optionsFiltre","filtre","DynamicComboModelColl","modifyHeader","refForm","LancerEtatModel","TPL_lanceetat_detailSelecteurRefDialog","visibleColumns","TPL_lanceetat_detail","criteresHab","isValidCollection","formView","mapToForm","_isValidCollection","referentielArray","subgroupe","numSubGroupe","_checkButtons","_prepareGroupes","_manageGroupes","_chargeFieldData","lb_print","lb_export","_numberSubgroup","a_groupe","_orderCodeSubgroup","a_code","_ExistInSousCriteres","a_model","_existAlignementForGroup","a_models","_searchGroup","lb_firstAlig","l_groupe","l_aux","l_div1","l_len","_manageSouscriteres","obligatoire","tda","l_colonne","l_alignement","formValue","valeurParentSelected","populationComboModel","ls_find","l_width","l_sub","valeurColl","errorSpan","parentClass","_buildParentClass","_resizeFields","codeSetItem","valuePopulation","codeGlobal","openedFromPlanning","comboPopulation","valuePopulationArray","comboModelCollOptions","_createReferentiel","_initReferentielWithCode","valAux","parInfo","parentClas","labelHeight","_getModelByCritere","a_width","headerPopulation","optionsModel","optionsFetch","_populationDispatcher","_updateSouscriteurs","_updateCombosCollection","parentArray","date_de","date_a","targetClass","l_newVal","_checkHideSouscriteres","l_funcCallback","reinitModel","lancerEtatModel","_validateCollection","errorRange","l_cad","l_range","l_cont1","l_cont2","compare","l_err1","l_err2","localeCompare","a_event","a_newval","a_callback","l_id","l_reinit","l_hab","l_tokens","_changeValeurType","lf_target","lf_parent","lf_model","a_targetClass","a_newVal","l_label","_prepareSubGroupes","l_div","HeaderView","TPL_lanceetat_detailHeader","CustomBarView","stopDefil","TPL_suvietat_customBar","stream","paramRafEtat","SuvietatModel","SuvietatColl","SuvietatEditedRowView","SuvietatView","TPL_suvietat_suvietat","SuvietatWorkflow","EMPTY_suvietat","customBarModel","parametreDiversRafEtatModel","rafEtat","_manageErreurSeul","erreurSeul","streaming","_isStreaming","_unstream","_update","currentSelectedModel","_intervalFetch","customBar","LanceetatWorkflow","defaultCriteresModel","flatColl","formColl","headerModel","parametreDiversExportEtatModel","parametreDiversCalPrev","paramExportEtat","loc","preferencesPlanning","_checkOpenedFromPlanning","planrespRt","temporaire","getPreferenceValue","setPreferenceValue","preferencesPlanningPopulation","popid","poptype","poplib","rowSelected","numEtat","_getNumEtatByLoc","idUc","newHab","numEtatSelected","dialogSuvieEtat","auxModel1","arrayDefinitions","auxModel2","detailsHeader","_initDetailsHeader","_closePopup","_checkFournisseur","_resizeHeader","boolHideFournisseur","setUpCallback","_manageSortingOld","fournisseur","yearDate","TPL_calendacc_customBar","_changeYearKeyUp","_changeYearBtn","anno","FooterView","TPL_calendacc_footer","manageZones","footerDiv","divColor","labelCode","rgb","CalendaccElementsModel","CalendaccVascoModel","CalendaccZonesModel","colorRGB","couleur","CalendaccModel","vasco","vueannuelle","VueannuelleFormView","vuemensuel","VuemensuelFormView","_renderCellsVueannuelle","stringDate","backgroundZones","titleZones","vac","objVac","cols","cellDom","CalendaccWorkflow","EMPTY","actualDate","ctxCollabMatricule","_setYear","footer","ZoneMenuView","TPL_app_menu","templateNiv1","TPL_app_menuNiv1","templateItemNiv1","TPL_app_menu_item_niv1","templateItemNiv2","TPL_app_menu_item_niv2","templateItemSection","TPL_app_menu_item_section","_reloadNavigation","cMenu","firstdrawnelement","tabindex","zid","_keyboardNav","alt","keypress","menuDom","_menuLinksKeyboardNav","allTrue","hiddenMenus","hiddenEcrans","handleSubMenu","checkTrue","_tmpBool","_hideLink","forceCheck","identifier","isAMenu","menuZone","$currentPhxMenu","prevAll","lastMenu","_selectFocusableElement","prevMenu","nextAll","firstMenu","nextMenu","$currentTarget","clickElement","selectFirstChild","currentLinkMenu","parentMenu","_clickMenu","_closeAllMenus","_clickOption","gmsituation","MenuBarView","TPL_app_menubar","templateMenu","_reloadIcons","_renderMenuRefresh","refreshButton","_renderMenuCalend","calendarButton","divMenu","_renderMenuPrint","printButton","itemNiv1","trans","_renderMenuHelp","helputton","_clickRefresh","_clickCalend","calendaccDialog","CalendaccGeneralView","_clickHelp","lang","ucPath","navBar","_checkNavBarOption","globalPath","a_ucPath","l_ucPath","_helpFicheCollab","_helpSuiviCollab","a_pathDefault","SuvietatGeneralView","transversalViewDialog","spanItem","_transversalRightKeyboardNav","_transversalPrintKeyboardNav","$currentLi","printMenu","PROFILE","profileManagementEnabled","checkHabilitations","habArr","checkProfile","profileNumber","ProfilutilisateurWorkflow","ProfilUtilisateurView","TPL_profilutilisateur_profilesMenu","templateMenuItem","TPL_profilutilisateur_profileMenuItem","templateMenuRecu","TPL_profilutilisateur_profileRecu","currentSelected","defaultProfil","_addElements","menuLinks","_headerKeyboradNavigation","_menuProfilesHeaderNavigation","_checkHeight","_showList","elementFocused","elementToFocus","_clickTousCheckbox","_changeProfil","_eventMouseUp","menuElements","l_ucase_loading","_generateOptions","_generateDelegations","l_parentCode","lastUserId","collFilteredByUserId","profilMsg","$spanTitle","$spanUser","recu","listFilteredByUserId","username","profileList","showTooltip","_showDefaultButton","_hideDefaultButton","$text","repaintPopulation","avoidNavigation","_changeProfilEvent","oldSelected","_revertSelection","_setAsDefault","currentDefault","newDefault","list_offset","new_height","window_height","ProfileSelector","visibleMenu","profilutilisateur","UserMenuView","TPL_app_usermenu","_reloadMenu","ucsInThisMenu","_userMenuLinksKeyboardNav","_userMenuIconKeyboardNav","parentDiv","currentLi","clickOption","nameEvent","chgPwdDialog","droitsdelDialog","PopulationModel","ident","PopulationColl","PopulationGenerationModel","PopulationSelectColaborateursModel","PopupSelectCollabView","TPL_populationsmenu_popupSelectCollaborateur","referenView","_appliquerCollab","_setCollaborateurOnTraversalComponent","model_aux","rawData","PopupSelectStructureView","TPL_simpleSelectourStructureDialog","structSelecteurChemin","tooltipDataSelected","_appliquerStruct","descendenceSelected","_clearTooltipStructure","_getPopulationDescendence","_setStructureOnTraversalComponent","TypeStructureColl","codestructureRequest","indselpop","PlainStructuresView","populationColl","structureModel","PopulationMenuView","TPL_populationsmenu_populationMenu","templateStructure","TPL_populationsmenu_structuresMenu","nbMaxPopEntete","showPopulationPlus","selectedDefaultPopulationData","selectedPopulation","disableInvalidation","invalidatePopulation","canViewStructures","renderStructuresList","_getStructures","structuresArray","dataStructuresModel","dataRaw","dataFiltered","PopulationGenerationModelTemp","_filterStructures","dataStructures","structureSelPopActiv","fragment","createDocumentFragment","tmpElement","_getContextSelectorChemin","typeremdesc","recine","descendence","_selectStructureSelector","structureIdentifier","dataContext","onSucessFunction","setPopulationActive","ptgVisiPop","fetchingData","generatePopulationListElements","$menuList","topObject","contextMenuheight","maxScrollHeight","$elementList","_prepareKeyboardNav","itemsToShow","_showPopulationPlus","_openSelectorCollab","_setCollaborateurActive","selectedModel","_changeActivePopulation","populationsListLinks","isPopulation","menuLink","_discardSeparators","_selectFocusable","selectedMenu","updatePopulationStructureLibelle","structureData","structlib","setPopulationActiveFromStructure","setPopulationActiveFromCollab","collabModel","CollaborateurModel","defaultModel","activePopulation","invalidate","ZoneSelectorView","TPL_app_zone_item","_zones","_manageZoneChange","_numTabsChanged","_hideZone","_showZone","_checkPopulations","_loadPopulations","_updateAriaChecked","tempZone","_moveMenuComponentsToZone","numTabs","zname","zoneHtml","_zoneSelectorKeyboardNav","headerHeight","TPL_app_header","userMenuView","Zone_0","require","Zone_1","Zone_2","Zone_3","RouterFactory","routers_0","routers_1","routers_2","routers_3","routersZone_0","routersZone_1","routersZone_2","routersZone_3","routers","PhoenixAppRouter","Router","wfl","newOperation","_predestroyUsecase","_resetUsecase","fullsc","_manageFullscreen","headerView","bodyView","goToLogout","router","_resizeUsecaseResizables","blockApplication","unblockApplication","_initHomeLayout","oldUsecase","preferedUcLoaded","availableZones","_checkBriquePermissions","adm","briquesArr","_handleUseCase","tmpTabs","usecaseid","perms","permissions","dispatchToUseCase","subroute","_dispatchToZone","_loadModule","_handleTabs","checkClosed","zonesSize","menusSize","applyAction","tabsToClose","tabsToReload","zoneView","brique_emid","modulePrefix","_createNewRouter","createTrailingSlashRoutes","_resetBackboneRouter","reloadUC","handlers","historyRouter","route","without","_treatClose","configureHomeLayout","prevHeight","l_tool","margins","paddings","activeModule","$module","$elSplitA","calculateCenterHeight","$divBlocker","$divBlockerTabs","$divBlockerSplitA","$divBlockerPanelB1","$divBlockerPanelB2","l_tabZone","l_usecase","$l_divB1","$l_divB2","l_marginLeftSplitA","l_heightB1","l_widthB1","l_heightB2","l_widthB2","onkeydown","TabSheetViewFrame","TPL_appFrame_tabsheet","TPL_appFrame_tabsheet_item","ZoneViewFrame","TPL_appFrame_zone","BodyViewFrame","WorkFlowModelFrame","PhoenixAppRouterFrame","newSize","History","started","logLevel","_oldShowDatepicker","_showDatepicker","lan","extendStatics","__extends","__","_enable_super_gross_mode_that_will_cause_bad_things","hostReportError","closed","useDeprecatedSynchronousErrorHandling","tryCatchTarget","errorObject","tryCatcher","tryCatch","_super","UnsubscriptionError","flattenUnsubscriptionErrors","errs","rxSubscriber","Subscriber","destinationOrNext","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","trustedSubscriber","subscriber","_error","_complete","unsubscribe","_unsubscribeAndRecycle","_parent","_parents","Subscription","_subscriptions","_unsubscribe","hasErrors","sub","teardown","tmp","subscription","_addParent","subscriptions","subscriptionIndex","SafeSubscriber","_parentSubscriber","observerOrNext","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","observable","pipeFromArray","fns","Observable","_isScalar","_subscribe","lift","operator","sink","nextOrObserver","_trySubscribe","promiseCtor","getPromiseCtor","pipe","operations","toPromise","InnerSubscriber","outerValue","outerIndex","notifyNext","notifyError","notifyComplete","getSymbolIterator","subscribeTo","return","obs","OuterSubscriber","innerValue","innerIndex","innerSub","MapOperator","project","MapSubscriber","resultSelector","sources","ForkJoinSubscriber","completed","haveValues","outerSubscriber","innerSubscription","_hasValue"],"mappings":"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","file":"js/8_4348fc886e876c33d667.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t8: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + chunkId + \"_\" + \"4348fc886e876c33d667\" + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 326);\n","import { i18n } from '../i18n.js';\n\n/**\n * String format utility class\n */\nexport var STR = {\n\n /**\n * Checks if a text is empty\n */\n isEmpty: function(str) {\n if (str == 0) {\n str = str + \"\"; // To avoid problems when id is 0.\n }\n return (!str || 0 === str.length);\n },\n\n /**\n * Checks if a text is blank or null\n */\n isBlank: function(str) {\n if (str == 0) {\n str = str + \"\"; // To avoid problems when id is 0.\n }\n return (!str || /^\\s*$/.test(str));\n },\n\n /**\n * Replaces the parametres on the message with the parametres value.\n */\n buildMessageParametres: function(message, parametres) {\n var result = \"\";\n if (!STR.isBlank(message)) {\n result = message;\n if (!STR.isBlank(parametres)) {\n var array = [];\n for (var i in parametres) {\n array.push(i);\n }\n array.sort(function(a, b) {\n return b.length - a.length;\n });\n for (var j = 0; j < array.length; j++) {\n result = result.replace(array[j], parametres[array[j]]);\n }\n }\n }\n return result;\n },\n\n /**\n * Format an array of Messages by joining all of them and putting a back\n */\n formatMessage: function(msgs) {\n var strMsg = \"\";\n // Valid for arrays [\"msg1\",\"msg2\"] or objects {1:\"msg1\",2:\"msg2\"}, or\n // complex objects like {1:{2:\"msg1\"},2:\"msg2\"}\n _.each(msgs, function(value) {\n if (_.isObject(value)) {\n value = this.formatMessage(value);\n value = value.substring(2, value.length - 1);\n }\n strMsg = strMsg + \"* \" + value + \"\\n\";\n }, this);\n return strMsg;\n },\n\n /**\n * Get an el value from a model : getElValue(model, \"regleCalcul.libelle\")\n *\n */\n getElValue: function(model, property) {\n var tokens = property.split(\".\");\n var rootValue = model == null ? null : model.get(tokens[0]);\n var value = rootValue;\n for (var i = 1; i < tokens.length; i++) {\n if (value == null) {\n return null;\n }\n value = value[tokens[i]];\n }\n return value;\n },\n\n /**\n * Similar to getElValue but from a JSON object instead of a model.\n *\n */\n getElValueFromObj: function(object, property) {\n var tokens = property.split(\".\");\n if (!_.has(object, tokens[0])) {\n return null;\n }\n var rootValue = object[tokens[0]];\n var value = rootValue;\n for (var i = 1; i < tokens.length; i++) {\n if (value == null) {\n return null;\n }\n value = value[tokens[i]];\n }\n return value;\n },\n\n /**\n * Set an el value to a model : setElValue(model, \"regleCalcul.code\",\n * \"REGUL\")\n *\n */\n setElValue: function(model, property, value, options) {\n var tokens = property.split(\".\");\n var objectValue = {};\n if (tokens.length > 1) {\n // Complex element\n objectValue = _.clone(model.get(tokens[0]));\n if (objectValue == undefined) {\n objectValue = {};\n }\n objectValue = this._extendObject(objectValue, tokens, 1, value);\n } else {\n // Simple element\n objectValue = value;\n }\n\n if (STR.isBlank(model)) {\n model = new Backbone.Model();\n }\n\n return model.set(tokens[0], objectValue, options);\n },\n\n /**\n * Replaces the char at the desired position for the string\n */\n replaceCharAt: function(str, index, chr) {\n if (index > str.length - 1) { return str; }\n return str.substr(0, index) + chr + str.substr(index + 1);\n },\n\n /**\n * Recursive method that insert a value in a complex object.\n */\n _extendObject: function(object, tokens, index, value) {\n if (tokens.length - 1 == index) {\n object[tokens[index]] = value;\n return object;\n }\n if (!object[tokens[index]]) { object[tokens[index]] = {}; }\n _.extend(object[tokens[index]], this._extendObject(object[tokens[index]], tokens, index + 1, value));\n return object;\n },\n\n extractObjectValues: function(object) {\n var auxArray = _.values(object);\n _.each(auxArray, function(it, index) {\n if (_.isObject(it)) {\n auxArray[index] = this.extractObjectValues(it);\n }\n }, this);\n _.flatten(auxArray);\n return auxArray;\n },\n\n toFirstUpperCase: function(string) {\n return string.substring(0, 1).toUpperCase() + string.substring(1);\n },\n convertToAscii: function(string) {\n var i = 0;\n var resultString = \"\";\n if (!STR.isBlank(string)) {\n for (i = 0; i < string.length; i++) {\n resultString += \"&#\" + string.charCodeAt(i) + \";\";\n }\n }\n return resultString;\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar consoleLogger = {\n type: 'logger',\n\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = '' + prefix + this.prefix + ' ' + args[0];\n return this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n return new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n };\n\n return Logger;\n}();\n\nexport default new Logger();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","export function makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n return '' + object;\n}\n\nexport function copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nexport function setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nexport function pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nexport function getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nexport function deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n return target;\n}\n\nexport function regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n};\n/* eslint-enable */\n\nexport function escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport EventEmitter from './EventEmitter.js';\nimport * as utils from './utils.js';\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { ns: ['translation'], defaultNS: 'translation' };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n };\n\n ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return utils.getPath(this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { silent: false };\n\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n utils.setPath(this.data, path, value);\n\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { silent: false };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], { silent: true });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { silent: false };\n\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n var pack = utils.getPath(this.data, path) || {};\n\n if (deep) {\n utils.deepExtend(pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n utils.setPath(this.data, path, pack);\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n\n // COMPATIBILITY: remove extend in v2.1.0\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(EventEmitter);\n\nexport default ResourceStore;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport postProcessor from './postProcessor.js';\nimport * as utils from './utils.js';\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n utils.copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat'], services, _this);\n\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { interpolation: {} };\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys, options) {\n var _this2 = this;\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n\n // non valid keys handling\n if (keys === undefined || keys === null || keys === '') return '';\n if (typeof keys === 'number') keys = String(keys);\n if (typeof keys === 'string') keys = [keys];\n\n // separators\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n\n // return key on CIMode\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n // resolve from store\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n\n // object\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (res && handleAsObject && noObject.indexOf(resType) < 0 && !(joinArrays && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n if (keySeparator) {\n var copy = resType === '[object Array]' ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = '' + resUsedKey + keySeparator + m;\n copy[m] = this.translate(deepKey, _extends({}, options, { joinArrays: false, ns: namespaces }));\n if (copy[m] === deepKey) copy[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n res = copy;\n }\n } else if (joinArrays && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false;\n\n // fallback value\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n res = options.defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n // save missing\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && options.count) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n // extend\n res = this.extendTranslation(res, keys, options, resolved);\n\n // append namespace if still key\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key;\n\n // parseMissingKeyHandler\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n // return\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options, resolved) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey);\n } else if (!options.skipInterpolation) {\n // i18next.parsing\n if (options.interpolation) this.interpolator.init(_extends({}, options, { interpolation: _extends({}, this.options.interpolation, options.interpolation) }));\n\n // interpolate\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language);\n\n // nesting\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n\n if (options.interpolation) this.interpolator.reset();\n }\n\n // post process\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var found = void 0;\n var usedKey = void 0;\n var usedLng = void 0;\n var usedNS = void 0;\n\n if (typeof keys === 'string') keys = [keys];\n\n // forEach possible key\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language);\n\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n\n // fallback for plural if context not found\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n\n // get key for context if needed\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this4.options.contextSeparator + options.context);\n\n // get key for plural if needed\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n var possibleKey = void 0;\n /* eslint no-cond-assign: 0 */\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n\n return { res: found, usedKey: usedKey, usedLng: usedLng, usedNS: usedNS };\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n return this.resourceStore.getResource(code, ns, key, options);\n };\n\n return Translator;\n}(EventEmitter);\n\nexport default Translator;","export default {\n\n processors: {},\n\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n\n return value;\n }\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n\n // if lenght 2 guess it's a country\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\nexport default LanguageUtil;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\n// definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n/* eslint-disable */\nvar sets = [{ lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], nr: [1, 2], fc: 1 }, { lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'he', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], nr: [1, 2], fc: 2 }, { lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], nr: [1], fc: 3 }, { lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'], nr: [1, 2, 5], fc: 4 }, { lngs: ['ar'], nr: [0, 1, 2, 3, 11, 100], fc: 5 }, { lngs: ['cs', 'sk'], nr: [1, 2, 5], fc: 6 }, { lngs: ['csb', 'pl'], nr: [1, 2, 5], fc: 7 }, { lngs: ['cy'], nr: [1, 2, 3, 8], fc: 8 }, { lngs: ['fr'], nr: [1, 2], fc: 9 }, { lngs: ['ga'], nr: [1, 2, 3, 7, 11], fc: 10 }, { lngs: ['gd'], nr: [1, 2, 3, 20], fc: 11 }, { lngs: ['is'], nr: [1, 2], fc: 12 }, { lngs: ['jv'], nr: [0, 1], fc: 13 }, { lngs: ['kw'], nr: [1, 2, 3, 4], fc: 14 }, { lngs: ['lt'], nr: [1, 2, 10], fc: 15 }, { lngs: ['lv'], nr: [1, 2, 0], fc: 16 }, { lngs: ['mk'], nr: [1, 2], fc: 17 }, { lngs: ['mnk'], nr: [0, 1, 2], fc: 18 }, { lngs: ['mt'], nr: [1, 2, 11, 20], fc: 19 }, { lngs: ['or'], nr: [2, 1], fc: 2 }, { lngs: ['ro'], nr: [1, 2, 20], fc: 20 }, { lngs: ['sl'], nr: [5, 1, 2, 3], fc: 21 }];\n\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n\n this.logger = baseLogger.create('pluralResolver');\n\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n\n return rule && rule.numbers.length > 1;\n };\n\n PluralResolver.prototype.getPluralFormsOfKey = function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n\n var rule = this.getRule(code);\n\n if (!rule) return ret;\n\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n ret.push('' + key + suffix);\n });\n\n return ret;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n // special treatment for lngs only having singular and plural\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n // COMPATIBILITY JSON\n // v1\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return '_plural_' + suffix.toString();\n return returnSuffix();\n } else if ( /* v2 */this.options.compatibilityJSON === 'v2' || rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n } else if ( /* v3 - gettext index */rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn('no plural rule found for: ' + code);\n return '';\n };\n\n return PluralResolver;\n}();\n\nexport default PluralResolver;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.escape = options.interpolation && options.interpolation.escape || utils.escape;\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp();\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof this.options.missingInterpolationHandler === 'function') {\n var temp = this.options.missingInterpolationHandler(str, match);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n } else if (typeof value !== 'string') {\n value = utils.makeString(value);\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (_this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _this3 = this;\n\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // callback if ready\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n _this3.emit('loaded', q.loaded);\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this4 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\n setTimeout(function () {\n _this4.read.call(_this4, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this5 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this5.loadOne(name);\n });\n };\n\n Connector.prototype.reload = function reload(languages, namespaces) {\n var _this6 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n _this6.loadOne(l + '|' + n, 're');\n });\n });\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this7 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this7.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this7.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this7.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, { isUpdate: isUpdate }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","export { get };\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false, // string or array of namespaces\n\n whitelist: false, // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all', // | currentOnly | languageOnly\n preload: false, // array with preload languages\n\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n\n saveMissing: false, // enable to send missing values\n updateMissing: false, // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)\n saveMissingTo: 'fallback', // 'current' || 'all'\n saveMissingPlurals: true, // will save all forms not only singular key\n missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false, // function(str, match)\n\n postProcess: false, // string or array of postProcessor names\n returnNull: true, // allows null value as valid translation\n returnEmptyString: true, // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false, // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {}, // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (args[1]) ret.defaultValue = args[1];\n if (args[2]) ret.tDescription = args[2];\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n }\n };\n}\n\n/* eslint no-param-reassign: 0 */\nexport function transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n // extend whitelist with cimode\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport ResourceStore from './ResourceStore.js';\nimport Translator from './Translator.js';\nimport LanguageUtils from './LanguageUtils.js';\nimport PluralResolver from './PluralResolver.js';\nimport Interpolator from './Interpolator.js';\nimport BackendConnector from './BackendConnector.js';\nimport { get as getDefaults, transformOptions } from './defaults.js';\nimport postProcessor from './postProcessor.js';\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = { external: [] };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n var _ret;\n\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) return _ret = _this.init(options, callback), _possibleConstructorReturn(_this, _ret);\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n\n I18n.prototype.init = function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = _extends({}, getDefaults(), this.options, transformOptions(options));\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n // init services\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtils(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, { prepend: this.options.pluralSeparator, compatibilityJSON: this.options.compatibilityJSON, simplifyPluralSuffix: this.options.simplifyPluralSuffix });\n s.interpolator = new Interpolator(this.options);\n\n s.backendConnector = new BackendConnector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n // pipe events from translator\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n // append api\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _store;\n\n return (_store = _this2.store)[fcName].apply(_store, arguments);\n };\n });\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return this;\n };\n\n /* eslint consistent-return: 0 */\n\n\n I18n.prototype.loadResources = function loadResources() {\n var _this3 = this;\n\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (!this.options.resources) {\n if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!this.language) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(this.language);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, callback);\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = function reloadResources(lngs, ns) {\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n this.services.backendConnector.reload(lngs, ns);\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var done = function done(err, l) {\n _this4.translator.changeLanguage(l);\n\n if (l) {\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n }\n\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n for (var _len3 = arguments.length, rest = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n var options = _extends({}, opts);\n if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n var _translator;\n\n return this.translator && (_translator = this.translator).translate.apply(_translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n var _translator2;\n\n return this.translator && (_translator2 = this.translator).exists.apply(_translator2, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n if (!this.options.ns) return callback && callback();\n if (typeof ns === 'string') ns = [ns];\n\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n\n this.loadResources(callback);\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n // Exit early if all given languages are already preloaded\n if (!newLngs.length) return callback();\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(callback);\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n /* eslint class-methods-use-this: 0 */\n\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _extends({}, this.options, options, { isClone: true });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n };\n\n return I18n;\n}(EventEmitter);\n\nexport default new I18n();","import i18next from './i18next.js';\n\nexport default i18next;\n\nexport var changeLanguage = i18next.changeLanguage.bind(i18next);\nexport var cloneInstance = i18next.cloneInstance.bind(i18next);\nexport var createInstance = i18next.createInstance.bind(i18next);\nexport var dir = i18next.dir.bind(i18next);\nexport var exists = i18next.exists.bind(i18next);\nexport var getFixedT = i18next.getFixedT.bind(i18next);\nexport var init = i18next.init.bind(i18next);\nexport var loadLanguages = i18next.loadLanguages.bind(i18next);\nexport var loadNamespaces = i18next.loadNamespaces.bind(i18next);\nexport var loadResources = i18next.loadResources.bind(i18next);\nexport var off = i18next.off.bind(i18next);\nexport var on = i18next.on.bind(i18next);\nexport var setDefaultNamespace = i18next.setDefaultNamespace.bind(i18next);\nexport var t = i18next.t.bind(i18next);\nexport var use = i18next.use.bind(i18next);","import i18next from 'i18next';\nimport XHR from 'i18next-xhr-backend';\n\nfunction replaceTokens(label) {\n var result = label.replace(/\\{(\\d)\\}/g, '{{$1}}').replace(/@(\\d)/g, '{{$1}}');\n return result;\n}\n\nvar conf = {\n fallbackLng: ['fr'],\n ns: ['screens', 'common', 'messages', 'login'],\n defaultNS: 'screens',\n interpolation: { \n escapeValue : false \n },\n backend: {\n loadPath: function(lngs, namespaces) {\n var url = \"i18n/locales/\" + lngs + \"/\" + namespaces + \".json\";\n if (namespaces[0] === \"messages\") {\n url = Configuration.restRoot + \"/rest/utilitaire/messages?langue=\" + lngs;\n }\n return url;\n },\n parse: function(data, url) {\n if (url.indexOf(\"messages?langue\") > 0) {\n var tempData = {};\n JSON.parse(data).forEach(function(message) {\n tempData[message.famille + \"_\" + message.code] = replaceTokens(message.libelle);\n });\n data = tempData;\n } else {\n data = JSON.parse(data);\n }\n return data;\n }\n },\n // init option for fetch, for example\n init: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default',\n }\n};\n\nif (process.env.NODE_ENV === \"development\") {\n conf.debug = true;\n}\n\nif (window.location.href.indexOf(\"login\") > 0) {\n conf.ns = ['login', 'common', 'messages'];\n conf.defaultNS = 'login';\n conf.backend.loadPath = function(lngs, namespaces) {\n var url = \"../i18n/locales/\" + lngs + \"/\" + namespaces + \".json\";\n if (namespaces[0] === \"messages\") {\n url = Configuration.restRoot + \"/rest/utilitaire/messages?langue=\" + lngs;\n }\n return url;\n };\n}\n\nif (window.location.href.indexOf(\"aide\") > 0) {\n conf.ns = ['help'];\n conf.defaultNS = 'help';\n conf.backend.loadPath = function(lngs, namespaces) {\n var url = \"../i18n/locales/\" + lngs + \"/\" + namespaces + \".json\";\n return url;\n };\n}\n\nexport var i18n = i18next.use(XHR).init(conf);\n","import { GLOBAL_DATA } from '../globalData.js';\nimport { i18n } from '../i18n.js';\nimport { LOG } from '../utils/log.js';\nimport { STR } from '../utils/str.js';\nimport { SYNC } from '../utils/sync.js';\nimport { UTILS } from '../utils/utils.js';\n\n/**\n * Conversion of types\n */\nexport var TYPE = {\n\n /**\n * \t\tThis is used when we want to add automatic events, formatting, parsing to a filed.\n */\n supportedClass: \".typeHourMinute, \" +\n \".typeHourMinuteNightly, \" +\n \".typeDurationHM, \" +\n \".typeDuration24HM, \" +\n \".typeDurationHC, \" +\n \".typeDuration24HC, \" +\n \".typeDurationMN, \" +\n \".typeShort, \" +\n \".typeLong, \" +\n \".typeCustom, \" +\n \".typeDecimal, \" +\n \".typeDecimal_1, \" +\n \".typeDecimal_2, \" +\n \".typeJour, \" +\n \".typeJour_0, \" +\n \".typeJour_1, \" +\n \".typeJour_2, \" +\n \".typePercentage, \" +\n \".typePercentage_0, \" +\n \".typePercentage_1, \" +\n \".typePercentage_2, \" +\n \".typeDate\",\n\n /**\n * \t\tThis is used when want to define a specific mask for a field or function.\n */\n\n /**\n * Get the Default Saisie Mask (for INPUT Data) in the array typeapplicatif by typeClass.\n */\n _getMaskByType: function(type) {\n var code = this._getCodeByTypeClass(type);\n if (!STR.isBlank(code)) {\n return this._getMaskByCode(code);\n }\n },\n\n /**\n * Get the Default Format Mask (for SHOW data) in the array typeapplicatif by typeClass.\n */\n _getFormatByType: function(type) {\n var code = this._getCodeByTypeClass(type);\n if (!STR.isBlank(code)) {\n return this._getFormatByCode(code);\n }\n },\n\n /**\n * Get the default TYPE code by typeClass.\n */\n _getCodeByTypeClass: function(typeClass) {\n var array = [];\n array[\"typeHourMinute\"] = \"INSTHM\";\n array[\"typeHourMinuteNightly\"] = \"INSTHM\";\n array[\"typeDurationHM\"] = \"DUREEHM\";\n array[\"typeDuration24HM\"] = \"DUR24HM\";\n array[\"typeDurationHC\"] = \"DUREEHC\";\n array[\"typeDuration24HC\"] = \"DUR24HC\";\n array[\"typeDurationMN\"] = \"DUREEMN\";\n array[\"typeShort\"] = \"ENTCOURT\";\n array[\"typeLong\"] = \"ENTLONG\";\n array[\"typeDecimal\"] = \"DECIMAL_2\";\n array[\"typeDecimal_1\"] = \"DECIMAL_1\";\n array[\"typeDecimal_2\"] = \"DECIMAL_2\";\n array[\"typeJour\"] = \"NBJOUR_2\";\n array[\"typeJour_0\"] = \"NBJOUR_0\";\n array[\"typeJour_1\"] = \"NBJOUR_1\";\n array[\"typeJour_2\"] = \"NBJOUR_2\";\n array[\"typePercentage\"] = \"POURCENT_2\";\n array[\"typePercentage_0\"] = \"POURCENT_0\";\n array[\"typePercentage_1\"] = \"POURCENT_1\";\n array[\"typePercentage_2\"] = \"POURCENT_2\";\n array[\"typeDate\"] = \"DATE\";\n return array[typeClass];\n },\n\n /**\n * Get the default TYPE code by typeClass.\n */\n _getTypeClassByCode: function(code) {\n var array = [];\n array[\"DATE\"] = \"typeDate\";\n array[\"DATE_A\"] = \"typeDate\";\n array[\"DATE_L\"] = \"typeDate\";\n array[\"DATEHEURE\"] = \"typeDate\";\n array[\"INSTHM\"] = \"typeHourMinute\";\n array[\"INSTHMS\"] = \"typeHourMinute\";\n array[\"DUREEHM\"] = \"typeDurationHM\";\n array[\"DUREEHMS\"] = \"typeDurationHM\";\n array[\"DUREEHC\"] = \"typeDurationHC\";\n array[\"DUREEMN\"] = \"typeDurationMN\";\n array[\"DUR24HM\"] = \"typeDuration24HM\";\n array[\"DUR24HC\"] = \"typeDuration24HC\";\n array[\"ENTCOURT\"] = \"typeShort\";\n array[\"ENTLONG\"] = \"typeLong\";\n array[\"NBJOUR_0\"] = \"typeJour_0\";\n array[\"NBJOUR_1\"] = \"typeJour_1\";\n array[\"NBJOUR_2\"] = \"typeJour_2\";\n array[\"POURCENT_0\"] = \"typePercentage_0\";\n array[\"POURCENT_1\"] = \"typePercentage_1\";\n array[\"POURCENT_2\"] = \"typePercentage_2\";\n array[\"DECIMAL_1\"] = \"typeDecimal_1\";\n array[\"DECIMAL_2\"] = \"typeDecimal_2\";\n return array[code];\n },\n\n /**\n * Returns the TYPE object by the typeClass name.\n */\n _getTypeByTypeClass: function(typeClass) {\n var array = [];\n array[\"typeHourMinute\"] = TYPE.HOUR_MINUTE;\n array[\"typeHourMinuteNightly\"] = TYPE.HOUR_MINUTE_NIGHTLY;\n array[\"typeDurationHM\"] = TYPE.DURATION.HOUR_MINUTE;\n array[\"typeDuration24HM\"] = TYPE.DURATION.HOUR_MINUTE_24;\n array[\"typeDurationHC\"] = TYPE.DURATION.HOUR_HUNDREDTH;\n array[\"typeDuration24HC\"] = TYPE.DURATION.HOUR_HUNDREDTH_24;\n array[\"typeDurationMN\"] = TYPE.DURATION.MINUTES;\n array[\"typeShort\"] = TYPE.SHORT;\n array[\"typeLong\"] = TYPE.LONG;\n array[\"typeDecimal\"] = TYPE.DECIMAL;\n array[\"typeDecimal_1\"] = TYPE.DECIMAL_1;\n array[\"typeDecimal_2\"] = TYPE.DECIMAL_2;\n array[\"typeJour\"] = TYPE.JOUR;\n array[\"typeJour_0\"] = TYPE.JOUR_0;\n array[\"typeJour_1\"] = TYPE.JOUR_1;\n array[\"typeJour_2\"] = TYPE.JOUR_2;\n array[\"typePercentage\"] = TYPE.PERCENTAGE;\n array[\"typePercentage_0\"] = TYPE.PERCENTAGE_0;\n array[\"typePercentage_1\"] = TYPE.PERCENTAGE_1;\n array[\"typePercentage_2\"] = TYPE.PERCENTAGE_2;\n array[\"typeDate\"] = TYPE.DATE;\n array[\"typeCustom\"] = TYPE.CUSTOM;\n return array[typeClass];\n },\n\n /**\n * Returns the TYPE object by the type code.\n */\n _getTypeByCode: function(code) {\n var array = [];\n array[\"DATE\"] = TYPE.DATE;\n array[\"DATE_A\"] = TYPE.DATE;\n array[\"DATE_L\"] = TYPE.DATE;\n array[\"DATEHEURE\"] = TYPE.DATE;\n array[\"INSTHM\"] = TYPE.HOUR_MINUTE;\n array[\"INSTHMS\"] = TYPE.HOUR_MINUTE;\n array[\"DUREEHM\"] = TYPE.DURATION.HOUR_MINUTE;\n array[\"DUREEHMS\"] = TYPE.DURATION.HOUR_MINUTE;\n array[\"DUREEHC\"] = TYPE.DURATION.HOUR_HUNDREDTH;\n array[\"DUREEMN\"] = TYPE.DURATION.MINUTES;\n array[\"DUR24HM\"] = TYPE.DURATION.HOUR_MINUTE_24;\n array[\"DUR24HC\"] = TYPE.DURATION.HOUR_HUNDREDTH_24;\n array[\"ENTCOURT\"] = TYPE.SHORT;\n array[\"ENTLONG\"] = TYPE.LONG;\n array[\"NBJOUR_0\"] = TYPE.JOUR_0;\n array[\"NBJOUR_1\"] = TYPE.JOUR_1;\n array[\"NBJOUR_2\"] = TYPE.JOUR_2;\n array[\"POURCENT_0\"] = TYPE.PERCENTAGE_0;\n array[\"POURCENT_1\"] = TYPE.PERCENTAGE_1;\n array[\"POURCENT_2\"] = TYPE.PERCENTAGE_2;\n array[\"DECIMAL_1\"] = TYPE.DECIMAL_1;\n array[\"DECIMAL_2\"] = TYPE.DECIMAL_2;\n array[\"BOOLEEN\"] = TYPE.BOOLEAN;\n array[\"EMAIL\"] = TYPE.EMAIL;\n array[\"RESTDIV97\"] = TYPE.RESTDIV97;\n\n return array[code];\n },\n\n /**\n * Get the appropriate saisie mask in the typeapplicatif Array.\n */\n _getMaskByCode: function(code) {\n var mask = GLOBAL_DATA.types.get(code);\n if (!STR.isBlank(mask)) {\n mask = mask.get(\"masque\");\n }\n return mask;\n },\n\n /**\n * Get the appropriate format mask in the typeapplicatif Array.\n */\n _getFormatByCode: function(code) {\n var mask = GLOBAL_DATA.types.get(code);\n if (!STR.isBlank(mask)) {\n mask = mask.get(\"format\");\n }\n return mask;\n },\n\n /**\n * Returns the decimal of the mask with the code.\n */\n _getDecimalsByCode: function(code) {\n var mask = GLOBAL_DATA.types.get(code);\n var decimals = 0;\n if (!STR.isBlank(mask)) {\n decimals = mask.get(\"decimale\");\n }\n return decimals;\n },\n\n /**\n * Returns the code of the masks for the current attribute.\n * Search in a view if any type or attribute has defined a\n * specific Masks with typeMaskByClass[] in view or returns the default\n * value for the type.\n */\n _getMaskCode: function(attr, view, typeClass) {\n var maskCode = null;\n if (!STR.isBlank(view.typeMaskByClass)) {\n //Check input class defined masks\n maskCode = view.typeMaskByClass[attr];\n if (STR.isBlank(maskCode)) {\n //Check UC Type masks changes\n if (!STR.isBlank(typeClass)) {\n maskCode = view.typeMaskByClass[typeClass];\n }\n }\n }\n if (STR.isBlank(maskCode)) {\n //If not custom Return the default\n maskCode = TYPE._getTypeByTypeClass(typeClass).DEFAULT_MASK_CODE;\n }\n return maskCode;\n },\n\n /**\n * Returns a mask based on a format given for typeCustom class.\n * It counts the total of numbers that there could be in the field and\n * give them to the mask.\n */\n _getMaskByFormat: function(formatMask) {\n var mask = \"\";\n var numberSize = 0;\n var totalMinus = 0;\n var totalPlus = 0;\n var thereIsAMinus = false;\n var thereIsAPlus = false;\n //We count how many numbers could the field have\n for (var i = 0; i < formatMask.length; i++) {\n if (formatMask[i] == \"&\" || formatMask[i] == \"*\" || formatMask[i] == \"#\" ||\n formatMask[i] == \"<\") {\n numberSize++;\n }\n if (formatMask[i] == \"-\")\n totalMinus++;\n if (formatMask[i] == \"+\")\n totalPlus++;\n }\n if (totalMinus != 0) {\n numberSize = numberSize + totalMinus;\n thereIsAMinus = true;\n } else if (totalPlus != 0) {\n numberSize = numberSize + totalPlus;\n thereIsAPlus = true;\n }\n\n //We create the mask based on how many numbers there are and if there is a - or a +\n for (var i = 0; i < numberSize; i++) {\n if (i == 0 && thereIsAMinus) { //There can be a - at first position of the mask\n mask = mask + \"-\";\n } else if (i == 0 && thereIsAPlus) //There can be a - at first position of the mask\n mask = mask + \"-\";\n else\n mask = mask + \"&\";\n }\n return mask;\n },\n\n /**\n * Checks if the parametre is an Integer number\n */\n _isInt: function(n) {\n if (!STR.isBlank(n)) {\n var numberPattern = /^[+-]?[0-9]+$/;\n if (numberPattern.test(n.toString())) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Gets the position of the Caret at the passed input (from the left).\n */\n _getCaretPosition: function(ctrl) {\n var CaretPos = 0;\n // IE Support\n //\t\tif (document.selection) {\n //\t\t\tctrl.focus ();\n //\t\t\tvar Sel = document.selection.createRange ();\n //\t\t\tSel.moveStart ('character', -ctrl.value.length);\n //\t\t\tCaretPos = Sel.text.length;\n //\t\t}\n // Firefox support\n //\t\telse\n if (ctrl.selectionStart || ctrl.selectionStart == '0') {\n CaretPos = ctrl.selectionStart;\n }\n return (CaretPos);\n },\n\n /**\n * Gets if the input has a selection.\n */\n _isCaretSelection: function(ctrl) {\n var selection = false;\n if (ctrl.selectionStart !== ctrl.selectionEnd) {\n selection = true;\n }\n return selection;\n },\n\n /**\n * Focus and set the Caret to the pos position at ctrl HTML input element\n */\n _setCaretPosition: function(ctrl, pos) {\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n } else if (ctrl.createTextRange) {\n var range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd('character', pos);\n range.moveStart('character', pos);\n range.select();\n }\n },\n\n /**\n * Main function of types focus event, apply the saisie mask to the current\n * input value and saves the orig value in TEMP variable.\n */\n _eventFocus: function(e, typeClass, type, view, formatMask) {\n //Get the attribute name and his model value\n var attr = e.target.className.split(\" \")[0];\n if (view.dynamicAttributes === true && view._convertDynamicAttributes) {\n attr = view._convertDynamicAttributes(attr);\n }\n var attrModelValue = STR.getElValue(view._getModel(), attr);\n\n //Set temporal Original Value on the view to detect Changes\n view.TEMP_origVal = !STR.isBlank(attrModelValue) ? attrModelValue : \"\";\n\n //Get the input Mask\n var inputMask = \"\";\n if (formatMask === undefined) { //When typeClass is not typeCustom\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n inputMask = TYPE._getMaskByCode(maskCode);\n } else //When typeClass is typeCustom\n inputMask = TYPE._getMaskByFormat(formatMask);\n\n //Change the value of the input\n if ($(e.target).hasClass(\"infinityDate\") && attrModelValue == TYPE.DATE.INFINITY && GLOBAL_DATA.paramDivers.get(\"CACH_INFIN\").get(\"valeur\") == \"1\") {\n $(e.target).val(type.parseOnFocus(\"\", inputMask));\n } else {\n $(e.target).val(type.parseOnFocus(attrModelValue, inputMask));\n }\n //Select the content of the input\n if (STR.isBlank($(e.target).attr(\"id\"))) {\n window.lastFocusedInput = { type: \"className\", value: e.target.className };\n } else {\n window.lastFocusedInput = { type: \"id\", value: $(e.target).attr(\"id\") };\n }\n\n window.setTimeout(function() {\n if (window.lastFocusedInput &&\n ((window.lastFocusedInput.type == \"id\" && $(e.target).attr(\"id\") == window.lastFocusedInput.value) ||\n (window.lastFocusedInput.type == \"className\" && e.target.className == window.lastFocusedInput.value))) {\n e.target.select();\n window.lastFocusedInput = { type: \"id\", value: \"\" };;\n }\n }, 50);\n },\n\n /**\n * Main function of types blur event, parse the content trigger a change to modify the model,\n * show/clean errors at the input triggered, and format the input with the format mask.\n */\n _eventBlur: function(e, typeClass, type, view, formatMask) {\n LOG.debug(\"----------------Blur:\" + $(e.target).attr(\"id\"));\n //Get the attribute name and his model value\n var attr = e.target.className.split(\" \")[0];\n if (view.dynamicAttributes === true && view._convertDynamicAttributes) {\n attr = view._convertDynamicAttributes(attr);\n }\n var attrModelValue = STR.getElValue(view._getModel(), attr);\n\n //Get the format Mask\n if (formatMask === undefined) {\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n formatMask = TYPE._getFormatByCode(maskCode);\n }\n\n //Parse the input and format the input\n var parse = type.parse(e.target.value);\n if (typeClass === \"typeHourMinuteNightly\") { //Anomalie 118031 For the night hours we want to check also the type as the string represent not validated values and it was not trigering the change event from 25:00 to +1:00\n //Check changes on the original Value\n if (view.TEMP_origVal !== parse[\"val\"]) {\n $(e.target).change();\n }\n } else {\n //Check changes on the original Value\n if ((view.TEMP_origVal != parse[\"val\"]) || (view.TEMP_origVal === 0 && String(view.TEMP_origVal) !== parse[\"val\"])) {\n $(e.target).change();\n }\n }\n\n //Check Errors, format if no errors.\n var errors = {};\n if (!parse[\"errors\"]) {\n $(e.target).val(type.format(parse[\"val\"], formatMask));\n }\n delete view.TEMP_origVal;\n },\n\n /**\n * Update the input with the new value.\n */\n _eventKeypress: function(e, typeClass, type, view, left2Right, formatMask) {\n var key = e.which || e.keyCode;\n if (key === 8 || key === 46) {\n e.preventDefault();\n return true;\n }\n // If ctrl + c or ctrl+v do nothing.\n if (e.ctrlKey && (key === 99 || key === 118)) {\n return true;\n }\n\n var attr = e.target.className.split(\" \")[0];\n\n //Get the input Mask\n var inputMask = \"\";\n if (formatMask === undefined) { //When typeClass is not typeCustom\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n inputMask = TYPE._getMaskByCode(maskCode);\n } else //When typeClass is typeCustom\n inputMask = TYPE._getMaskByFormat(formatMask);\n\n var key = e.which || e.keyCode;\n\n var bloqued = [9, 16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 144];\n if (_.indexOf(bloqued, key) == -1) {\n var caretPos = 0;\n if (left2Right) {\n caretPos = TYPE._getCaretPosition(e.target);\n } else {\n caretPos = e.target.value.length - TYPE._getCaretPosition(e.target);\n }\n var begin = e.target.selectionStart;\n var end = e.target.selectionEnd;\n var old = $(e.target).prop(\"previousValue\");\n var newValue = e.target.value.slice(0, begin) + String.fromCharCode(key) + e.target.value.slice(end);\n\n if (newValue == undefined) {\n newValue = e.target.value;\n }\n //\t\t\tif(old !== newValue){\n $(e.target).val(TYPE.MASK.applyInputMask(newValue, inputMask, old, typeClass));\n $(e.target).prop(\"previousValue\", e.target.value);\n //\t\t\t}\n if (left2Right) {\n var separators = TYPE.MASK._getSeparatorsFromMask(inputMask);\n if (_.contains(separators, e.target.value[begin])) {\n caretPos += 1; // Move the caret to the right\n }\n TYPE._setCaretPosition(e.target, caretPos + 1);\n } else {\n caretPos -= end - begin; // Move the caret the selection size\n TYPE._setCaretPosition(e.target, e.target.value.length - caretPos);\n }\n\n e.preventDefault();\n }\n },\n\n /**\n *\tUpdate the input in a delete character event when the direction is right to left\n */\n _eventDownRight2Left: function(e, typeClass, type, view, formatMask) {\n\n var caretPos;\n var key = e.which || e.keyCode;\n\n var attr = e.target.className.split(\" \")[0];\n //Get the input Mask\n var inputMask = \"\";\n if (formatMask === undefined) { //When typeClass is not typeCustom\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n inputMask = TYPE._getMaskByCode(maskCode);\n } else //When typeClass is typeCustom\n inputMask = TYPE._getMaskByFormat(formatMask);\n\n var value = $(e.target).val();\n\n // if I'm moving the cursor with the arrows I don't let the cursor pass the value\n if (key == 37 || key == 38 || key == 39 || key == 40) {\n caretPos = e.target.value.length - TYPE._getCaretPosition(e.target);\n if (key == 37) {\n caretPos++;\n } else {\n caretPos--;\n }\n var valueLength = e.target.value.replace(/_/g, \"\").length;\n if (caretPos >= valueLength) {\n TYPE._setCaretPosition(e.target, e.target.value.length - valueLength);\n e.preventDefault();\n }\n }\n //backspace, delete, and escape get special treatment\n else if (key === 8 || key === 46) {\n caretPos = e.target.value.length - TYPE._getCaretPosition(e.target);\n var begin = e.target.selectionStart;\n var end = e.target.selectionEnd;\n\n // Move the caret the selection size\n caretPos -= end - begin;\n if (key === 8) { // Backspace, delete the next\n var old = value;\n if (begin === end) {\n begin--;\n var separators = TYPE.MASK._getSeparatorsFromMask(inputMask);\n if (_.contains(separators, e.target.value.slice(begin, end))) {\n caretPos += 1; // Move the caret to the left\n }\n }\n var newValue = e.target.value.slice(0, begin) + e.target.value.slice(end);\n $(e.target).val(TYPE.MASK.applyInputMask(newValue, inputMask, old, typeClass));\n } else if (key === 46) { // Delete, delete de previous\n var old = value;\n if (begin === end) {\n end++;\n caretPos -= 1; // Move the caret to the right\n }\n var newValue = e.target.value.slice(0, begin) + e.target.value.slice(end);\n $(e.target).val(TYPE.MASK.applyInputMask(newValue, inputMask, old, typeClass));\n }\n TYPE._setCaretPosition(e.target, e.target.value.length - caretPos);\n e.preventDefault();\n } else if (this._isCaretSelection(e.target) === false) {\n caretPos = e.target.value.length - TYPE._getCaretPosition(e.target);\n var valueLength = e.target.value.replace(/_/g, \"\").length;\n if (caretPos >= valueLength) {\n TYPE._setCaretPosition(e.target, e.target.value.length - valueLength);\n }\n LOG.debug(\"keydown:\" + caretPos + \" \" + valueLength + \" \" + (e.target.value.length - valueLength));\n }\n },\n\n /**\n * Update the input in a delete character event when the direction is left to right\n */\n _eventDownLeft2Right: function(e, typeClass, type, view) {\n var key = e.which || e.keyCode,\n caretPos,\n begin,\n end;\n\n var attr = e.target.className.split(\" \")[0];\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n var inputMask = TYPE._getMaskByCode(maskCode);\n\n var value = $(e.target).val();\n\n //backspace, delete, and escape get special treatment\n if (key === 8 || key === 46) {\n caretPos = TYPE._getCaretPosition(e.target);\n begin = e.target.selectionStart;\n end = e.target.selectionEnd;\n\n if (key === 8) { // Backspace, delete the next\n var old = value;\n if (begin === end) {\n begin--;\n caretPos -= 1; // Move the caret to the left\n }\n var newValue = e.target.value.slice(0, begin) + e.target.value.slice(end);\n $(e.target).val(TYPE.MASK.applyInputMask(newValue, inputMask, old, typeClass));\n } else if (key === 46) { // Delete, delete de previous\n var old = value;\n if (begin === end) {\n end++;\n var separators = TYPE.MASK._getSeparatorsFromMask(inputMask);\n if (_.contains(separators, e.target.value.slice(begin, end))) {\n caretPos += 1; // Move the caret to the right\n }\n }\n var newValue = e.target.value.slice(0, begin) + e.target.value.slice(end);\n $(e.target).val(TYPE.MASK.applyInputMask(newValue, inputMask, old, typeClass));\n }\n\n TYPE._setCaretPosition(e.target, caretPos);\n e.preventDefault();\n }\n },\n\n /**\n * Returns the max Size of the input,format Masks of the MaskCode.\n */\n _getInputLongByCode: function(tdaCode, defaultSize) {\n var inputMask = TYPE._getMaskByCode(tdaCode);\n var formatMask = TYPE._getFormatByCode(tdaCode);\n\n var size = defaultSize || 20;\n\n if (inputMask && formatMask) {\n size = Math.max(inputMask.length, formatMask.length);\n } else if (inputMask) {\n size = inputMask.length;\n } else if (formatMask) {\n size = formatMask.length;\n }\n\n return size;\n },\n\n /**\n * Fill the number with zeros from Left\n */\n addZerosFromLeft: function(number, length) {\n var zero = \"0\";\n var str = STR.isBlank(number) == true ? zero : number.toString();\n while (str.length < length)\n str = zero + str;\n return str;\n },\n\n /**\n * Fill the number with zeros from Right\n */\n addZerosFromRight: function(number, length) {\n var zero = \"0\";\n var str = STR.isBlank(number) == true ? zero : number.toString();\n while (str.length < length)\n str = str + zero;\n return str;\n }\n\n};\n\n/**\n * The Base of other types that has common information and simple functions\n */\nTYPE.BASETYPE = {\n\n /**\n * Auxiliar function that provides similar Backbone extend functionality\n */\n extend: function(childProps) {\n var child = {};\n _.extend(child, this, childProps);\n return child;\n },\n\n //REVIEW: \ti18n : phx.i18n.common,\n\n /**\n * Apply an Input Mask to the input value.\n */\n parseOnFocus: function(input, inputMask) {\n if (STR.isBlank(inputMask)) { inputMask = TYPE._getMaskByCode(this.DEFAULT_MASK_CODE); }\n return TYPE.MASK.applyInputMask(input, inputMask);\n },\n\n /**\n * Validate the input and parse it to match with the model raw type\n */\n parse: function(input) {\n var out = {};\n if (input != null && !STR.isBlank(input)) {\n input = TYPE.MASK._cleanInput(input);\n var validate = this.validate(input);\n if (!_.isUndefined(validate)) {\n out.errors = validate;\n }\n }\n out.val = input;\n return out;\n },\n\n /**\n * Apply the formatMask to the input value\n */\n format: function(input, formatMask) {\n if (STR.isBlank(formatMask)) { formatMask = TYPE._getFormatByCode(this.DEFAULT_MASK_CODE); }\n return TYPE.MASK.applyFormatMask(input, formatMask);\n },\n\n events: function(selector) {\n var eventsObj = {};\n\n if (selector === null || selector === undefined) {\n selector = \"\";\n }\n\n var self = this;\n\n eventsObj[\"focus \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventFocus(e, self.TYPE_CLASS, self, this);\n };\n\n eventsObj[\"blur \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventBlur(e, self.TYPE_CLASS, self, this);\n };\n\n eventsObj[\"keypress \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventKeypress(e, self.TYPE_CLASS, self, this);\n };\n\n eventsObj[\"keydown \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventDownRight2Left(e, self.TYPE_CLASS, self, this);\n };\n\n return eventsObj;\n }\n};\n\n/**\n * Type for conversion of HourMinutes(1200) to String and String to\n * HourMinutes(1200) Format : Convert the type HourMinutes (integer) to\n * String 1021 -> 10:21 Parse : Convert the type String to HourMinutes\n * (integer) 10:21 -> 1021\n */\nTYPE.HOUR_MINUTE = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeHourMinute\",\n\n DEFAULT_MASK_CODE: \"INSTHM\",\n\n /**\n * Validate the input and parse it to match with the model raw type\n */\n parse: function(input) {\n var obj = {};\n if (input != null && !STR.isBlank(input)) {\n input = TYPE.MASK._cleanInput(input);\n var error = this.validate(input);\n if (_.isUndefined(error)) {\n\n } else {\n obj.errors = error;\n }\n }\n obj.val = input;\n return obj;\n },\n\n /**\n * Apply the formatMask to the input value\n */\n format: function(input, formatMask) {\n if (STR.isBlank(formatMask)) { formatMask = TYPE._getFormatByCode(this.DEFAULT_MASK_CODE); }\n var out = \"\";\n input = parseInt(input, 10);\n\n out = TYPE.MASK.applyFormatMask(input, formatMask);\n return out;\n },\n\n /**\n * Validate the input with the type logic.\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n input = input.toString();\n var min = parseInt(input.substring(input.length - 2, input.lengt), 10);\n var hour = parseInt(input.substring(input.length - 4, input.length - 2), 10);\n if (min > 59 || hour > 23) {\n error = i18n.t('messages:GL_2');\n }\n }\n if (error) {\n return error;\n }\n },\n\n /**\n * Adds h2 to h1.\n * h1 + h2\n * pe: h1: 700 (7:00), h2: 30 (0:30) = 730 >> (7:30)\n * if the result where more 2359 (23:59) returns 2359\n */\n plus: function(h1, h2) {\n h1 = h1.toString();\n h2 = h2.toString();\n var h1Hour = h1.substring(0, h1.length - 2);\n var h2Hour = h2.substring(0, h2.length - 2);\n if (STR.isBlank(h1Hour)) { h1Hour = 0; }\n if (STR.isBlank(h2Hour)) { h2Hour = 0; }\n var h1Min = h1 % 100;\n var h2Min = h2 % 100;\n\n var hours = parseInt(h1Hour, 10) + parseInt(h2Hour, 10);\n var minutes = parseInt(h1Min, 10) + parseInt(h2Min, 10);\n if (minutes > 59) {\n hours++;\n minutes -= 60;\n }\n var result = hours * 100 + minutes;\n return result;\n },\n\n hoursToMinutes: function(hours) {\n var h = Math.floor(hours / 100);\n var m = hours % 100;\n return h * 60 + m;\n },\n\n minutesToHours: function(minutes) {\n var h = Math.floor(minutes / 60);\n var m = minutes % 60;\n return h * 100 + m;\n },\n\n /**\n * Return the difference between 2 HourMinute types\n * h1 - h2\n * pe: h1: 700 (7:00), h2: 30 (0:30) = 630 >> (6:30)\n * if the result were less than 0 returns 0\n */\n diff: function(h1, h2) {\n h1 = h1.toString();\n h2 = h2.toString();\n var h1Hour = h1.substring(0, h1.length - 2);\n var h2Hour = h2.substring(0, h2.length - 2);\n if (STR.isBlank(h1Hour)) { h1Hour = 0; }\n if (STR.isBlank(h2Hour)) { h2Hour = 0; }\n var h1Min = h1 % 100;\n var h2Min = h2 % 100;\n\n var h1Date = new Date(0, 0, 0, h1Hour, h1Min, 0);\n var h2Date = new Date(0, 0, 0, h2Hour, h2Min, 0);\n var diff = h1Date.getTime() - h2Date.getTime();\n var hours = Math.floor(diff / 1000 / 60 / 60);\n diff -= hours * 1000 * 60 * 60;\n var minutes = Math.floor(diff / 1000 / 60);\n\n if (hours < 0) {\n return 0;\n } else {\n return hours * 100 + minutes;\n }\n }\n});\n\n/**\n * Type for conversion of Nightly HourMinutes(1200) to String and String to\n * Nightly HourMinutes(1200) Format : Convert the type Nightly HourMinutes (integer) to\n * String 1021 -> 10:21 Parse : Convert the type String to HourMinutes\n * (integer) 10:21 -> 1021\n */\nTYPE.HOUR_MINUTE_NIGHTLY = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeHourMinuteNightly\",\n\n DEFAULT_MASK_CODE: \"INSTHM\",\n\n NIGHT_TIME: \"+\",\n\n /**\n * Apply an Input Mask to the input value.\n */\n parseOnFocus: function(input, inputMask) { //Anomalie 118031\n if (_.isNumber(input)) { //If its a number is bacause it comes from the database or it was validated\n return this.format(input, inputMask);\n }\n return TYPE.HOUR_MINUTE.parseOnFocus(input, inputMask);\n\n },\n\n /**\n * Validate the input and parse it to match with the model raw type\n */\n parse: function(input) {\n var nightSymbol = TYPE.HOUR_MINUTE_NIGHTLY.NIGHT_TIME;\n var obj = {};\n if (input != null && !STR.isBlank(input)) {\n input = input.toString();\n input = TYPE.MASK._cleanInput(input, [nightSymbol]);\n var error = this.validate(input);\n if (_.isUndefined(error)) {\n //24:00 is a Special Case\n if (!STR.isBlank(input) && input == 2400) {\n input = 2400;\n }\n //If it's Night Time\n if (input.toString().indexOf(nightSymbol) != -1) {\n input = parseInt(input, 10) + 2400;\n } else {\n input = parseInt(input, 10); //Anomalie 118031\n }\n } else {\n obj.errors = error;\n }\n }\n obj.val = input;\n return obj;\n },\n\n /**\n * Take the value of a Model attribute or input (previously parsed) and format\n * it adds the separator time and the nightSymbol if were necesarie.\n */\n format: function(input, formatMask, nightSymbol) {\n //FIXME jbarcelo >> problemas al formatear cuando no hay nada que formatear\n //\t\t\tif(_.isNumber(input)){//Anomalie 118031\n if (STR.isBlank(formatMask)) { formatMask = TYPE._getFormatByCode(this.DEFAULT_MASK_CODE); }\n if (STR.isBlank(nightSymbol)) { nightSymbol = TYPE.HOUR_MINUTE_NIGHTLY.NIGHT_TIME; }\n var out = \"\";\n //Night Time\n var nightTime = false;\n input = parseInt(input, 10);\n if (input > 2400) {\n input = input - 2400;\n nightTime = true;\n }\n out = TYPE.MASK.applyFormatMask(input, formatMask);\n if (nightTime === true) {\n out = nightSymbol.concat(out);\n }\n return out;\n //\t\t\t}else{\n //\t\t\t\treturn TYPE.HOUR_MINUTE.parseOnFocus(input);\n //\t\t\t}\n },\n\n /**\n * Validate the input value,\n * - hours in range [0-23] | [0-47] (nightTime)\n * \t- minutes in range [0-59]\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n var nightSymbol = TYPE.HOUR_MINUTE_NIGHTLY.NIGHT_TIME;\n input = input.toString();\n var nightTime = input.toString().indexOf(nightSymbol) != -1;\n var min = parseInt(input.substring(input.length - 2, input.lengt), 10);\n var hour = parseInt(input.substring(input.length - 4, input.length - 2), 10); //Anomalie 118031\n if (nightTime) {\n if (min > 59 || hour > 23) {\n error = i18n.t('messages:GL_2');\n }\n } else {\n if (min > 59 || hour > 47) {\n error = i18n.t('messages:GL_2');\n }\n }\n }\n if (error) {\n return error;\n }\n }\n});\n\n/**\n * TYPE HMS only got the FORMAT the user can't enter or edit HMS type\n */\nTYPE.HOUR_MINUTE_SECONDS = TYPE.BASETYPE.extend({\n\n DEFAULT_MASK_CODE: \"INSTHMS\",\n\n parseOnFocus: undefined,\n parse: undefined\n});\n\nTYPE.DURATION = {\n\n /**\n * Type that defines the duration in Hour Minutes\n */\n HOUR_MINUTE: TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDurationHM\",\n\n DEFAULT_MASK_CODE: \"DUREEHM\",\n\n /**\n * Validate the input value,\n * \t- minutes in range [0-59].\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n input = input.toString();\n var min = parseInt(input.substring(input.length - 2), 10);\n if (min > 59) {\n error = i18n.t('messages:GL_2');\n }\n }\n if (error) {\n return error;\n }\n },\n validateShort: function(input) {\n var error = this.validate(input);\n\n if (error) {\n return error;\n } else {\n if (parseInt(input) > 32767) {\n error = i18n.t('messages:GL_2');\n }\n\n return error;\n }\n },\n\n /**\n * Get the last 2 digits of the argument, in the case of HOUR_MINUTE type gives the minutes.\n */\n minutes: function(n) {\n if (!STR.isBlank(n)) {\n var parse = this.parse(n.toString());\n if (parse.errors == undefined) {\n return parse[\"val\"] % 100;\n } else {\n return -1;\n }\n }\n },\n\n /**\n * Remove the last 2 digits of the argument, in the case of HOUR_MINUTE type gives the hours.\n */\n hours: function(n) {\n if (!STR.isBlank(n)) {\n var parse = this.parse(n.toString());\n if (parse.errors == undefined) {\n var val = parse[\"val\"];\n if (val.length > 2) {\n return val.substring(0, val.length - 2);\n } else\n return 0;\n } else {\n return -1;\n }\n }\n },\n\n time: function(hours, minutes) {\n return TYPE.addZerosFromLeft(hours, 2) + TYPE.addZerosFromLeft(minutes, 2);\n },\n\n addDurees: function(d1, d2) {\n var duration = 0;\n duration = this._toMinutes(d1) + this._toMinutes(d2);\n return this._toDuration(duration);\n },\n _toMinutes: function(duration) {\n var h = Math.floor(duration / 100);\n var m = duration % 100;\n return h * 60 + m;\n },\n\n _toDuration: function(minutes) {\n var h = Math.floor(minutes / 60);\n var m = minutes % 60;\n return h * 100 + m;\n },\n _calculateDuration: function(h1, h2) {\n var duration = 0;\n if (h1 != h2) {\n duration = this._toMinutes(h2) - this._toMinutes(h1);\n if (h1 > h2) {\n duration = 1440 + duration;\n }\n }\n return this._toDuration(duration);\n }\n }),\n\n /**\n * Type that defines the duration in Hour Minutes of ha day\n */\n HOUR_MINUTE_24: TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDuration24HM\",\n\n DEFAULT_MASK_CODE: \"DUR24HM\", //DUREEHM\n\n /**\n * Validate the input value,\n * - hours in range [0-23]\n * \t- minutes in range [0-59].\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n input = input.toString();\n var min = parseInt(input.substring(input.length - 2), 10);\n var hour = parseInt(input.substring(input.length - 4, input.length - 2), 10);\n if (!(min == 0 && hour == 24) && (min > 59 || hour > 23)) {\n error = i18n.t('messages:GL_2');\n }\n }\n if (error) {\n return error;\n }\n },\n\n /**\n * Get the last 2 digits of the argument, in the case of HOUR_MINUTE type gives the minutes.\n */\n minutes: function(str) {\n if (!STR.isBlank(str)) {\n var parse = this.parse(str.toString());\n if (parse.errors == undefined) {\n return parse[\"val\"] % 100;\n }\n }\n }\n }),\n\n /**\n * Type that defines the duration in hour minute seconds.\n */\n HOUR_MINUTE_SECONDS: TYPE.BASETYPE.extend({\n\n DEFAULT_MASK_CODE: \"DUREEHMS\",\n\n parseOnFocus: undefined,\n parse: undefined\n }),\n\n /**\n * Type that defines the duration in hour and hundredths.\n */\n HOUR_HUNDREDTH: TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDurationHC\",\n\n DEFAULT_MASK_CODE: \"DUREEHC\",\n\n /**\n * Validate the input with the type logic, in this case don't do nothing.\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n //Validation ?\n }\n if (error) {\n return error;\n }\n }\n }),\n\n /**\n * Type that defines the duration in hours with hundredths.\n */\n HOUR_HUNDREDTH_24: TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDuration24HC\",\n\n DEFAULT_MASK_CODE: \"DUR24HC\",\n\n /**\n * Validate the input with the type logic, in this case don't do nothing.\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n //TODO we have to apply the validation in here\n }\n if (error) {\n return error;\n }\n }\n }),\n\n /**\n * Type that defines the duration in minutes.\n */\n MINUTES: TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDurationMN\",\n\n DEFAULT_MASK_CODE: \"DUREEMN\",\n\n /**\n * Validate the input with the type logic, in this case don't do nothing.\n */\n validate: function(input) {\n var error = null;\n if (input != null && !STR.isBlank(input)) {\n //Validation ?\n }\n if (error) {\n return error;\n }\n }\n })\n};\n\n/**\n * Type that defines the Short numbers.\n */\nTYPE.SHORT = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeShort\",\n\n MAX_VALUE: 32767,\n\n MIN_VALUE: -32768,\n\n DEFAULT_MASK_CODE: \"ENTCOURT\",\n\n /**\n * Validate that the input is a number and is in the short range.\n */\n validate: function(short, min, max) {\n if (!STR.isBlank(short)) {\n if (STR.isBlank(min)) { min = TYPE.SHORT.MIN_VALUE; }\n if (STR.isBlank(max)) { max = TYPE.SHORT.MAX_VALUE; }\n if (!(TYPE._isInt(short) && short >= min && short <= max)) {\n return i18n.t('messages:GL_1008');\n }\n }\n }\n});\n\n/**\n * Type that defines the Long numbers.\n */\nTYPE.LONG = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeLong\",\n\n MAX_VALUE: 2147483647,\n\n MIN_VALUE: -2147483648,\n\n DEFAULT_MASK_CODE: \"ENTLONG\",\n\n /**\n * Validate that the input is a number and is in the long range.\n */\n validate: function(long, min, max) {\n if (!STR.isBlank(long)) {\n if (STR.isBlank(min)) { min = TYPE.LONG.MIN_VALUE; }\n if (STR.isBlank(max)) { max = TYPE.LONG.MAX_VALUE; }\n if (!(TYPE._isInt(long) && long >= min && long <= max)) {\n return i18n.t('messages:GL_1008');\n }\n }\n }\n});\n\n/**\n * Type that represents a customed number format.\n * If no customize the data is like a Long.\n */\nTYPE.CUSTOM = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeCustom\",\n\n MAX_VALUE: 2147483647,\n\n MIN_VALUE: -2147483648,\n\n DEFAULT_MASK_CODE: \"ENTLONG\",\n\n DEFAULT_FORMAT: \"----------&\",\n\n /**\n * Validate that the input is a number and is in the long range.\n */\n validate: function(long, min, max) {\n if (!STR.isBlank(long)) {\n if (STR.isBlank(min)) { min = TYPE.CUSTOM.MIN_VALUE; }\n if (STR.isBlank(max)) { max = TYPE.CUSTOM.MAX_VALUE; }\n if (!(TYPE._isInt(long) && long >= min && long <= max)) {\n return i18n.t('messages:GL_1008');\n }\n }\n },\n\n events: function(selector) {\n var eventsObj = {};\n if (selector === null || selector === undefined) {\n selector = \"\";\n }\n var self = this;\n eventsObj[\"focus \" + selector + \" .typeCustom:not([readonly])\"] = function(e) {\n var format = \"\";\n var view = this;\n if (!STR.isBlank(view.typeFormatByClass[e.target.className.split(\" \")[0]]))\n format = view.typeFormatByClass[e.target.className.split(\" \")[0]];\n else\n format = TYPE.CUSTOM.DEFAULT_FORMAT;\n\n TYPE._eventFocus(e, \"typeCustom\", self, view, format);\n };\n eventsObj[\"blur \" + selector + \" .typeCustom:not([readonly])\"] = function(e) {\n var format = \"\";\n var view = this;\n if (!STR.isBlank(view.typeFormatByClass[e.target.className.split(\" \")[0]]))\n format = view.typeFormatByClass[e.target.className.split(\" \")[0]];\n else\n format = TYPE.CUSTOM.DEFAULT_FORMAT;\n TYPE._eventBlur(e, \"typeCustom\", self, view, format);\n };\n eventsObj[\"keypress \" + selector + \" .typeCustom:not([readonly])\"] = function(e) {\n var format = \"\";\n var view = this;\n if (!STR.isBlank(view.typeFormatByClass[e.target.className.split(\" \")[0]]))\n format = view.typeFormatByClass[e.target.className.split(\" \")[0]];\n else\n format = TYPE.CUSTOM.DEFAULT_FORMAT;\n TYPE._eventKeypress(e, \"typeCustom\", self, view, false, format);\n };\n eventsObj[\"keydown .typeCustom:not([readonly])\"] = function(e) {\n var format = \"\";\n var view = this;\n if (!STR.isBlank(view.typeFormatByClass[e.target.className.split(\" \")[0]]))\n format = view.typeFormatByClass[e.target.className.split(\" \")[0]];\n else\n format = TYPE.CUSTOM.DEFAULT_FORMAT;\n TYPE._eventDownRight2Left(e, \"typeCustom\", self, view, format);\n };\n return eventsObj;\n }\n});\n\n/**\n * Type that represents the decimal numbers.\n */\nTYPE.DECIMAL = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDecimal\",\n\n DEFAULT_MASK_CODE: \"DECIMAL_2\",\n\n SEPARATOR: \".\",\n\n /**\n * Validate the input and parse it to match with the model raw type\n */\n parse: function(input, ndecimals, separator) {\n var out = {};\n if (STR.isBlank(ndecimals)) { ndecimals = TYPE._getDecimalsByCode(this.DEFAULT_MASK_CODE); }\n if (STR.isBlank(separator)) { separator = TYPE.DECIMAL.SEPARATOR; }\n if (!STR.isBlank(input)) {\n input = TYPE.MASK._cleanInput(input);\n var validate = this.validate(input);\n if (!_.isUndefined(validate)) {\n out.errors = validate;\n }\n input = input / Math.pow(10, ndecimals);\n }\n out.val = input;\n return out;\n },\n\n /**\n * Apply the formatMask to the input value\n */\n format: function(input, formatMask, ndecimals) {\n if (STR.isBlank(formatMask)) { formatMask = TYPE._getFormatByCode(this.DEFAULT_MASK_CODE); }\n if (STR.isBlank(ndecimals)) { ndecimals = TYPE._getDecimalsByCode(this.DEFAULT_MASK_CODE); }\n var out = \"\";\n //var parse = TYPE.DECIMAL.parse(input,ndecimals);\n var input = input * Math.pow(10, ndecimals);\n input = Math.round(input);\n out = TYPE.MASK.applyFormatMask(input, formatMask);\n return out;\n },\n\n /**\n * Validate the input, checks if is a float or not.\n */\n validate: function(input, separator) {\n if (STR.isBlank(separator)) { separator = TYPE.DECIMAL.SEPARATOR; }\n var error = null;\n if (!STR.isBlank(input)) {\n //TODO\n if (parseFloat(input) == \"NaN\") {\n error = i18n.t('messages:GL_2');\n }\n }\n if (error)\n return error;\n },\n\n events: function(selector) {\n var eventsObj = {};\n\n if (selector === null || selector === undefined) {\n selector = \"\";\n }\n\n var self = this;\n eventsObj[\"focus \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n var typeClass = self.TYPE_CLASS;\n var type = TYPE.DECIMAL;\n var view = this;\n\n //Get the attribute name and his model value\n var attr = e.target.className.split(\" \")[0];\n var attrModelValue = STR.getElValue(view._getModel(), attr);\n //Set temporal Original Value on the view to detect Changes\n view.TEMP_origVal = attrModelValue || \"\";\n\n //Get the input Mask\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n var inputMask = TYPE._getMaskByCode(maskCode);\n var decimals = TYPE._getDecimalsByCode(maskCode);\n\n //Change the value of the input\n $(e.target).val(type.parseOnFocus(attrModelValue, inputMask));\n //Select the content of the input\n window.setTimeout(function() {\n //e.target.select();\n if (e.target && e.target.value && e.target.value.length && $(\"body\").find($(e.target)).length > 0) {\n e.target.setSelectionRange(0, e.target.value.length);\n }\n }, 50);\n };\n eventsObj[\"blur \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n var typeClass = self.TYPE_CLASS;\n var type = TYPE.DECIMAL;\n var view = this;\n\n var attr = e.target.className.split(\" \")[0];\n var attrModelValue = STR.getElValue(view._getModel(), attr);\n\n var maskCode = TYPE._getMaskCode(attr, view, typeClass);\n var formatMask = TYPE._getFormatByCode(maskCode);\n var decimals = TYPE._getDecimalsByCode(maskCode);\n\n var errors = {};\n var parse = type.parse(e.target.value, decimals);\n //Check changes on the original Value\n if (view.TEMP_origVal != parse[\"val\"]) {\n $(e.target).change();\n }\n if (!parse[\"errors\"]) {\n $(e.target).val(type.format(parse[\"val\"], formatMask, decimals));\n }\n\n delete view.TEMP_origVal;\n };\n eventsObj[\"keypress \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventKeypress(e, self.TYPE_CLASS, self, this);\n };\n eventsObj[\"keydown \" + selector + \" .\" + this.TYPE_CLASS + \":not([readonly])\"] = function(e) {\n TYPE._eventDownRight2Left(e, self.TYPE_CLASS, self, this);\n };\n return eventsObj;\n }\n});\n\n/**\n * Type that represents the decimals\n */\nTYPE.DECIMAL_1 = TYPE.DECIMAL.extend({\n\n TYPE_CLASS: \"typeDecimal_1\",\n\n DEFAULT_MASK_CODE: \"DECIMAL_1\"\n});\n\n/**\n * Type that represents the decimals\n */\nTYPE.DECIMAL_2 = TYPE.DECIMAL.extend({\n\n TYPE_CLASS: \"typeDecimal_2\",\n\n DEFAULT_MASK_CODE: \"DECIMAL_2\"\n});\n\n/**\n * Type that represents the Jours quantity.\n */\nTYPE.JOUR_0 = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeJour_0\",\n\n DEFAULT_MASK_CODE: \"NBJOUR_0\",\n\n /**\n * Validate the input integrity.\n */\n validate: function(input) {\n var error = null;\n if (!STR.isBlank(input)) {\n //TODO\n if (parseFloat(input) == \"NaN\") {\n error = i18n.t('messages:GL_2');\n }\n }\n if (error)\n return error;\n }\n});\n\n/**\n * Type that represents the Jours quantity.\n */\nTYPE.JOUR_1 = TYPE.JOUR_0.extend({\n\n TYPE_CLASS: \"typeJour_1\",\n\n DEFAULT_MASK_CODE: \"NBJOUR_1\"\n});\n\n/**\n * Type that represents the Jours quantity.\n */\nTYPE.JOUR_2 = TYPE.JOUR_0.extend({\n\n TYPE_CLASS: \"typeJour_2\",\n\n DEFAULT_MASK_CODE: \"NBJOUR_2\"\n});\n\n/**\n * Type that represents the Percentages on the application.\n */\nTYPE.PERCENTAGE = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typePercentage\",\n\n DEFAULT_MASK_CODE: \"POURCENT_2\",\n\n /**\n * Validate the input integrity.\n */\n validate: function(input, min, max) {\n var error = null;\n\n if (!STR.isBlank(input)) {\n if (parseFloat(input) === \"NaN\") {\n error = i18n.t('messages:GL_2');\n } else {\n if (!STR.isBlank(min) && !STR.isBlank(max)) {\n if (!(input >= min && input <= max)) {\n error = i18n.t('messages:GL_1008');\n }\n } else if (STR.isBlank(min) && !STR.isBlank(max)) {\n if (!(input <= max)) {\n error = i18n.t('messages:GL_1008');\n }\n } else if (!STR.isBlank(min) && STR.isBlank(max)) {\n if (!(input >= min)) {\n error = i18n.t('messages:GL_1008');\n }\n }\n }\n }\n return error;\n }\n});\n\n/**\n * Type that represents percentages without decimal values\n */\nTYPE.PERCENTAGE_0 = TYPE.PERCENTAGE.extend({\n\n TYPE_CLASS: \"typePercentage_0\",\n\n DEFAULT_MASK_CODE: \"POURCENT_0\"\n});\n\n/**\n * Type that represents percentages with only one decimal\n */\nTYPE.PERCENTAGE_1 = TYPE.PERCENTAGE.extend({\n\n TYPE_CLASS: \"typePercentage_1\",\n\n DEFAULT_MASK_CODE: \"POURCENT_1\"\n});\n\n/**\n * Type that represents percentages with 2 decimals\n */\nTYPE.PERCENTAGE_2 = TYPE.PERCENTAGE.extend({\n\n TYPE_CLASS: \"typePercentage_2\",\n\n DEFAULT_MASK_CODE: \"POURCENT_2\"\n});\n\n/**\n * Type for conversion of Boolean to String(in the languaje correct) and\n * String(in the languaje correct) to Boolean Format : Convert the type\n * Boolean to String(in the languaje correct) true -> \"Oui\" Parse :\n * Convert the type String(in the languaje correct) to Boolean \"Oui\" ->\n * true\n */\nTYPE.BOOLEAN = TYPE.BASETYPE.extend({\n\n parseOnFocus: undefined,\n\n /**\n * Transforms a String into Boolean.\n */\n parse: function(str) {\n var obj;\n\n if (str == i18n.t('common:booltrue')) {\n obj = true;\n } else {\n obj = false;\n }\n return obj;\n },\n\n /**\n * Auxiliar format function the input into boolean text.\n */\n _format: function(obj) {\n var str = \"\";\n if (obj) {\n str = i18n.t('common:booltrue');\n } else {\n str = i18n.t('common:boolfalse');\n }\n return str;\n },\n\n /**\n * It formats a boolean data into text or icon, using uiquery icons if we pass iconStyle as true.\n */\n format: function(obj, iconStyle, fieldSetStyle, title) {\n if (_.isUndefined(iconStyle) || iconStyle === false) {\n return this._format(obj);\n }\n var $span = $(\"\");\n if (_.isUndefined(fieldSetStyle) || fieldSetStyle === false) {\n $span.attr(\"style\", \"margin-left: calc(50% - 8px);\");\n }\n if (!_.isUndefined(title)) {\n $span.attr(\"title\", title);\n }\n\n if (obj) {\n $span.attr(\"class\", \"ui-icon ui-icon-check\");\n } else {\n $span.attr(\"class\", \"ui-icon ui-icon-close\");\n }\n return $span;\n }\n\n});\n\n/**\n * Type that defines the methods for email data type.\n */\nTYPE.EMAIL = TYPE.BASETYPE.extend({\n\n parseOnFocus: undefined,\n parse: undefined,\n format: undefined,\n\n /**\n * Auxiliar function that checks the regexp for the input.\n */\n _validatePattern: function(str) {\n var RegExPattern = /^(([^<>[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return RegExPattern.test(str);\n },\n\n /**\n * Validate if the input has a correct email format.\n */\n validate: function(input) {\n var error = null;\n if (!STR.isBlank(input)) {\n if (!this._validatePattern(input)) {\n error = i18n.t('common:invalidEmail');\n }\n }\n if (error != null)\n return error;\n }\n});\n\n/**\n * Type that defines the methods for SS Number logic data type.\n */\nTYPE.RESTDIV97 = TYPE.BASETYPE.extend({\n\n parseOnFocus: undefined,\n parse: undefined,\n format: undefined,\n\n /**\n * Auxiliar function that checks the french SS number logic.\n */\n _validatePattern: function(str) {\n var valid = true;\n var typeA, typeB;\n var RegExPattern = /^[1-2][0-9]{2}(0[1-9]|1[0-2])(2[AB]|[0-9]{2})[0-9]{8}$/;\n valid = RegExPattern.test(str);\n if (valid) {\n //Check 'A' or 'B' on the 7th position\n if (str[6] == \"A\") {\n typeA = true;\n str[6] = 0;\n } else if (str[6] == \"B\") {\n typeB = true;\n str[6] = 0;\n }\n //Check reste logic\n var numss = parseInt(str.substr(0, 13), 10);\n var ctrlNum = parseInt(str.substring(13), 10);\n if (typeA) {\n numss -= 1000000;\n } else if (typeB) {\n numss -= 2000000;\n }\n var reste = numss % 97;\n if (ctrlNum != 97 - reste) {\n valid = false;\n }\n }\n\n return valid;\n },\n\n /**\n * Validate if the input has a correct format.\n */\n validate: function(input) {\n var error = null;\n if (!STR.isBlank(input)) {\n //...Le contrôle est à faire uniquement si le paramètre divers pers_numer vaut 2.\n if (GLOBAL_DATA.paramDivers.get(\"pers_numer\").get(\"valeur\") == 2) {\n LOG.debug(\"parametre divers \\\"pers_numer\\\" (valeur) => \" + GLOBAL_DATA.paramDivers.get(\"pers_numer\").get(\"valeur\"));\n if (!this._validatePattern(input)) {\n error = i18n.t('messages:GT_1323');\n }\n }\n }\n if (error != null)\n return error;\n }\n});\n\n/**\n * Type for conversion of Date to String(in the format correct) and\n * String(in the format correct) to Date Format : Convert the type Date\n * to String(in the format correct) Date -> \"22/12/01\" Parse : Convert\n * the type String(in the format correct) to Date \"22/12/01\" -> Date\n */\nTYPE.DATE = TYPE.BASETYPE.extend({\n\n TYPE_CLASS: \"typeDate\",\n\n DEFAULT_MASK_CODE: \"DATE\",\n\n DEFAULT_MASK_BBDD: \"YYYYMMDD\",\n\n DEFAULT_MASK_FRENCH: \"DD/MM/YYYY\",\n\n SUNDAY_NUMBER: 0,\n\n MONDAY_NUMBER: 1,\n\n FRIDAY_NUMBER: 5,\n\n INFINITY: \"21001231\",\n\n INITIAL: \"18991231\",\n\n ML_SECONDS_DAY: 86400000,\n\n /**\n * Apply an Input Mask to the input value.\n */\n parseOnFocus: function(input, inputMask) {\n if (STR.isBlank(inputMask)) {\n inputMask = TYPE._getMaskByCode(this.DEFAULT_MASK_CODE);\n }\n if (!STR.isBlank(input)) {\n input = input.replace(/\\//g, \"\");\n }\n //Change the input format from BBDD to Input format only if the date was valid.\n var dateInArray = null;\n if (!STR.isBlank(TYPE.DATE.validate(input))) {\n dateInArray = TYPE.DATE._obtainDateArray(input, inputMask.replace(/\\//g, \"\"), true);\n } else {\n dateInArray = TYPE.DATE._obtainDateArray(input, TYPE.DATE.DEFAULT_MASK_BBDD);\n }\n return (TYPE.DATE._getMaskedStringFromArray(dateInArray[0], dateInArray[1], dateInArray[2], inputMask));\n },\n\n /**\n * Converts a string date into a formatted string date ready to send to the DB. (YYYYMMDD format)\n */\n parse: function(str, maskCode) {\n var out = {};\n\n //Clean the input\n str = TYPE.MASK._cleanDateInput(str);\n\n //Get the mask if is undefined and clean it\n if (_.isUndefined(maskCode)) {\n maskCode = TYPE.DATE.DEFAULT_MASK_CODE;\n }\n var mask = TYPE._getMaskByCode(maskCode);\n\n if (!STR.isBlank(str)) {\n //TODO Clean Date mask function\n mask = mask.replace(/\\//g, \"\");\n //XXX need a clean mask\n var validate = this.validate(str, mask);\n if (!_.isUndefined(validate)) {\n out.errors = validate;\n } else {\n //XXX need a clean mask\n var dateArray = this._obtainDateArray(str, mask);\n var day = this._pad(dateArray[0]);\n var month = this._pad(dateArray[1]);\n str = this._pad(dateArray[2], 4) + month + day; //Default DB format is YYYYMMDD\n //str = day + \"/\" + month + \"/\" + dateArray[2]; //Old DB format is DD/MM/YYYY\n }\n }\n out.val = str;\n return out;\n },\n\n /**\n * Function to format a string date following the mask and using the parameter if it exists.\n */\n format: function(strDate, mask, separator, hourSeparator, milliseconds) {\n var date = null;\n\n //Get default mask is none defined\n if (STR.isBlank(mask)) {\n mask = TYPE._getFormatByCode(this.DEFAULT_MASK_CODE);\n }\n\n //Transform the data into DATE type\n if (!STR.isBlank(milliseconds)) {\n date = new Date(milliseconds);\n } else {\n //Convert the Model value (This can't change at least )\n date = this.strToDate(strDate, TYPE.DATE.DEFAULT_MASK_BBDD, \"\"); //Default BD date format >> \"YYYYMMDD\"\n }\n\n var formattedMask = \"\";\n if (!STR.isBlank(date)) {\n if (!STR.isBlank(separator)) {\n formattedMask = this._formatMask(mask, separator, hourSeparator);\n } else {\n formattedMask = mask;\n }\n\n var d = date.getDate(),\n D = date.getDay(),\n m = date.getMonth(),\n y = date.getFullYear(),\n H = date.getHours(),\n M = date.getMinutes(),\n s = date.getSeconds(),\n L = date.getMilliseconds(),\n flags = {\n Day: i18n.t('common:dayNames.' + D), //day long name\n day: i18n.t('common:dayNamesMin.' + D), //day long name minus.\n DAY: i18n.t('common:dayNamesCap.' + D), //day long name capital\n Dy: i18n.t('common:dayNamesShort.' + D), //day short name\n dy: i18n.t('common:dayNamesShortMin.' + D), //day short name minus.\n DY: i18n.t('common:dayNamesShortCap.' + D), //day short name capital\n DD: this._pad(d), //day with 0 at left\n D: d, //day without 0 at left\n Month: i18n.t('common:monthNames.' + m), //month long name\n month: i18n.t('common:monthNamesMin.' + m), //month long name minus.\n MONTH: i18n.t('common:monthNamesCap.' + m), //month long name capital\n Mo: i18n.t('common:monthNamesShort.' + m), //month short name\n mo: i18n.t('common:monthNamesShortMin.' + m), //month short name minus.\n MO: i18n.t('common:monthNamesShortCap.' + m), //month short name capital\n MM: this._pad(m + 1), //month with 0 at left\n M: m + 1, //month without 0 at left\n YYYY: y, //year with 4 digits\n YY: String(y).slice(2), //year with 2 digits\n hh: this._pad(H % 12 || 12), //hour with 0 at left in 12h format\n h: H % 12 || 12, //hour without 0 at left in 12h format\n HH: this._pad(H), //hour with 0 at left in 24h format\n H: H, //hour without 0 at left in 24h format\n mm: this._pad(M), //minutes with 0 at left\n m: M, //minutes without 0 at left\n ss: this._pad(s), //seconds with 0 at left\n s: s, //seconds without 0 at left\n l: this._pad(L, 3), //milliseconds with 2 digits format\n L: this._pad(L > 99 ? Math.round(L / 10) : L), //milliseconds rounded with 2 digits format\n tt: H < 12 ? \"am\" : \"pm\", //long am-pm for 12h format\n t: H < 12 ? \"a\" : \"p\", //short am-pm for 12h format\n TT: H < 12 ? \"AM\" : \"PM\", //long AM-PM for 12h format\n T: H < 12 ? \"A\" : \"P\" //short AM-PM for 12h format\n };\n\n //replace flags in formatted mask\n formattedMask = formattedMask.replace(/Day/g, \"@@@@@@\");\n formattedMask = formattedMask.replace(/day/g, \"@@@@@\");\n formattedMask = formattedMask.replace(/DAY/g, \"@@@@\");\n formattedMask = formattedMask.replace(/Dy/g, \"@@@\");\n formattedMask = formattedMask.replace(/dy/g, \"@@\");\n formattedMask = formattedMask.replace(/DY/g, \"@\");\n formattedMask = formattedMask.replace(/DD/g, flags.DD);\n formattedMask = formattedMask.replace(/D/g, flags.D);\n formattedMask = formattedMask.replace(/Month/g, \"~~~~~~\");\n formattedMask = formattedMask.replace(/month/g, \"~~~~~\");\n formattedMask = formattedMask.replace(/MONTH/g, \"~~~~\");\n formattedMask = formattedMask.replace(/Mo/g, \"~~~\");\n formattedMask = formattedMask.replace(/mo/g, \"~~\");\n formattedMask = formattedMask.replace(/MO/g, \"~\");\n formattedMask = formattedMask.replace(/MM/g, flags.MM);\n formattedMask = formattedMask.replace(/M/g, flags.M);\n formattedMask = formattedMask.replace(/YYYY/g, flags.YYYY);\n formattedMask = formattedMask.replace(/YY/g, flags.YY);\n formattedMask = formattedMask.replace(/hh/g, flags.hh);\n formattedMask = formattedMask.replace(/h/g, flags.h);\n formattedMask = formattedMask.replace(/HH/g, flags.HH);\n formattedMask = formattedMask.replace(/H/g, flags.H);\n formattedMask = formattedMask.replace(/mm/g, flags.mm);\n formattedMask = formattedMask.replace(/m/g, flags.m);\n formattedMask = formattedMask.replace(/ss/g, flags.ss);\n formattedMask = formattedMask.replace(/s/g, flags.s);\n formattedMask = formattedMask.replace(/l/g, flags.l);\n formattedMask = formattedMask.replace(/L/g, flags.L);\n formattedMask = formattedMask.replace(/tt/g, flags.tt);\n formattedMask = formattedMask.replace(/t/g, flags.t);\n formattedMask = formattedMask.replace(/TT/g, flags.TT);\n formattedMask = formattedMask.replace(/T/g, flags.T);\n\n formattedMask = formattedMask.replace(/@@@@@@/g, flags.Day);\n formattedMask = formattedMask.replace(/@@@@@/g, flags.day);\n formattedMask = formattedMask.replace(/@@@@/g, flags.DAY);\n formattedMask = formattedMask.replace(/@@@/g, flags.Dy);\n formattedMask = formattedMask.replace(/@@/g, flags.dy);\n formattedMask = formattedMask.replace(/@/g, flags.DY);\n formattedMask = formattedMask.replace(/~~~~~~/g, flags.Month);\n formattedMask = formattedMask.replace(/~~~~~/g, flags.month);\n formattedMask = formattedMask.replace(/~~~~/g, flags.MONTH);\n formattedMask = formattedMask.replace(/~~~/g, flags.Mo);\n formattedMask = formattedMask.replace(/~~/g, flags.mo);\n formattedMask = formattedMask.replace(/~/g, flags.MO);\n }\n\n return formattedMask;\n },\n\n /**\n * Function to manage infinity values for periods.\n */\n manageInfinity: function(strDate, mask, separator, hourSeparator, milliseconds) {\n if (strDate == TYPE.DATE.INFINITY && GLOBAL_DATA.paramDivers.get(\"CACH_INFIN\").get(\"valeur\") == \"1\") {\n return \"\";\n } else {\n return TYPE.DATE.format(strDate, mask, separator, hourSeparator, milliseconds);\n }\n },\n\n /**\n * Function to validate a string date that uses another two auxiliar functions to do it.\n */\n validate: function(strDate, mask, separator) {\n //If mask is undef use the default BBDD >> \"YYYYMMDD\"\n if (mask == undefined) { mask = TYPE.DATE.DEFAULT_MASK_BBDD; }\n if (separator == undefined) { separator = \"\"; }\n\n if (!STR.isBlank(strDate)) {\n if (!this._validateDateFormat(strDate, mask)) {\n return i18n.t('messages:GL_4');\n } else if (!this._validateDate(strDate, mask, separator)) {\n return i18n.t('messages:GL_2');\n }\n }\n },\n\n /**\n * Function to validate a period.\n */\n validatePeriod: function(startDate, endDate, options) {\n var errors = {};\n if (!STR.isBlank(startDate)) {\n var errorMsg = TYPE.DATE.validate(startDate.value);\n if (!STR.isBlank(errorMsg)) {\n errors.datedeb = errorMsg;\n } else if (STR.isBlank(startDate.value) && !STR.isBlank(startDate.label) && !STR.isBlank(options) && (STR.isBlank(options.editedAttr) || options.editedAttr == startDate.name) &&\n ((STR.isBlank(startDate.isInfinity) || !startDate.isInfinity))) { // || DIVERS.get(\"CACH_INFIN\") == \"0\")) {\n errors.datedeb = i18n.t('common:required', { \"0\": startDate.label });\n }\n }\n if (!STR.isBlank(endDate)) {\n var errorMsg2 = TYPE.DATE.validate(endDate.value);\n if (!STR.isBlank(errorMsg2)) {\n errors.datefin = errorMsg2;\n } else if (STR.isBlank(errors.datedeb) && !STR.isBlank(startDate) && !STR.isBlank(startDate.value) && !STR.isBlank(endDate.value) && endDate.value < startDate.value) {\n errors.datefin = i18n.t('messages:GL_1057');\n } else if (STR.isBlank(endDate.value) && !STR.isBlank(endDate.label) && !STR.isBlank(options) && (STR.isBlank(options.editedAttr) || options.editedAttr == endDate.name) &&\n ((STR.isBlank(endDate.isInfinity) || !endDate.isInfinity))) { // || DIVERS.get(\"CACH_INFIN\") == \"0\")) {\n errors.datefin = i18n.t('common:required', { \"0\": endDate.label });\n }\n }\n if (!_.isEmpty(errors))\n return errors;\n else\n return \"\";\n },\n\n /**\n * Converts a date in a string into a Date object.\n */\n strToDate: function(strDate, mask) {\n var date = null;\n\n if (!STR.isBlank(strDate)) {\n if (_.isUndefined(mask)) {\n mask = TYPE.DATE.DEFAULT_MASK_BBDD;\n }\n var dateArray = this._obtainDateArray(strDate, mask);\n date = new Date(dateArray[2], dateArray[1] - 1, dateArray[0]);\n }\n\n return date;\n },\n\n /**\n * Converts a Date object into a string using a mask format and an optional separator.\n */\n dateToStr: function(date, mask, separator, hsep) {\n var result = \"\";\n\n if (STR.isBlank(separator)) {\n separator = \"\";\n }\n\n var hasHour = true;\n if (STR.isBlank(hsep)) {\n hsep = \"\";\n hasHour = false;\n }\n\n if (!STR.isBlank(date)) {\n if (hasHour) {\n result = this.format(\"\", mask, separator, hsep, date.getTime());\n } else {\n //Mount the strDate with the DataBase format (Model)\n var strDate = date.getFullYear() + \"\" + this._pad(date.getMonth() + 1) + \"\" + this._pad(date.getDate());\n result = this.format(strDate, mask, separator, hsep);\n }\n }\n return result;\n },\n\n /**\n * Get the current day in DDBB format \"YYYYMMDD\"\n */\n getCurrentDate: function() {\n return TYPE.DATE.dateToStr(SYNC.getServerDate(), this.DEFAULT_MASK_BBDD);\n },\n\n /**\n * Get the monday of the given week.\n */\n getWeeklyMonday: function(date) {\n var newDate = new Date(date);\n if (date.getDay() === this.SUNDAY_NUMBER) {\n UTILS.addDays(newDate, -6);\n } else if (date.getDay() !== this.MONDAY_NUMBER) {\n var daysToRest = 1 - date.getDay();\n UTILS.addDays(newDate, daysToRest);\n }\n return newDate;\n },\n\n /**\n * Get the sunday of the given week.\n */\n getWeeklySunday: function(date) {\n var newDate = new Date(date);\n if (date.getDay() === this.MONDAY_NUMBER) {\n UTILS.addDays(newDate, 6);\n } else if (date.getDay() !== this.SUNDAY_NUMBER) {\n var daysToSum = 7 - date.getDay();\n UTILS.addDays(newDate, daysToSum);\n }\n return newDate;\n },\n\n /**\n * Get the friday of the given week.\n */\n getWeeklyFriday: function(date) {\n var newDate = new Date(date);\n if (date.getDay() === this.MONDAY_NUMBER) {\n UTILS.addDays(newDate, 4);\n } else if (date.getDay() === this.SUNDAY_NUMBER) {\n UTILS.addDays(new Date(date), -2);\n } else {\n var daysToSum = 5 - date.getDay();\n UTILS.addDays(newDate, daysToSum);\n }\n return newDate;\n },\n\n /**\n * Get the difference in Days between 2 dates in BBDD format or date format\n */\n getDiffInDays: function(date1, date2, truncate) {\n if (!(date1 instanceof Date)) {\n date1 = TYPE.DATE.strToDate(date1);\n }\n if (!(date2 instanceof Date)) {\n date2 = TYPE.DATE.strToDate(date2);\n }\n\n if (!STR.isBlank(truncate) && truncate === true) {\n return Math.round((this._truncate(date2).getTime() - this._truncate(date1).getTime()) / (this.ML_SECONDS_DAY));\n } else {\n return Math.round((date2.getTime() - date1.getTime()) / (this.ML_SECONDS_DAY));\n }\n },\n\n /**\n * Get the difference in Months between 2 dates in BBDD format or date format\n */\n\n getDiffInMonth: function(date1, date2) {\n\n if (!(date1 instanceof Date)) {\n date1 = TYPE.DATE.strToDate(date1);\n }\n if (!(date2 instanceof Date)) {\n date2 = TYPE.DATE.strToDate(date2);\n }\n\n var months;\n months = (date2.getFullYear() - date1.getFullYear()) * 12;\n months -= date1.getMonth() + 1;\n months += date2.getMonth();\n return months <= 0 ? 0 : months;\n },\n\n getFullPeriode: function(date1, date2) {\n var periode = [];\n\n if (!(date1 instanceof Date)) {\n date1 = TYPE.DATE.strToDate(date1);\n }\n\n if (!(date2 instanceof Date)) {\n date2 = TYPE.DATE.strToDate(date2);\n }\n\n var diffDays = TYPE.DATE.getDiffInDays(date1, date2, true);\n if (diffDays >= 0) {\n for (var i = 0; i <= diffDays; ++i) {\n periode.push(TYPE.DATE.dateToStr(UTILS.addDays(date1, i == 0 ? 0 : 1), TYPE.DATE.DEFAULT_MASK_BBDD));\n }\n }\n\n return periode;\n },\n\n /**\n * Get the number of days in a period given by 2 dates in BBDD or date format\n */\n getNumberOfDays: function(date1, date2, truncate) {\n return Math.abs(this.getDiffInDays(date1, date2, truncate)) + 1;\n },\n\n /**\n * Remove hours minutes and seconds of the date passed as parameter\n */\n _truncate: function(date) {\n date.setSeconds(0);\n date.setMinutes(0);\n date.setHours(0);\n date.setMilliseconds(0);\n return date;\n },\n\n /**\n * Aux function that returns an array with the day (pos 0), month (pos 1) and year (pos 2) from\n * a string date using a mask and a separator.\n */\n _obtainDateArray: function(str, mask, dontFillItWithDate) {\n if (dontFillItWithDate === undefined) {\n dontFillItWithDate = false;\n }\n var dateArray = new Array();\n dateArray[0] = null; //Days\n dateArray[1] = null; //Months\n dateArray[2] = null; //Years\n\n if (!STR.isBlank(mask) && mask.length == 8 && !STR.isBlank(str)) {\n\n //Fill up to 8 characters with X's\n var filledStr = (str + \"XXXXXXXX\").substr(0, 8);\n\n var day = mask.search(\"D\"); //2 digits\n var month = mask.search(\"M\"); //2 digits\n var year = mask.search(\"Y\"); //4 digits\n\n dateArray[0] = filledStr.substr(day, 2);\n dateArray[1] = filledStr.substr(month, 2);\n dateArray[2] = filledStr.substr(year, 4);\n if (!dontFillItWithDate) {\n var currentDate = SYNC.getServerDate();\n if (!TYPE._isInt(dateArray[0]) /*|| parseInt(dateArray[0],10) === 0*/ ) {\n dateArray[0] = currentDate.getDate();\n }\n if (!TYPE._isInt(dateArray[1]) /*|| parseInt(dateArray[1],10) === 0*/ ) {\n dateArray[1] = currentDate.getMonth() + 1;\n }\n if (!TYPE._isInt(dateArray[2]) /*|| parseInt(dateArray[2],10) === 0*/ ) {\n dateArray[2] = currentDate.getFullYear();\n }\n } else {\n dateArray[0] = dateArray[0].replace(/X/g, \"\");\n dateArray[1] = dateArray[1].replace(/X/g, \"\");\n dateArray[2] = dateArray[2].replace(/X/g, \"\");\n }\n }\n\n return dateArray;\n },\n\n /**\n * Replaces the mask number positions by underscores.\n */\n _getMaskedStringFromArray: function(day, month, year, mask) {\n var dateInString = mask;\n dateInString = !STR.isBlank(day) ? dateInString.replace(\"DD\", this._pad(day)) : dateInString.replace(\"DD\", \"__\");\n dateInString = !STR.isBlank(month) ? dateInString.replace(\"MM\", this._pad(month)) : dateInString.replace(\"MM\", \"__\");\n dateInString = !STR.isBlank(year) ? dateInString.replace(\"YYYY\", this._pad(year, 4)) : dateInString.replace(\"YYYY\", \"____\");\n return dateInString;\n },\n\n /**\n * Function to format an Int or string with 0 at the left.\n */\n _pad: function(value, length) {\n value = String(value);\n length = length || 2;\n while (value.length < length) {\n value = \"0\" + value;\n }\n return value;\n },\n\n /**\n * Function to format a mask including separators in it.\n */\n _formatMask: function(mask, separator, hourSeparator) {\n var formattedMask = \"\";\n\n var dateArray = [\"D\", \"M\", \"Y\"];\n var hourArray = [\"h\", \"H\", \"m\", \"s\", \"l\", \"L\"];\n\n var sep = \"\";\n if (!STR.isBlank(separator)) {\n sep = separator;\n }\n\n var hsep = \"\";\n if (!STR.isBlank(hourSeparator)) {\n hsep = hourSeparator;\n }\n\n if (!STR.isBlank(mask)) {\n var lastChar = mask.charAt(0);\n for (var i = 0; i < mask.length; i++) {\n var char = mask.charAt(i);\n if (lastChar != char) {\n if (_.indexOf(dateArray, char) != -1 && _.indexOf(dateArray, lastChar) != -1) {\n formattedMask += sep;\n }\n if (_.indexOf(hourArray, char) != -1 && _.indexOf(hourArray, lastChar) != -1) {\n formattedMask += hsep;\n }\n lastChar = char;\n }\n formattedMask += char;\n }\n }\n\n return formattedMask;\n },\n\n /**\n * Function to validate if a string date has a correct values in every part (year, month,...).\n */\n _validateDate: function(strDate, mask) {\n var result = true;\n\n var dateArray = this._obtainDateArray(strDate, mask);\n var day = dateArray[0];\n var month = dateArray[1];\n var year = dateArray[2];\n\n //The date can't be lower than 31/12/1899\n if (year < 1899 || year > 2100) {\n result = false;\n }\n if (year == 1899 && (day != 31 || month != 12)) {\n result = false;\n }\n\n //Validate the date months\n if (month < 1 || month > 12) {\n result = false;\n }\n\n //Validate the date days\n if (day < 1 || day > 31) {\n result = false;\n }\n if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {\n result = false;\n }\n if (month == 2 && this._isLeapYear(year) && day > 29) {\n result = false;\n }\n if (month == 2 && !this._isLeapYear(year) && day > 28) {\n result = false;\n }\n\n return result;\n },\n\n /**\n * Function to replace all the ocurrences in a string by another string.\n */\n _replaceAll: function(str, searchStr, replaceStr) {\n var result = str;\n if (!STR.isBlank(searchStr)) {\n while (result.indexOf(searchStr) != -1) {\n result = result.replace(searchStr, replaceStr);\n }\n }\n return result;\n },\n\n /**\n * Function to validate the format of a string date.\n */\n _validateDateFormat: function(strDate, mask) {\n\n var dateLength = strDate.toString().length;\n var day = mask.search(\"D\"); //2 digits\n var month = mask.search(\"M\"); //2 digits\n var year = mask.search(\"Y\"); //4 digits\n\n if (year < day && year < month) { //Years first 4,6,8\n return (dateLength === 4 || dateLength === 6 || dateLength === 8) ? true : false;\n } else if (year < day || year < month) { //Years at middle 2,6,8\n return (dateLength === 2 || dateLength === 6 || dateLength === 8) ? true : false;\n } else if (year > day && year > month) { //Years at last 2,4,8\n return (dateLength === 2 || dateLength === 4 || dateLength === 8) ? true : false;\n }\n return false;\n },\n\n events: function(selector) {\n var eventsObj = {};\n if (selector === null || selector === undefined) {\n selector = \"\";\n }\n var self = this;\n eventsObj[\"focus \" + selector + \" .typeDate:not([readonly])\"] = function(e) {\n var view = this;\n TYPE._eventFocus(e, \"typeDate\", self, view);\n };\n //Customized blur event\n eventsObj[\"blur \" + selector + \" .typeDate:not([readonly])\"] = function(e) {\n var view = this;\n var type = TYPE.DATE;\n var attr = e.target.className.split(\" \")[0];\n var attrModelValue = STR.getElValue(view._getModel(), attr);\n\n //get Format Mask\n var maskCode = TYPE._getMaskCode(attr, this, \"typeDate\");\n var formatMask = TYPE._getFormatByCode(maskCode);\n\n //Parse the input value\n var parse = TYPE.DATE.parse(e.target.value, maskCode);\n\n //Check changes on the original Value.\n if (this.TEMP_origVal != parse[\"val\"]) {\n if (!(view.dynamicAttributes && e.target.value === this.TEMP_origVal)) {\n $(e.target).change();\n }\n }\n\n //Check period conditions if needed\n if ($(e.target).hasClass(\"periodStart\") && this.TEMP_origVal != parse[\"val\"] && !STR.isBlank(parse[\"val\"])) {\n var periodId = $(e.target).attr(\"periodId\");\n var endDate = view.$el.find(\".periodEnd[periodId=\" + periodId + \"]\");\n var endDateName = endDate.attr(\"class\").split(\" \")[0];\n var endDateValue = STR.getElValue(view._getModel(), endDateName);\n if (!STR.isBlank(endDateValue) && attrModelValue > endDateValue) {\n endDate.val(TYPE.DATE.format(parse[\"val\"], formatMask));\n endDate.change();\n }\n }\n\n //Check errors and format if dont has\n var errors = {};\n if ($(e.target).hasClass(\"infinityDate\") && parse[\"val\"] == TYPE.DATE.INFINITY && GLOBAL_DATA.paramDivers.get(\"CACH_INFIN\").get(\"valeur\") == \"1\") {\n $(e.target).val(\"\");\n } else if (!parse[\"errors\"] && !$(e.target).hasClass(\"datesitu\")) {\n $(e.target).val(TYPE.DATE.format(parse[\"val\"], formatMask));\n }\n /*} else if (parse[\"errors\"] && $(e.target).hasClass(\"datesitu\")) {\n $(e.target).val(\"\");\n }*/\n delete this.TEMP_origVal;\n };\n eventsObj[\"keypress \" + selector + \" .typeDate:not([readonly])\"] = function(e) {\n TYPE._eventKeypress(e, \"typeDate\", TYPE.DATE, this, true);\n };\n eventsObj[\"keydown \" + selector + \" .typeDate:not([readonly])\"] = function(e) {\n TYPE._eventDownLeft2Right(e, \"typeDate\", TYPE.DATE, this);\n };\n return eventsObj;\n },\n\n /**\n * Function to know if a year is a leap year.\n */\n _isLeapYear: function(year) {\n var result = false;\n if (year != null && year != undefined) {\n if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {\n result = true;\n }\n }\n return result;\n }\n\n});\n\n/**\n * Type that defines the Mask utils functions to be used on all the other types.\n */\nTYPE.MASK = {\n\n SEPARATOR_SYMBOL: undefined,\n MILLAR_SYMBOL: undefined,\n\n ERROR_INCOMPLETE: \"Saisie incomplète\",\n\n ERROR_IMPOSSIBLE: \"Saisie impossible\",\n\n /**\n * Apply mask to an attribute to transform the model data into screen visual\n */\n applyFormatMask: function(val, mask, separator, millar) {\n //If mask in blank return the val\n if (STR.isBlank(mask)) {\n return val;\n }\n //If val is blank return \"\" and don't process.\n if (STR.isBlank(val)) {\n return \"\";\n } else {\n val = val.toString();\n }\n\n if (STR.isBlank(separator)) { separator = this.SEPARATOR_SYMBOL; }\n if (STR.isBlank(millar)) { millar = this.MILLAR_SYMBOL; }\n\n //Clean the input\n val = TYPE.MASK._cleanInput(val);\n\n var maskPos = mask.length;\n var valPos = val.length;\n var out = \"\";\n var n = \"\";\n var decimalMask = undefined;\n var decimalVal = undefined;\n var intMask = undefined;\n var intVal = undefined;\n var negative = false;\n var maskWithSing = false;\n var error = undefined;\n var maskDigitLength = 0;\n\n //NEGATIVE Input NUMBER ?\n if (!STR.isBlank(val)) {\n if (val[0] == \"-\") {\n negative = true;\n val = val.substr(1);\n valPos--;\n }\n }\n\n //POSITIVE Input NUMBER ?\n if (!STR.isBlank(mask)) {\n if (mask[0] == \"+\") {\n maskWithSing = true;\n }\n }\n\n if (!STR.isBlank(mask)) {\n //MaskLength\n for (var i = 0; i < mask.length; i++) {\n if (mask[i] == \"#\" || mask[i] == \"&\" || mask[i] == \"$\" || mask[i] == \"<\" ||\n mask[i] == \"*\" || mask[i] == \"-\" || mask[i] == \"+\") {\n maskDigitLength++;\n }\n }\n }\n\n //\t\t\t//DECIMAL ? separator =\n //\t\t\tif(mask.indexOf(separator) != -1) {\n //\t\t\t\t//Decimal Mask\n //\t\t\t\tdecimalMask = mask.substr(mask.indexOf(separator)+1);\n //\t\t\t\tintMask = mask.substr(0,mask.indexOf(separator));\n //\t\t\t\tmaskPos = mask.indexOf(separator);\n //\t\t\t}\n //\t\t\tif(val.indexOf(separator) != -1) {\n //\t\t\t\tdecimalVal = val.substr(val.indexOf(separator)+1);\n //\t\t\t\tintVal = val.substr(0,val.indexOf(separator));\n //\t\t\t\tvalPos = val.indexOf(separator);\n //\t\t\t}\n\n //Check Size,\n var valDigitsNumber = val.match(/[0-9]/g);\n var whiteCount = 0;\n if (!STR.isBlank(valDigitsNumber) && valDigitsNumber.length > maskDigitLength) {\n error = \"GL_1003\";\n } else {\n valPos--;\n maskPos--;\n for (maskPos; maskPos >= 0; maskPos--) {\n n = val[valPos];\n switch (mask[maskPos]) {\n case \"*\":\n (n != undefined) ? out = n + out: out = \"*\" + out;\n valPos--;\n break;\n case \"#\":\n (n != undefined) ? out = n + out: whiteCount++;\n valPos--;\n break;\n case \"&\":\n (n != undefined) ? out = n + out: out = \"0\" + out;\n valPos--;\n break;\n case \"<\":\n (n != undefined) ? out = n + out: out = out + \" \";\n valPos--;\n break;\n case millar:\n if (n != undefined) {\n out = millar + out;\n } else {\n out = \"\" + out;\n }\n break;\n case separator:\n //Decimal are processed later\n break;\n case \"-\":\n if (n != undefined) {\n out = n + out;\n } else {\n if (negative) {\n if (out.indexOf(\"-\") == -1) {\n out = \"-\" + out;\n } else {\n whiteCount++;\n }\n } else {\n whiteCount++;\n }\n }\n valPos--;\n break;\n case \"+\":\n if (n != undefined) {\n out = n + out;\n } else {\n if (negative) {\n if (out.indexOf(\"-\") == -1) {\n out = \"-\" + out;\n } else {\n whiteCount++;\n }\n } else if (maskWithSing) {\n if (out.indexOf(\"+\") == -1) {\n out = \"+\" + out;\n } else {\n whiteCount++;\n }\n } else {\n whiteCount++;\n }\n }\n valPos--;\n break;\n case \"(\":\n if (negative) {\n out = \"(\" + out;\n }\n break;\n case \")\":\n if (negative) {\n out = out + \")\";\n }\n break;\n case \"$\":\n if (n != undefined) {\n out = n + out;\n } else {\n if (\"$\" == out[0] || \" \" == out[0]) {\n whiteCount++;\n } else {\n out = \"$\" + out;\n }\n }\n valPos--;\n break;\n default:\n out = mask[maskPos] + out;\n //LOG.debug(\"Mask Symbol no special !\");\n }\n }\n\n for (var i = 0; i < whiteCount; i++) {\n out = \" \" + out;\n }\n\n //Calculate the decimal Part\n //\t\t\t\tif( !STR.isBlank(decimalMask)) {\n //\t\t\t\t\t//Input Has decimal part\n //\t\t\t\t\tvar decimalOut = \"\";\n //\t\t\t\t\tvar decimalSize = decimalMask.length;\n //\t\t\t\t\tif( !STR.isBlank(decimalVal) && decimalVal.length > decimalSize){\n //\t\t\t\t\t\t//Round the decimals to the size of the mask decimals\n //\t\t\t\t\t\tvar coef = Math.pow(10,decimalSize);\n //\t\t\t\t\t\tvar num = decimalVal/Math.pow(10,decimalVal.length);//0.XXXXXXXX\n //\t\t\t\t\t\tnum = num*coef;//YY.XXXXXXX where YY is the number of decimalSize\n //\t\t\t\t\t\tdecimalOut = Math.round(num);\n //\t\t\t\t\t} else {\n //\t\t\t\t\t\t//Less or equal to mask decimal part\n //\t\t\t\t\t\tfor(var i = 0 ; i < decimalSize ; i++){\n //\t\t\t\t\t\t\tswitch (decimalMask[i]){\n //\t\t\t\t\t\t\t\tcase \"#\" :\n //\t\t\t\t\t\t\t\t\t( !STR.isBlank(decimalVal) && decimalVal[i] != undefined) ?\n //\t\t\t\t\t\t\t\t\t\tdecimalOut += decimalVal[i] : decimalOut += \" \";\n //\t\t\t\t\t\t\t\t\tbreak;\n //\t\t\t\t\t\t\t\tcase \"&\" :\n //\t\t\t\t\t\t\t\t\t( !STR.isBlank(decimalVal) && decimalVal[i] != undefined) ?\n //\t\t\t\t\t\t\t\t\t\tdecimalOut += decimalVal[i] : decimalOut += \"0\";\n //\t\t\t\t\t\t\t\t\tbreak;\n //\t\t\t\t\t\t\t\tcase \"*\" :\n //\t\t\t\t\t\t\t\t\t( !STR.isBlank(decimalVal) && decimalVal[i] != undefined) ?\n //\t\t\t\t\t\t\t\t\t\tdecimalOut += decimalVal[i] : decimalOut += \"*\";\n //\t\t\t\t\t\t\t\t\tbreak;\n //\t\t\t\t\t\t\t\tcase \"$\" :\n //\t\t\t\t\t\t\t\t\t( !STR.isBlank(decimalVal) && decimalVal[i] != undefined) ?\n //\t\t\t\t\t\t\t\t\t\tdecimalOut += decimalVal[i] : decimalOut += \" \";\n //\t\t\t\t\t\t\t\t\tbreak;\n //\t\t\t\t\t\t\t\tcase \")\" :\n //\t\t\t\t\t\t\t\t\tif(negative){\n //\t\t\t\t\t\t\t\t\t\tdecimalOut += \")\";\n //\t\t\t\t\t\t\t\t\t}\n //\t\t\t\t\t\t\t\t\tbreak;\n //\t\t\t\t\t\t\t\tdefault : decimalOut += decimalMask[i];\n //\t\t\t\t\t\t\t\t\tLOG.debug(\"Decimal Undefined Symbol\");\n //\t\t\t\t\t\t\t}\n //\t\t\t\t\t\t}\n //\t\t\t\t\t}\n //\t\t\t\t\tif(!STR.isBlank(decimalOut)){\n //\t\t\t\t\t\tout = out + separator + decimalOut;\n //\t\t\t\t\t}\n //\t\t\t\t}\n }\n\n if (error != undefined) {\n out = \"\";\n for (var i = 0; i < maskDigitLength; i++) { out = out + \"?\"; }\n }\n return out;\n\n },\n\n /**\n * Function that transform the input data into new one when edit a field.\n */\n applyInputMask: function(input, mask, previousValue, typeClass) {\n\n var out = \"\";\n\n //If typeDate call to his function\n if (typeClass == TYPE.DATE.TYPE_CLASS) {\n return TYPE.MASK.applyDateInputMask(input, mask, previousValue);\n }\n\n //Check if negative Mask and quit that symbol\n var allowSign = false;\n if (!STR.isBlank(mask)) {\n if (mask[0] == \"-\") {\n allowSign = true;\n //Removes the \"-\" from the mask\n mask = mask.substr(1);\n }\n }\n\n //If HM we need to conserve the nightSymbol +\n if (typeClass == TYPE.HOUR_MINUTE_NIGHTLY.TYPE_CLASS) {\n input = this._cleanInput(input, [\"+\"]);\n allowSign = true;\n //\t\t\t}else if(typeClass == TYPE.DECIMAL.TYPE_CLASS) {\n //\t\t\t\tinput = this._cleanInput(input,[\".\"]);\n } else {\n if (allowSign) {\n input = this._cleanInput(input, [\"+\"]);\n } else {\n input = this._cleanInput(input);\n }\n }\n\n // Change to number to clean left zeros\n //\t\t\tif(!STR.isBlank(input)){\n //\t\t\t\tinput = parseInt(input,10).toString();\n //\t\t\t}\n\n //Detect if the input has any sign\n var sign = undefined;\n if (!STR.isBlank(input)) {\n if (input[0] == \"-\" || input[0] == \"+\") {\n sign = input[0];\n //Removes the sign from the input\n input = input.substr(1);\n }\n //Trick\n if (typeClass == TYPE.HOUR_MINUTE_NIGHTLY.TYPE_CLASS && sign != \"+\") {\n sign = undefined;\n }\n }\n\n //If the input is larger than the mask number capacity return previous\n var numberSize = 0;\n for (var i = 0; i < mask.length; i++) {\n if (mask[i] == \"&\") {\n numberSize++;\n }\n }\n if (numberSize < input.length) {\n return previousValue;\n }\n\n //Replacement\n var maskIt = mask.length - 1;\n var inputIt = input.length - 1;\n var alreadySigned = false;\n for (maskIt; maskIt >= 0; maskIt--) {\n switch (mask[maskIt]) {\n case \"&\": //NumberPlace, usually only get \"&\"\n if (_.isUndefined(input[inputIt])) {\n if (allowSign && !_.isUndefined(sign) && !alreadySigned) {\n out = sign + out;\n alreadySigned = true;\n }\n out = \"_\" + out;\n } else {\n out = input[inputIt] + out;\n inputIt--;\n }\n break;\n default: //Other symbols in the mask\n out = mask[maskIt] + out;\n }\n }\n\n if (allowSign && !_.isUndefined(sign) && !alreadySigned) {\n out = sign + out;\n }\n\n return out;\n },\n\n /**\n * Function that transform the input data into new one when edit a field, only for Date Type.\n */\n applyDateInputMask: function(input, mask, old) {\n var out = \"\";\n\n input = this._cleanDateInput(input);\n\n //Count the mask number capacity\n var numberSize = 0;\n for (var i = 0; i < mask.length; i++) {\n if (mask[i] == \"D\" || mask[i] == \"Y\" || mask[i] == \"M\") {\n numberSize++;\n }\n }\n if (numberSize < input.length) {\n //input = input.substr(0,numberSize);\n //If the input is larger than the mask number capacity\n return old;\n }\n\n //Replacement\n var maskIt = 0;\n var inputIt = 0;\n for (maskIt; maskIt < mask.length; maskIt++) {\n switch (mask[maskIt]) {\n case \"Y\":\n case \"D\":\n case \"M\": //NumberPlace\n if (_.isUndefined(input[inputIt])) {\n out = out + \"_\";\n } else {\n out = out + input[inputIt];\n inputIt++;\n }\n break;\n default: //Other symbols\n out = out + mask[maskIt];\n }\n }\n\n return out;\n },\n\n /**\n * Clean the input and only hold + or - if is on the first pos, and numbers,\n * acceptedSymbols are accepted too\n */\n _cleanInput: function(input, acceptedSymbols) {\n var out = \"\";\n if (!STR.isBlank(input)) {\n input = input.toString();\n for (var i = 0; i < input.length; i++) {\n if (!isNaN(parseInt(input[i], 10))) {\n out = out + input[i];\n }\n // \"-\" Symbol only can be in first position\n if (input[i] == \"-\") {\n if (out.length == 0) {\n out = \"-\";\n }\n }\n if (_.indexOf(acceptedSymbols, input[i]) >= 0) {\n // \"+\" NightSymbol only can stand in first position\n if (input[i] == \"+\") {\n if (out.length == 0) {\n out = \"+\";\n }\n } else {\n out = out + input[i];\n }\n }\n }\n }\n return out;\n },\n\n /**\n * Removes the mask unnecesary symbols to save the number on the model.\n */\n _cleanDateInput: function(input) {\n var out = \"\";\n if (!STR.isBlank(input)) {\n input = input.toString();\n for (var i = 0; i < input.length; i++) {\n if (!isNaN(parseInt(input[i], 10))) {\n out = out + input[i];\n }\n }\n }\n return out;\n },\n\n /**\n * returns the n first numbers of the input,\n * \"-12,345.67\"\n * n = 2 >> -12\n * n = 4 >> -12,34\n * n = 5 >> -12,345\n * n = 6 >> -12,34.6\n */\n _trimNumber: function(input, n) {\n var out = \"\";\n var numCount = 0;\n for (var i = 0; i < input.length && numCount < n; i++) {\n out = out + input[i].toString();\n if (!isNaN(input[i])) {\n numCount++;\n }\n }\n return out;\n },\n\n /**\n * Gets the characters which represent a separator in the mask\n */\n _getSeparatorsFromMask: function(mask) {\n var len = mask.length;\n var separators = [];\n for (var i = 0; i < len; i++) {\n if (mask[i] !== '-' && mask[i] !== '&') {\n separators.push(mask[i]);\n }\n }\n return separators;\n }\n};\n","export var objs = {};\r\n","export var GLOBAL_DATA = {};\r\n","import { FORMS } from '../../utils/forms.js';\nimport { HABILITATION } from '../../utils/habilitation.js';\nimport { HEADERS } from '../../utils/headers.js';\nimport { objs } from '../../objectsRepository.js';\nimport { STR } from '../../utils/str.js';\n\n/**\n * BaseModel : base model to use instead of the backbone model\n *\n * - management of habilitations\n */\nexport var BaseModel = Backbone.Model.extend({\n /**\n * Initializes the special attributes of this model\n *\n */\n dummy: \"\",\n /**\n * Checks habilitations and if they are correct, fetches the model\n * responds fetch without errors\n */\n fetch: function(options) {\n\n var l_options = options ? _.clone(options) : {};\n\n if (!STR.isBlank(this.version)) {\n var currentVersion = _.isObject(this.version) ? this.version.GET : this.version;\n this.setHeaders(l_options, HEADERS.versionContext(currentVersion));\n }\n\n var urlParams = this._prepareUrlParams();\n if (!l_options.type || l_options.type === \"GET\") {\n l_options.data = urlParams;\n }\n\n if (this.activeSimulation === true) {\n this.prepareSimulation(l_options);\n }\n\n this._prepareEcranHeader(l_options);\n if (this.habContext) {\n this.setHeaders(l_options, this.habContext.header());\n if (this.usePopulation === true) {\n this.preparePopulation(l_options);\n }\n return Backbone.Model.prototype.fetch.call(this, l_options);\n\n } else {\n this._checkHabilitations();\n\n if (this.habilitationV === \"N\" || HABILITATION.canView(this.habilitationV)) {\n if (this.usePopulation === true) {\n this.preparePopulationAndHabiliation(l_options);\n } else {\n this.setHeaders(l_options, HEADERS.habilitationContext(this.usecase, this.habilitationV));\n }\n return Backbone.Model.prototype.fetch.call(this, l_options);\n\n } else {\n if (Configuration.development === true && STR.isBlank(this.habilitationG)) {\n throw new Error(\"The habilitation is not properly configured\");\n }\n\n if (l_options.success) {\n\n l_options.success(this, null, l_options);\n }\n }\n }\n return $.Deferred().resolve();\n },\n\n /**\n * Includes population Ident and Type in header\n */\n preparePopulationAndHabiliation: function(options) {\n var popId = null,\n popType = null,\n popCode = null,\n popNat = null,\n popDesc = null;\n if (!_.isUndefined(this.popId) && !STR.isBlank(this.popType)) {\n popId = this.popId;\n popType = this.popType;\n popCode = this.popCode;\n popNat = this.popNat;\n popDesc = this.popDesc;\n } else if (!STR.isBlank(objs.populationMenu) && !STR.isBlank(objs.populationMenu.model)) {\n popId = STR.isBlank(objs.populationMenu.model.get(\"ident\")) ? \"0\" : objs.populationMenu.model.get(\"ident\");\n popType = objs.populationMenu.model.get(\"type\");\n popCode = objs.populationMenu.model.get(\"code\");\n popNat = objs.populationMenu.model.get(\"nature\");\n popDesc = objs.populationMenu.model.get(\"desc\");\n }\n\n this.setHeaders(options, HEADERS.habilitationContext(this.usecase, this.habilitationV));\n\n if (STR.isBlank(popId)) {\n popId = \"0\"; // by default we force gfi-population at \"0\"\n }\n if (STR.isBlank(popNat)) {\n popNat = \"\";\n }\n if (STR.isBlank(popCode)) {\n popCode = \"\";\n }\n if (STR.isBlank(popDesc)) {\n popDesc = \"\";\n }\n if (STR.isBlank(popType)) {\n popType = \"D\";\n } else if (popType === \"M\") {\n popType = \"D\";\n }\n this.setHeaders(options, HEADERS.populationContext(popId, popType, popCode, popNat, popDesc));\n\n },\n\n /**\n * Includes population Ident and Type in header\n */\n preparePopulation: function(options) {\n var popId = null,\n popType = null,\n popCode = null,\n popNat = null,\n popDesc = null;\n if (!_.isUndefined(this.popId) && !STR.isBlank(this.popType)) {\n popId = this.popId;\n popType = this.popType;\n popCode = this.popCode;\n popNat = this.popNat;\n popDesc = this.popDesc;\n } else if (!STR.isBlank(objs.populationMenu) && !STR.isBlank(objs.populationMenu.model)) {\n popId = objs.populationMenu.model.get(\"ident\");\n popType = objs.populationMenu.model.get(\"type\");\n popCode = objs.populationMenu.model.get(\"code\");\n popNat = objs.populationMenu.model.get(\"nature\");\n popDesc = objs.populationMenu.model.get(\"desc\");\n }\n if (STR.isBlank(popId)) {\n popId = \"0\"; // by default we force gfi-population at \"0\"\n }\n if (STR.isBlank(popNat)) {\n popNat = \"\";\n } else if (popNat === \"M\") {\n popNat = \"C\";\n }\n if (STR.isBlank(popCode)) {\n popCode = \"\";\n }\n if (STR.isBlank(popDesc)) {\n popDesc = \"\";\n }\n // Type must be S or D\n if (STR.isBlank(popType)) {\n popType = \"D\";\n } else if (popType === \"M\") {\n popType = \"D\";\n }\n\n this.setHeaders(options, HEADERS.populationContext(popId, popType, popCode, popNat, popDesc));\n },\n\n prepareSimulation: function(options) {\n var sim = !STR.isBlank(this.simulationData) ? this.simulationData : objs.simulationModel;\n if (!STR.isBlank(sim)) {\n var datedeb = sim.get(\"datedeb\");\n\n var passreel = false\n if (objs.ctxAffReelPasse === true) {\n passreel = true\n }\n\n var vueJourneeDate = \"\";\n if (!STR.isBlank(this.ctxVueJourneeDate)) {\n vueJourneeDate = this.ctxVueJourneeDate;\n }\n\n this.setHeaders(options, HEADERS.simulationContext(sim.get(\"code\"), datedeb, sim.get(\"datefin\"), passreel, vueJourneeDate));\n }\n },\n\n /**\n * Checks habilitations and if they are correct, executes standard Backbone.model Save\n * responds save without errors\n * responds save with an error\n */\n save: function(key, val, options) {\n var isValOptions = false;\n\n if (STR.isBlank(key) || typeof key === 'object') {\n options = val;\n isValOptions = true;\n }\n\n options = options ? _.clone(options) : {};\n\n if (!STR.isBlank(this.version)) {\n var currentVersion = this.version;\n if (_.isObject(this.version)) {\n if (this.isNew()) {\n currentVersion = this.version.POST;\n } else {\n currentVersion = this.version.PUT;\n }\n }\n var header = HEADERS.versionContext(currentVersion);\n if (isValOptions === true) {\n this.setHeaders(val, header);\n } else {\n this.setHeaders(options, header);\n }\n }\n\n if (this.habContext) {\n if (isValOptions === true) {\n this._prepareEcranHeader(val);\n this._prepareOptionsErrors(val);\n } else {\n this._prepareEcranHeader(options);\n this._prepareOptionsErrors(options);\n }\n\n var header = this.habContext.header();\n\n if (isValOptions === true) {\n this.setHeaders(val, header);\n } else {\n this.setHeaders(options, header);\n }\n\n if (isValOptions === true && this.usePopulation === true) {\n this.preparePopulation(val);\n } else if (this.usePopulation === true) {\n this.preparePopulation(options);\n }\n\n if (isValOptions === true && this.activeSimulation === true) {\n this.prepareSimulation(val);\n } else if (this.activeSimulation === true) {\n this.prepareSimulation(options);\n }\n\n Backbone.Model.prototype.save.call(this, key, val, options);\n\n } else {\n this._checkHabilitations();\n if (isValOptions === true) {\n this._prepareEcranHeader(val);\n this._prepareOptionsErrors(val);\n } else {\n this._prepareEcranHeader(options);\n this._prepareOptionsErrors(options);\n }\n\n if (isValOptions === true && this.usePopulation === true) {\n this.preparePopulation(val);\n } else if (this.usePopulation === true) {\n this.preparePopulation(options);\n }\n\n if (isValOptions === true && this.activeSimulation === true) {\n this.prepareSimulation(val);\n } else if (this.activeSimulation === true) {\n this.prepareSimulation(options);\n }\n\n if (this.habilitationG === \"N\" || (this.canViewTreatment === true && HABILITATION.canView(this.habilitationG))) {\n var header = HEADERS.habilitationContext(this.usecase, this.habilitationG, \"\");\n if (isValOptions === true) {\n this.setHeaders(val, header);\n } else {\n this.setHeaders(options, header);\n }\n Backbone.Model.prototype.save.call(this, key, val, options);\n\n } else if (this.isNew() && (HABILITATION.canCreate(this.habilitationG))) {\n var header = HEADERS.habilitationContext(this.usecase, this.habilitationG, \"A\");\n if (isValOptions === true) {\n this.setHeaders(val, header);\n } else {\n this.setHeaders(options, header);\n }\n Backbone.Model.prototype.save.call(this, key, val, options);\n\n } else if (!this.isNew() && (HABILITATION.canUpdate(this.habilitationG))) {\n var header = HEADERS.habilitationContext(this.usecase, this.habilitationG, \"M\");\n if (isValOptions === true) {\n this.setHeaders(val, header);\n } else {\n this.setHeaders(options, header);\n }\n Backbone.Model.prototype.save.call(this, key, val, options);\n\n } else {\n if (Configuration.development === true && STR.isBlank(this.habilitationG)) {\n throw new Error(\"The habilitation is not properly configured\");\n }\n if (STR.isBlank(key) || typeof key === 'object') {\n if (val.error) {\n val.error(this, null, val);\n }\n } else {\n if (options.error) {\n options.error(this, null, options);\n }\n }\n }\n }\n },\n\n /**\n * Checks habilitations and if they are correct, executes standard Backbone.model Destroy\n * responds destroy without errors\n * responds destroy with an error\n */\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n\n if (!STR.isBlank(this.version)) {\n var currentVersion = _.isObject(this.version) ? this.version.DELETE : this.version;\n this.setHeaders(options, HEADERS.versionContext(currentVersion));\n }\n\n if (this.activeSimulation === true) {\n this.prepareSimulation(options);\n }\n\n if (this.habContext) {\n this.setHeaders(options, this.habContext.header());\n Backbone.Model.prototype.destroy.call(this, options);\n } else {\n this._checkHabilitations();\n this._prepareEcranHeader(options);\n\n if (this.habilitationG === \"N\" || (this.canViewTreatment === true && HABILITATION.canView(this.habilitationG))) {\n this.setHeaders(options, HEADERS.habilitationContext(this.usecase, this.habilitationG, \"\"));\n Backbone.Model.prototype.destroy.call(this, options);\n } else if (HABILITATION.canDelete(this.habilitationG) || this.isNew()) {\n this.setHeaders(options, HEADERS.habilitationContext(this.usecase, this.habilitationG, \"S\"));\n Backbone.Model.prototype.destroy.call(this, options);\n } else {\n if (Configuration.development === true && STR.isBlank(this.habilitationG)) {\n throw new Error(\"The habilitation is not properly configured\");\n }\n if (options.error) {\n options.error(this, null, options);\n }\n }\n }\n },\n\n /**\n * Checks that habilitationV, habilitationG and usecase are informed.If they are not an error is shown\n */\n _checkHabilitations: function() {\n if (STR.isBlank(this.habilitationV)) {\n throw new Error(\"View Habilitation must be defined or set to empty string if not used.\");\n }\n if (STR.isBlank(this.habilitationG)) {\n throw new Error(\"Management Habilitation must be defined or set to empty string if not used.\");\n }\n if (STR.isBlank(this.usecase)) {\n throw new Error(\"Usecase name must be defined.\");\n }\n },\n\n /**\n * Prepares model header for server calls\n */\n _prepareEcranHeader: function(options) {\n if (!STR.isBlank(this.ecran)) {\n this.setHeaders(options, HEADERS.ecranContext(this.ecran));\n }\n },\n\n /**\n * Adds options.header to current header\n * responds without errors\n * responds with an error\n */\n setHeaders: function(options, header) {\n if (options.headers) {\n options.headers = _.extend(options.headers, header);\n } else {\n options.headers = header;\n }\n },\n\n /**\n * Copies current attributes to the property oldAttributes. This property can be accessed in the future to revert changes\n */\n store: function() {\n this.oldAttributes = _.clone(JSON.stringify(this.attributes));\n },\n\n /**\n * Returns a value from the last values got from the server.\n */\n getOldAttribute: function(attrName) {\n var value = null;\n if (this.oldAttributes) {\n var oldAttr = this.parse(JSON.parse(this.oldAttributes));\n value = STR.getElValueFromObj(oldAttr, attrName);\n }\n return value;\n },\n\n /**\n * Sets current model attributes to values that were stored (oldAttributes).\n */\n revert: function() {\n if (this.oldAttributes) {\n this.set(this.parse(JSON.parse(this.oldAttributes)));\n this.validationError = null;\n }\n },\n\n /**\n * Sets model's habilitations and usecase to values passed\n */\n setHabilitation: function(V, G, usecase) {\n if (!STR.isBlank(V)) {\n this.habilitationV = V;\n }\n if (!STR.isBlank(G)) {\n this.habilitationG = G;\n }\n if (!STR.isBlank(usecase)) {\n this.usecase = usecase;\n }\n },\n\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n setVersion: function(version) {\n this.version = version;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n },\n\n /**\n * Prepare the 3 kinds of parameter this collection understand in an unique\n * object that the REST service can understand\n */\n _prepareUrlParams: function() {\n // Filter parameters not empty\n var pWhere = {};\n _.each(this.params, function(value, key) {\n if (!STR.isBlank(value)) {\n pWhere[key] = value;\n }\n });\n\n if (this.usePopulation === true) {\n // Join population parameter\n return _.extend(pWhere, { \"filtre\": true });\n }\n\n return pWhere;\n },\n\n /**\n * Function that adds a custom error management for error 406 when save.\n * Preserves the original error function defined on the model callback and call it\n * after the the errorBaseModel function.\n */\n _prepareOptionsErrors: function(options) {\n var errorCallback;\n var errorBaseModel = function(model, response, options) {\n if (response && response.status === 406 && !_.isEmpty(response.responseText)) {\n //If there was an error of saisi incorrect we want to show it on the edited row\n model.validationError = model.validationError || { errors: {}, errorValidation: {} };\n if (response.responseJSON && response.responseJSON.attribut) {\n var errorField = response.responseJSON.attribut;\n FORMS.assignValue(model.validationError.errors, errorField, response.responseJSON.message);\n model.trigger(\"invalid\", self, model.validationError, errorField);\n response.oldStatus = response.status;\n response.oldResponseText = response.responseText;\n //Avoid the creation of the pop up\n response.status = 200;\n response.responseText = null;\n }\n }\n if (errorCallback) {\n errorCallback(model, response, options);\n }\n };\n if (options.error) {\n errorCallback = options.error;\n }\n options.error = errorBaseModel;\n\n },\n\n clone: function() {\n return new this.constructor(JSON.parse(JSON.stringify(this.toJSON())));\n }\n});\n","/**\n * JavaScript logging utility\n */\nexport var LOG = {\n\n level: \"ERROR\",\n\n /**\n * Type of the logs\n *\t\t\"DEBUG\" : 1,\n *\t\t\"INFO\" : 2,\n *\t\t\"WARN\" : 3,\n *\t\t\"ERROR\" : 4\n * }\n */\n levelMap: {\n \"DEBUG\": 1,\n \"INFO\": 2,\n \"WARN\": 3,\n \"ERROR\": 4\n },\n\n methodMap: {\n \"DEBUG\": \"debug\",\n \"INFO\": \"info\",\n \"WARN\": \"warn\",\n \"ERROR\": \"error\"\n },\n\n /**\n * Loged the message type DEBUG.\n */\n debug: function(msg) {\n this.innerLog(\"DEBUG\", msg);\n },\n\n /**\n * Loged the message type INFO.\n */\n info: function(msg) {\n this.innerLog(\"INFO\", msg);\n },\n\n /**\n * Loged the message type WARN.\n */\n warn: function(msg) {\n this.innerLog(\"WARN\", msg);\n },\n\n /**\n * Loged the message type ERROR.\n */\n error: function(msg) {\n this.innerLog(\"ERROR\", msg);\n },\n\n /**\n * Launch the message to de console, depend of type the log\n */\n innerLog: function(pLevel, msg) {\n\n if (!window.console) {\n return;\n }\n\n if (this.levelMap[this.level] <= this.levelMap[pLevel]) {\n var method = this.methodMap[pLevel];\n console[method] ? console[method](\"[\" + pLevel + \"] - \" + msg) : LOG.debug(msg);\n }\n }\n};","import { GLOBAL_DATA } from '../globalData.js';\nimport { STR } from './str.js';\n\n/**\n * Utilities to check habilitations\n */\nexport var HABILITATION = {\n\n dummy: \"\",\n\n /**\n * Check if we can view with this habilitation\n */\n canView: function(fonction) {\n try {\n var right = \"\";\n var fonctions = this.toArray(fonction);\n\n for (var i = 0, l = fonctions.length; i < l; i++) {\n right = right || GLOBAL_DATA.rights.get(fonctions[i]);\n }\n return !STR.isBlank(right);\n } catch (err) {\n return false;\n }\n },\n\n /**\n * Check if we have all view habilitations\n */\n canViewAll: function(fonction) {\n try {\n var right = true;\n var fonctions = !_.isArray(fonction) ? this.toArray(fonction) : fonction;\n\n for (var i = 0, l = fonctions.length && right; i < l; i++) {\n right = right && !STR.isBlank(GLOBAL_DATA.rights.get(fonctions[i]));\n }\n return right;\n } catch (err) {\n return false;\n }\n },\n\n /**\n * Check if we can create with this habilitation\n */\n canCreate: function(fonction) {\n try {\n var right = false;\n var fonctions = this.toArray(fonction);\n\n for (var i = 0, l = fonctions.length; i < l; i++) {\n right = right || (!STR.isBlank(GLOBAL_DATA.rights.get(fonctions[i])) && GLOBAL_DATA.rights.get(fonctions[i]).get(\"gesta\") == \"O\");\n }\n return right;\n } catch (err) {\n return false;\n }\n },\n\n /**\n * Check if we can update with this habilitation\n */\n canUpdate: function(fonction) {\n try {\n var right = false;\n var fonctions = this.toArray(fonction);\n\n for (var i = 0, l = fonctions.length; i < l; i++) {\n right = right || (!STR.isBlank(GLOBAL_DATA.rights.get(fonctions[i])) && GLOBAL_DATA.rights.get(fonctions[i]).get(\"gestm\") == \"O\");\n }\n return right;\n } catch (err) {\n return false;\n }\n },\n\n /**\n * Check if we can delete with this habilitation\n */\n canDelete: function(fonction) {\n try {\n var right = false;\n var fonctions = this.toArray(fonction);\n\n for (var i = 0, l = fonctions.length; i < l; i++) {\n right = right || (!STR.isBlank(GLOBAL_DATA.rights.get(fonctions[i])) && GLOBAL_DATA.rights.get(fonctions[i]).get(\"gests\") == \"O\");\n }\n return right;\n } catch (err) {\n return false;\n }\n },\n\n /**\n * Transforms a string into a array\n */\n toArray: function(fonction) {\n return fonction.split(\",\");\n }\n\n};","import { ComboBoxView2 } from 'core/components/combo/comboBoxView2.js';\nimport { GLOBAL_DATA } from '../globalData.js';\nimport { i18n } from '../i18n.js';\nimport { STR } from './str.js';\nimport { TYPE } from '../tda/tda.js';\nimport { UTILS } from './utils.js';\n\n/**\n * Forms utilities\n */\nexport var FORMS = {\n\n dummy: \"\",\n\n /**\n * Show a red ball on the right of the labels associated to inputs with the\n * same name. See code for details.\n *\n */\n showErrors: function(jQueryRootSelector, fieldErrors, hold) {\n\n var $formErrors = jQueryRootSelector.find(\".phx-formErrors\");\n if (fieldErrors) {\n $formErrors.attr(\"role\", \"alert\");\n //\t\t\t$formErrors.attr(\"aria-live\",\"assertive\");\n var errorCount = this._countErrors(fieldErrors);\n // for if have a 1 or much errors\n if (errorCount == 1) {\n $formErrors.html(\"1\" + i18n.t('common:detectedError'));\n } else {\n $formErrors.html(errorCount + i18n.t('common:detectedErrors'));\n }\n //Errors for the reader\n var errorsDescription = STR.extractObjectValues(fieldErrors);\n $formErrors.append($(\"
\").css(\"position\", \"absolute\").css(\"top\", \"-9999px\").html(errorsDescription.join(\",\")));\n\n $formErrors.css(\"display\", \"block\");\n } else {\n $formErrors.html(\" \");\n $formErrors.css(\"display\", \"none\");\n }\n\n var self = this;\n jQueryRootSelector.find(\"label[for]\").each(\n function(index, label) {\n var labelId = $(label).attr(\"for\").replace(\"\\'\", \"\");\n var input = jQueryRootSelector.find(\"#\" + labelId.replace(/\\./g, \"\\\\.\") + \",.\" + labelId.replace(/\\./g, \"\\\\.\"));\n /*\n if(input && input.length>1){\n \tinput = $(input[0]);\n }*/\n if (STR.isBlank(input) || input.length <= 0) {\n // There is a label related to an input which don't exist.\n return;\n }\n var inputId = input.attr(\"id\");\n var fieldName = input.attr(\"class\").split(\" \")[0];\n\n // CUSTOMER 143376 1) Due to different names between WS error field and html input defined\n // is necessary to change name of html field in order to set validaton\n // message for it (for saise.date could be \"datedeb\" or \"datefin\" errors)\n //\t\t\t\t assigning directly field name of error to labelId.\n //\n //\t\t\t\t For component evaluation, if is not executed so model validation works.\n var isBadgeage = false;\n if (fieldName == \"saisie.date\") {\n if (!fieldErrors.saisie) {\n fieldName = Object.keys(fieldErrors)[0]; // CUSTOMER 143376 Assign error variable from WS\n }\n\n isBadgeage = true;\n }\n\n // If composite object \"inputname.code\" not find a, error value will search for \"inputname\"\n var errorValue = STR.getElValueFromObj(fieldErrors, fieldName) || STR.getElValueFromObj(fieldErrors, fieldName.split(\".\")[0]);\n\n // CUSTOMER 143376 2) Let everything to its original state avoiding change method's flow.\n if (isBadgeage) {\n fieldName = \"saisie.date\";\n }\n\n // If hold attribute is true don't clean errors from the form\n if (!_.isString(errorValue) && $(input).hasClass(\"ui-state-error\") && hold != true) {\n // clear error message\n\n self._cleanInputErrors(input, labelId, jQueryRootSelector, label);\n }\n\n if (_.isString(errorValue)) {\n // add error message\n input.removeClass(\"ui-state-error\").removeAttr(\"aria-invalid\");\n jQueryRootSelector.find(\".\" + labelId.replace(/\\./g, \"\\\\.\") + \"-error\").detach();\n input.addClass(\"ui-state-error\").attr(\"aria-invalid\", \"true\");\n\n if (!STR.isBlank(errorValue)) {\n if (jQueryRootSelector.is(\"tr\") == true || input.hasClass(\"phx-inline-error\")) {\n $(label).addClass(\"griderror\");\n $(label).attr(\"title\", errorValue);\n $(label).tooltip(_.extend({}, FORMS.tooltip, { tooltipClass: \"phx-grid-tooltip-error\" }));\n } else {\n // error container defined in the template to\n // personalize position of the error message\n var errorContainer = jQueryRootSelector.find(\".\" + fieldName.replace(/\\./g, \"\\\\.\") +\n \"-error-container\");\n var errorDiv = $(\"
\").addClass(\"phx-field-error \" + labelId + \"-error ui-state-error\");\n\n //CUSTOMER 170849\n if (labelId === \"pwd_confirm\") {\n errorDiv.css(\"float\", \"left\");\n }\n //\t\t\t\t\t\t\terrorDiv.attr(\"role\",\"alert\");\n //\t\t\t\t\t\t\terrorDiv.attr(\"aria-atomic\",\"true\");\n errorDiv.attr(\"id\", inputId + \"-error\");\n\n errorDiv.html(errorValue);\n if (errorContainer.length == 0) {\n var referentielParent = input.parents(\".phx-selecteur-referentiel\");\n if (referentielParent.length > 0) {\n referentielParent.after(errorDiv);\n } else if (input.hasClass(\"phx-selecteur-activite-input\") && input.next(\".phx-selecteur-activite-button.ui-icon-search\").length > 0) {\n // place the error just after the input field\n input.next(\".phx-selecteur-activite-button.ui-icon-search\").after(errorDiv);\n } else {\n //CUSTOMER 166240\n // Testing if field is date and has \"datepicker\" icon to place error after it\n if (input.hasClass(\"hasDatepicker\") && input.next().hasClass(\"ui-datepicker-trigger\")) {\n input = input.next();\n }\n // place the error just after the input field\n input.after(errorDiv);\n }\n } else {\n // place the error inside the container\n errorContainer.html(errorDiv);\n }\n\n }\n }\n\n var viewRef = input.prop(\"viewRef\");\n if (viewRef != undefined && viewRef instanceof ComboBoxView2) {\n\n viewRef.showErrors();\n }\n }\n }\n );\n },\n\n /**\n * Counts the items in object (only terminals, not count if parent)\n *\n */\n _countErrors: function(data) {\n var errors = 0;\n if (_.isObject(data) || _.isArray(data)) {\n for (var subField in data) {\n errors += this._countErrors(data[subField]);\n }\n } else {\n errors = 1;\n }\n return errors;\n },\n\n /**\n * Clean the red balls and tooltips added to labels by the function\n *\n */\n cleanErrors: function(jQueryRootSelector, className) {\n jQueryRootSelector.find(\".phx-formErrors\").html(\" \");\n jQueryRootSelector.find(\".phx-formErrors\").css(\"display\", \"none\");\n\n var self = this;\n jQueryRootSelector.find(\"label[for]\").each(function(index, label) {\n var labelId = $(label).attr(\"for\").replace(\"\\'\", \"\").replace(\"/\", \"\\\\/\");\n // If className only clean errors of that input\n if (_.isUndefined(className) || labelId == className) {\n var input = jQueryRootSelector.find(\".\" + labelId.replace(/\\./g, \"\\\\.\"));\n if (input && input.length == 0) {\n input = jQueryRootSelector.find(\"#\" + labelId.replace(/\\./g, \"\\\\.\"));\n }\n self._cleanInputErrors(input, labelId, jQueryRootSelector, label);\n }\n });\n },\n\n /**\n * Clean the exists errors of the inputs\n *\n */\n _cleanInputErrors: function(input, labelId, jQueryRootSelector, label) {\n\n input.removeClass(\"ui-state-error\");\n\n input.find(\".\" + labelId.replace(/\\./g, \"\\\\.\")).removeClass(\"ui-state-error\");\n\n jQueryRootSelector.find(\".\" + labelId.replace(/\\./g, \"\\\\.\") + \"-error\").detach();\n if ($(label).hasClass(\"griderror\") == true) {\n $(label).removeClass(\"griderror\");\n $(label).attr(\"title\", \"\");\n }\n $(label).tooltip({ tooltipClass: \"\" });\n\n var viewRef = input.prop(\"viewRef\");\n if (viewRef != undefined && viewRef.cleanErrors) {\n viewRef.cleanErrors();\n }\n },\n\n /**\n * Each input is associated to a corresponding label in order to meet accessibility criterias\n */\n linkLabelsToInputs: function(jQueryRootSelector) {\n\n jQueryRootSelector.find(\":input\").each(function(index, element) {\n var domEl = $(element);\n var classes = domEl.attr(\"class\");\n if (!STR.isBlank(classes)) {\n var name = domEl.attr(\"class\").split(\" \")[0];\n\n if (element.type == \"select-one\") {\n //jQueryRootSelector.find(\"span.\" + name.replace(/\\./g, \"\\\\.\")).remove();\n\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var newid = _.uniqueId(name + \"_uid_\");\n jQueryRootSelector.find(\"select.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-info \" + newid + \"-error\");\n //jQueryRootSelector.find(\"select.\"+ classnameSelector).prop(\"name\",newid);\n var rootSelector = $(jQueryRootSelector.find(\"label[for=\" + classnameSelector + \"], label[for^=\" + classnameSelector + \"_uid_]\"));\n $(rootSelector[0]).attr(\"for\", newid);\n jQueryRootSelector.find(\"div.\" + classnameSelector + \"-info\").attr(\"id\", newid + \"-info\");\n\n } else if (element.type == \"textarea\") {\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var newid = _.uniqueId(name + \"_uid_\");\n jQueryRootSelector.find(\"textarea.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-info \" + newid + \"-error\");\n //jQueryRootSelector.find(\"input.\"+ classnameSelector).prop(\"name\",newid);\n var rootSelector = $(jQueryRootSelector.find(\"label[for=\" + classnameSelector + \"], label[for^=\" + classnameSelector + \"_uid_]\"));\n $(rootSelector[0]).attr(\"for\", newid);\n jQueryRootSelector.find(\"div.\" + classnameSelector + \"-info\").attr(\"id\", newid + \"-info\");\n } else {\n // other fields case\n switch (domEl.attr(\"type\")) {\n case \"text\":\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var newid = _.uniqueId(name + \"_uid_\");\n // If the input has an id we keep it, it is to solve the case were the datepicker\n var oldId = domEl.attr(\"id\");\n if (!STR.isBlank(oldId)) {\n newid = oldId;\n }\n jQueryRootSelector.find(\"input.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-info \" + newid + \"-error\");\n //jQueryRootSelector.find(\"input.\"+ classnameSelector).prop(\"name\",newid);\n var rootSelector = $(jQueryRootSelector.find(\"label[for=\" + classnameSelector + \"], label[for^=\" + classnameSelector + \"_uid_],label[datePicker-ref=\" + classnameSelector + \"]\"));\n var $label = $(rootSelector[0]).attr(\"for\", newid);\n $(jQueryRootSelector.find(\"span.\" + classnameSelector)[0]).attr(\"aria-label\", $label.text());\n jQueryRootSelector.find(\"div.\" + classnameSelector + \"-info\").attr(\"id\", newid + \"-info\");\n break;\n case \"checkbox\":\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var newid = _.uniqueId(name + \"_uid_\");\n jQueryRootSelector.find(\"input.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-info \" + newid + \"-error\");\n //jQueryRootSelector.find(\"input.\"+ classnameSelector).prop(\"name\",newid);\n var rootSelector = $(jQueryRootSelector.find(\"label[for=\" + classnameSelector + \"], label[for^=\" + classnameSelector + \"_uid_]\"));\n $(rootSelector[0]).attr(\"for\", newid);\n jQueryRootSelector.find(\"div.\" + classnameSelector + \"-info\").attr(\"id\", newid + \"-info\");\n break;\n case \"radio\":\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var value = domEl.val();\n //Identify each radio button by its classnameSelector+valeur to distinguish them\n // value is not needed to distinguish - provoques 150679\n //\t\t\t\t\t var labelclassnameSelector=classnameSelector+value;\n //\t\t\t\t\t name=name+value;\n var labelclassnameSelector = classnameSelector;\n var newid = _.uniqueId(name + \"_uid_\");\n $(element).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-info \" + newid + \"-error\");\n //$(element).prop(\"name\",newid);\n var rootSelector = $(jQueryRootSelector.find(\"label[for=\" + classnameSelector + \"], label[for^=\" + classnameSelector + \"_uid_]\"));\n $(rootSelector[0]).attr(\"for\", newid);\n jQueryRootSelector.find(\"div.\" + classnameSelector + \"-info\").attr(\"id\", newid + \"-info\");\n break;\n\n default:\n break;\n }\n }\n }\n });\n },\n\n /**\n * Manage readonly fields of type input: 1 add span to show value of\n * readonly field\n */\n setInputFieldReadonly: function(fieldset, fieldname, readonly) {\n var el = fieldset.find(\"input.\" + fieldname.replace(/\\./g, \"\\\\.\"));\n if (!_.isUndefined(el)) {\n if (readonly == true) {\n el.attr(\"aria-readonly\", true);\n //Resize the input\n this.autosizeInput(el);\n // Hide components\n if (el.hasClass(\"hasDatepicker\")) {\n this.readonlyDatepicker(fieldset, fieldname, true);\n } else if (el.hasClass(\"phx-autocomplete-input\")) {\n el.parent().find(\".phx-autocomplete-button\").hide();\n } else if (el.hasClass(\"phx-referentiel-input\")) {\n el.parent().find(\".phx-referentiel-button\").hide();\n } else if (el.hasClass(\"phx-chemin-input\")) {\n el.parent().find(\".phx-chemin-button\").hide();\n } else if (el.hasClass(\"phx-combobox-input\")) {\n ComboBoxView2.prototype.enable.call(this, !readonly, el.parents(\".phx-combobox\"), fieldname);\n }\n } else {\n el.removeAttr(\"aria-readonly\");\n\n this.resetSizeInput(el);\n\n // Show components\n if (el.hasClass(\"hasDatepicker\")) {\n this.readonlyDatepicker(fieldset, fieldname, false);\n } else if (el.hasClass(\"phx-autocomplete-input\")) {\n el.parent().find(\".phx-autocomplete-button\").show();\n } else if (el.hasClass(\"phx-referentiel-input\")) {\n el.parent().find(\".phx-referentiel-button\").show();\n } else if (el.hasClass(\"phx-chemin-input\")) {\n el.parent().find(\".phx-chemin-button\").show();\n } else if (el.hasClass(\"phx-combobox-input\")) {\n ComboBoxView2.prototype.enable.call(this, !readonly, el.parents(\".phx-combobox\"), fieldname);\n }\n }\n }\n },\n\n /**\n * Manage readonly fields of type textarea: 1 add span to show value of\n * readonly field\n */\n setTextareaFieldReadonly: function(fieldset, fieldname, readonly) {\n var el = fieldset.find(\"textarea.\" + fieldname.replace(/\\./g, \"\\\\.\"));\n fieldset.find(\"span.\" + fieldname.replace(/\\./g, \"\\\\.\")).remove();\n\n if (!_.isUndefined(el)) {\n if (readonly == true) {\n el.attr(\"readOnly\", \"\");\n el.attr(\"aria-readonly\", \"true\");\n el.css(\"resize\", \"none\");\n el.css(\"border\", \"none\");\n } else {\n el.removeAttr(\"readOnly\");\n el.attr(\"aria-readonly\", \"false\");\n el.css(\"resize\", \"\");\n el.css(\"border\", \"\");\n }\n }\n },\n\n /**\n * Manage readonly fields of type select: 1 add span to show value of\n * readonly field\n */\n setSelectFieldReadonly: function(fieldset, fieldname, readonly) {\n var el = fieldset.find(\".\" + fieldname.replace(/\\./g, \"\\\\.\"));\n var value = $(\"option:selected\", el).text();\n fieldset.find(\"input.\" + fieldname.replace(/\\./g, \"\\\\.\")).remove();\n\n if (!_.isUndefined(el)) {\n if (readonly == true) {\n var title = el.attr(\"title\");\n var input = $(\"\").addClass(fieldname).val(value);\n input.attr(\"id\", el.attr(\"id\"));\n input.attr(\"title\", title);\n input.attr(\"readOnly\", \"\");\n input.attr(\"aria-readonly\", \"true\");\n el.before(input);\n //Resize the input\n this.autosizeInput(input);\n\n var select = el.filter(\"select\");\n this.autosizeInput(select);\n\n select.hide();\n } else {\n var input = el.filter(\"input\");\n var select = el.filter(\"select\");\n\n input.remove();\n\n this.resetSizeInput(select);\n\n el.show();\n }\n }\n },\n\n /**\n * Assign a value from an object to another object.\n *\n */\n assignValue: function(toObject, property, value, options) {\n if (property.indexOf(\".\") === -1) {\n toObject[property] = value;\n } else {\n this._assignValue(toObject, property, value, options);\n }\n },\n\n /**\n * Assign a value from an object to another object.\n * @ private\n */\n _assignValue: function(toObject, property, value, options) {\n if (toObject) {\n var tokens = property.split(\".\");\n if (tokens.length > 1) {\n //Create property if not exist\n if (toObject[tokens[0]] === undefined) {\n toObject[tokens[0]] = {};\n }\n // Complex element\n if (_.isUndefined(toObject[tokens[0]])) { //If the path didn't exist we create it\n toObject[tokens[0]] = {};\n }\n this._assignValue(toObject[tokens[0]], tokens.slice(1).join(\".\"), value, options);\n } else {\n // Simple element\n toObject[tokens[0]] = value;\n }\n }\n },\n\n /**\n * Delete an el value to a model\n *\n */\n removeValue: function(object, property, options) {\n if (property.indexOf(\".\") === -1) {\n delete object[property];\n } else {\n this._removeValue(object, property, options);\n }\n },\n\n /**\n * Delete an el value to a model\n */\n _removeValue: function(object, property, options) {\n //\t\tvar tempObj = this.pointToSBracket(object, property, options);\n //\t\tvar tokens = property.split(\".\");\n //\t\tdelete tempObj[_.last(tokens)];\n\n var objectValue = object;\n var tokens = property.split(\".\");\n if (tokens.length > 1) {\n // Complex element\n objectValue = object[tokens[0]];\n objectValue = this._removeValue(objectValue, tokens.slice(1).join(\".\"), options);\n if (_.isEmpty(object[tokens[0]])) {\n delete object[tokens[0]];\n }\n } else {\n // Simple element\n delete objectValue[tokens[0]];\n }\n\n },\n\n /**\n * Selects the value after the last (.)\n *\n */\n pointToSBracket: function(object, property, options) {\n if (!_.isUndefined(object)) {\n if (property.indexOf(\".\") === -1) {\n return object[property];\n } else {\n return this._pointToSBracket(object, property, options);\n }\n }\n },\n\n /**\n * Selects the value after the last (.)\n */\n _pointToSBracket: function(object, property, options) {\n var objectValue = object;\n if (objectValue) {\n var tokens = property.split(\".\");\n if (tokens.length > 1) {\n // Complex element\n objectValue = object[tokens[0]];\n objectValue = this._pointToSBracket(objectValue, tokens.slice(1).join(\".\"), options);\n } else {\n // Simple element\n return objectValue[tokens[0]];\n }\n }\n return objectValue;\n },\n\n /**\n * Adjust the width of the input element to the content.\n */\n autosizeInput: function(input) {\n //Store old width\n if (input.attr(\"old-width\") == undefined) // TODO: if it's nedded check if the element is readonly.\n {\n if (!input.parents(\":last\").is(\"html\")) {\n var viewRef = input.prop(\"viewRef\");\n // To calculate the combobox width I need to clone all combobox and not only the input.\n if (viewRef instanceof ComboBoxView2) {\n var clon = viewRef.$el.clone();\n $(\"body .cloned_elements\").append(clon);\n // I just take the with of the input.\n input.attr(\"old-width\", clon.find(\"input\").css(\"width\"));\n clon.remove();\n } else {\n var clon = input.clone();\n $(\"body .cloned_elements\").append(clon);\n input.attr(\"old-width\", clon.css(\"width\"));\n clon.remove();\n }\n } else if (input.is(\":hidden\")) {\n if (input.css(\"display\") == \"none\") {\n input.show();\n input.attr(\"old-width\", input.css(\"width\"));\n input.hide();\n } else if (input.parents().filter(function() { return $(this).css(\"display\") == \"none\"; }).length > 0) {\n var parent = input.parents().filter(function() { return $(this).css(\"display\") == \"none\"; });\n parent.show();\n input.attr(\"old-width\", input.css(\"width\"));\n parent.hide();\n }\n } else {\n input.attr(\"old-width\", input.css(\"width\"));\n }\n }\n //Remove unnecesary whitespace\n input.val($.trim(input.val()));\n var input = $(input);\n var value = input.val() || \"\";\n //Prepare Mirror\n // var mirror = $('');\n // mirror.text(value);\n // $.each(['fontFamily', 'fontSize', 'fontWeight', 'fontStyle', 'letterSpacing', 'textTransform', 'wordSpacing', 'textIndent'], function (i, val) {\n // mirror[0].style[val] = input.css(val);\n // });\n // $(\"body\").append(mirror);\n // input.width(mirror.width());\n // mirror.remove();\n input.width(FORMS.getWidthFromMirror(value, input));\n },\n\n getWidthFromMirror: function(text, element) {\n var width = 0;\n var mirror = $('');\n mirror.text(text);\n $.each(['fontFamily', 'fontSize', 'fontWeight', 'fontStyle', 'letterSpacing', 'textTransform', 'wordSpacing', 'textIndent'], function(i, val) {\n mirror[0].style[val] = element.css(val);\n });\n $(\"body\").append(mirror);\n width = mirror.width();\n mirror.remove();\n return width;\n },\n\n /**\n * Return the size of the\n */\n resetSizeInput: function(input) {\n //Reset field width\n var oldWidth = input.attr(\"old-width\");\n if (oldWidth) {\n input.css(\"width\", oldWidth);\n }\n },\n\n /**\n * * Set or not set the form in readonly mode\n *\n */\n setFormReadonly: function(fieldset, readonlyForm, forcedByHabilitations) {\n\n fieldset.find(\":input\").each(function(index, element) {\n FORMS.setFieldReadonly(element, readonlyForm, forcedByHabilitations);\n });\n\n fieldset.find(\".phx-multiLabel\").each(function(index, element) {\n var viewRef = $(element).prop(\"viewRef\");\n if (!STR.isBlank(viewRef)) {\n viewRef.setReadOnly(readonlyForm);\n }\n });\n\n //Remove * (required) for readonly data\n if (readonlyForm) {\n fieldset.find(\"label.required\").css(\"background\", \"none\");\n } else {\n fieldset.find(\"label.required\").css(\"background\", \"\");\n }\n },\n\n /**\n * Set or not set the fieldset in readonly mode\n *\n */\n setFieldReadonly: function(element, setToReadonly, forcedByHabilitations) {\n var domEl = $(element);\n if (domEl.length > 0) {\n var name = domEl.attr(\"class\").split(\" \")[0];\n var fieldset = domEl.parent();\n // Check if I have already in readonly, for checkbox and radio they should be disabled.\n var fieldIsReadonly = domEl.is(\"[readonly]\") || (domEl.is(\":disabled\") && (domEl.type = \"radio\" || domEl.type == \"checkbox\"));\n var forcedToReadonly = domEl.is(\"[forcedreadonly]\");\n\n // field is readonly and the habilitation try to make it editable, don't do nothing.\n if (fieldIsReadonly && !setToReadonly && ((forcedByHabilitations && !forcedToReadonly) || (!forcedByHabilitations && forcedToReadonly))) {\n return;\n }\n\n // field state is correct\n if (fieldIsReadonly === setToReadonly) {\n if (forcedByHabilitations === true && setToReadonly === true) {\n domEl.attr(\"forcedreadonly\", \"\");\n }\n if (forcedByHabilitations === true && setToReadonly === false) {\n domEl.removeAttr(\"forcedreadonly\");\n }\n return;\n }\n\n if (element.type == \"select-one\" || element.type == \"textarea\" || (element[0] && (element[0].type == \"select-one\" || element[0].type == \"textarea\"))) {\n if (setToReadonly === true) {\n if (forcedByHabilitations === true) {\n domEl.attr(\"forcedreadonly\", \"\");\n }\n // replace readonly field by span field and hide the readonly field\n if (element.type == \"select-one\" || (element[0] && element[0].type == \"select-one\")) {\n domEl.attr(\"readonly\", \"\");\n FORMS.setSelectFieldReadonly(fieldset, name, true);\n }\n if (element.type == \"textarea\" || (element[0] && element[0].type == \"textarea\")) {\n domEl.attr(\"readonly\", \"\");\n FORMS.setTextareaFieldReadonly(fieldset, name, true);\n }\n } else if (forcedByHabilitations === true || forcedToReadonly === false) {\n domEl.removeAttr(\"readonly\");\n domEl.removeAttr(\"forcedreadonly\");\n if (element.type == \"textarea\" || (element[0] && element[0].type == \"textarea\")) {\n FORMS.setTextareaFieldReadonly(fieldset, name, false);\n } else if (element.type == \"select-one\" || (element[0] && element[0].type == \"select-one\")) {\n FORMS.setSelectFieldReadonly(fieldset, name, false);\n }\n }\n } else {\n var viewRef = domEl.prop(\"viewRef\");\n\n //other fields case\n switch (domEl.attr(\"type\")) {\n case \"text\":\n if (setToReadonly === true) {\n domEl.attr(\"readonly\", \"\");\n if (forcedByHabilitations === true) {\n domEl.attr(\"forcedreadonly\", \"\");\n }\n } else if (forcedByHabilitations === true || forcedToReadonly === false) {\n domEl.removeAttr(\"readonly\");\n domEl.removeAttr(\"forcedreadonly\");\n }\n\n if (domEl.hasClass(\"hasDatepicker\")) {\n this.readonlyDatepicker(fieldset, name, setToReadonly);\n } else if (viewRef && viewRef._enable) {\n viewRef._enable(!setToReadonly);\n } else if (domEl.hasClass(\"typeDate\") && setToReadonly == false) {\n this.readonlyDatepicker(fieldset, name, setToReadonly);\n } else if (viewRef && viewRef.setReadOnly) {\n viewRef.setReadOnly(setToReadonly);\n } else {\n FORMS.setInputFieldReadonly(fieldset, name, setToReadonly);\n }\n break;\n case \"checkbox\":\n case \"radio\":\n domEl.attr(\"disabled\", true);\n if (setToReadonly === true) {\n domEl.attr(\"readonly\", true);\n if (forcedByHabilitations === true) {\n domEl.attr(\"forcedreadonly\", \"\");\n }\n } else if (forcedByHabilitations === true || forcedToReadonly === false) {\n domEl.removeAttr(\"readonly\");\n domEl.removeAttr(\"disabled\");\n domEl.removeAttr(\"forcedreadonly\");\n }\n break;\n default:\n break;\n }\n }\n }\n },\n\n /** WIDGETS **/\n\n /**\n * Tooltip global configuration\n */\n tooltip: {\n /**\n * Whether the tooltip should track (follow) the mouse.\n */\n track: true,\n\n position: {\n my: \"left+10 top+10\",\n at: \"left bottom\",\n collision: \"flipfit\"\n },\n /**\n * Method executed when a tooltip is opened.\n */\n open: function(event, ui) {\n $(this).data(\"tooltip\", true);\n if (event.originalEvent &&\n event.originalEvent.target &&\n $(event.originalEvent.target).hasClass(\"ui-state-error\")) {\n ui.tooltip.addClass(\"ui-state-error\");\n }\n },\n /**\n * Method executed when a tooltip is closed.\n */\n close: function(event, ui) {\n $(this).data(\"tooltip\", false);\n },\n /**\n * Method executed to get the content of the tooltip from an element.\n */\n content: function() {\n return $(this).prop('title');\n }\n },\n\n /**\n * Default configuration for the datepickers used by setDatepicker(...)\n */\n datepicker: function() {\n var lan = UTILS.getLanguage();\n if (lan == \"en\") {\n // This patch is needed because jQuery Ui return\n // undefined for \"en\". The english options are returned\n // for \"\".\n lan = \"\";\n }\n\n var phoenixArgs = {\n yearRange: \"1899:2100\",\n showOn: \"button\",\n //buttonImageOnly : true,\n buttonText: \" \",\n //In JQuery Datepicker the 4 digits year format is 'yy'\n dateFormat: GLOBAL_DATA.types.get(\"DATE\").get(\"masque\").toLowerCase().replace(\"yyyy\", \"yy\"),\n minDate: new Date(1899, 12 - 1, 31),\n onClose: function() {\n $(this).blur();\n },\n // Regional options got from the internationalization\n closeText: i18n.t('common:close'),\n prevText: i18n.t('common:precedent'),\n nextText: i18n.t('common:suivant'),\n currentText: i18n.t('common:aujourdhui'),\n monthNames: i18n.t('common:monthNames', { returnObjects: true }),\n monthNamesShort: i18n.t('common:monthNamesShort', { returnObjects: true }),\n dayNames: i18n.t('common:dayNames', { returnObjects: true }),\n dayNamesShort: i18n.t('common:dayNamesShort', { returnObjects: true }),\n dayNamesMin: i18n.t('common:dayNamesInitialCap', { returnObjects: true }),\n weekHeader: i18n.t('common:semAbr'),\n firstDay: 1,\n isRTL: false,\n showMonthAfterYear: false,\n yearSuffix: ''\n };\n return _.extend({}, phoenixArgs);\n },\n\n /**\n * Set a date picker to an element in a view and adds the button icon\n */\n setDatepicker: function(view, element, options) {\n if (view && view.typeMaskByClass && !STR.isBlank(element)) {\n if (!options || !options.dateFormat) {\n var target = element.substring(1);\n var typeMask = view.typeMaskByClass[target];\n if (typeMask) {\n if (!options) {\n options = {};\n }\n options.dateFormat = TYPE._getMaskByCode(typeMask).toLowerCase().replace(\"yyyy\", \"yy\");\n }\n }\n }\n\n var self = this;\n var before = {\n beforeShow: function(input, obj) {\n if ($(input).hasClass(\"periodEnd\") && STR.isBlank(input.valueAsDate)) {\n var attr = input.className.split(\" \")[0];\n\n //get Format Mask\n var maskCode = TYPE._getMaskCode(attr, this, \"typeDate\");\n var formatMask = TYPE._getFormatByCode(maskCode);\n\n //Parse the input value\n var parse = TYPE.DATE.parse(input.value, maskCode);\n\n var periodId = $(input).attr(\"periodId\");\n var startDate = view.$el.find(\".periodStart[periodId=\" + periodId + \"]\");\n var startDateName = startDate.attr(\"class\").split(\" \")[0];\n var startDateValue = STR.getElValue(view._getModel(), startDateName);\n if (!STR.isBlank(startDateValue) && (STR.isBlank(parse[\"val\"]) || (parse[\"val\"] == TYPE.DATE.INFINITY && GLOBAL_DATA.paramDivers.get(\"CACH_INFIN\").get(\"valeur\") == \"1\"))) {\n FORMS.modifyDatepicker(view, \".periodEnd[periodId=\" + periodId + \"]\", { \"defaultDate\": TYPE.DATE.strToDate(startDateValue) });\n }\n }\n }\n };\n\n /** Datepicker FIX to multiple retrieved items with the same name **/\n $(view.el).find(element).each(function(index, it) {\n var datePickerOptions = _.clone(self.datepicker());\n if (options) {\n datePickerOptions = _.extend(datePickerOptions, options, before);\n } else {\n datePickerOptions = _.extend(datePickerOptions, before);\n }\n $(it).datepicker(datePickerOptions);\n });\n\n $(view.el).find(\"button.ui-datepicker-trigger\").addClass('ui-button ui-corner-right ui-button-icon-only');\n $(view.el).find(\"button.ui-datepicker-trigger\").prop('tabindex', \"-1\");\n // auto-size the datepicker when placed inside a table\n $(view.el).find(element).parents(\"td\").addClass(\"wider\");\n },\n\n /**\n * Change a date picker options\n */\n modifyDatepicker: function(view, element, options) {\n $(view.el).find(element).datepicker(\"option\", options);\n $(view.el).find(\"button.ui-datepicker-trigger\").addClass('ui-button ui-corner-right ui-button-icon-only');\n },\n\n /**\n * Disable/Enable a datePicker element\n */\n disableDatepicker: function(view, element, disabled) {\n $(view.el).find(element).datepicker(\"option\", \"disabled\", disabled);\n $(view.el).find(\"button.ui-datepicker-trigger\").addClass('ui-button ui-corner-right ui-button-icon-only');\n if (disabled) {\n $(view.el).find(element).addClass(\"ui-state-disabled\");\n } else {\n $(view.el).find(element).removeClass(\"ui-state-disabled\");\n }\n },\n\n /**\n * Make/remove datePicker element as readonly\n */\n readonlyDatepicker: function(view, className, readonly) {\n var $el = $(view);\n var $element = $el.find(\".\" + className.replace(/\\./g, \"\\\\.\"));\n var oldValue = $element.val();\n if (readonly) {\n $element.attr(\"readonly\", \"\");\n $element.datepicker(\"option\", \"showOn\", '');\n $element.parents(\"td\").removeClass(\"wider\");\n } else {\n $element.removeAttr(\"readonly\");\n $element.datepicker(\"option\", \"showOn\", \"button\");\n $el.find(\"button.ui-datepicker-trigger\").addClass('ui-button ui-corner-right ui-button-icon-only');\n //\t\t\t auto-size the datepicker when placed inside a table\n $element.parents(\"td\").addClass(\"wider\");\n $element.siblings(\".ui-datepicker-trigger\").addClass(\"ui-datepicker-trigger ui-button ui-corner-right ui-button-icon-only\");\n }\n // Reset value\n $element.val(oldValue);\n //# customer 146685 - fixed also the readonly size\n var datePicker = view.find(\"input.\" + className.replace(/\\./g, \"\\\\.\"));\n this.resetSizeInput(datePicker);\n //# customer 146685 - fixed also the readonly size\n },\n\n /**\n * Disable an element\n */\n disableElement: function(view, element) {\n $(view.el).find(element).prop(\"disabled\", true);\n $(view.el).find(element).addClass(\"ui-state-disabled\");\n }\n};\n","import { HEADERS } from '../../utils/headers.js';\n\n/**\n * Model to manage the context of an habilitation\n *\n */\nexport var HabilitationContext = Backbone.Model.extend({\n\n dummy: \"\",\n\n defaults: {\n onglet: \"\",\n fonc_cour: \"\",\n nat_gest: \"\"\n },\n\n /**\n * overrideNatureGestion is used in some components (mainly grids) to indicate if the component can modify this value\n * or should use the original value\n */\n initialize: function(attributes, options) {\n this.copyAttributes = _.clone(this.attributes);\n this.overrideNatureGestion = true;\n if (options && _.isBoolean(options.overrideNatureGestion)) {\n this.overrideNatureGestion = options.overrideNatureGestion;\n }\n },\n\n /**\n * List of the attributs that will be updated\n *\n */\n update: function(attrs) {\n this.copyAttributes = _.clone(this.attributes);\n\n for (var i in attrs) {\n if (i === \"nat_gest\") {\n if (this.overrideNatureGestion === true) {\n this.set(i, attrs[i]);\n }\n } else {\n this.set(i, attrs[i]);\n }\n }\n },\n\n /**\n * Build the gfi-context header used by the WS\n *\n */\n header: function() {\n return HEADERS.habilitationContext(this.attributes.onglet, this.attributes.fonc_cour, this.attributes.nat_gest);\n },\n\n /**\n * return a copy of the current habilitation context\n *\n */\n copy: function() {\n var ctx = new HabilitationContext(_.clone(this.attributes));\n ctx.overrideNatureGestion = this.overrideNatureGestion;\n return ctx;\n },\n\n /**\n * reverts the attributs to a previous version (previous update call)\n */\n revert: function() {\n this.attributes = this.copyAttributes;\n }\n});","import { BaseCollection } from './base.collection.js';\n\nimport { i18n } from '../../i18n.js';\nimport { MSGS } from '../../utils/msgs.js';\nimport { STR } from '../../utils/str.js';\n\nexport var PaginatedCollection = BaseCollection.extend({\n /**\n * Initializes the special attributes of this collection\n */\n dummy: \"\",\n\n /**\n * Constructor\n * Paginated collection for the application. Manage also filtering and sorting\n */\n initialize: function() {\n /**\n * Name of the field(s) that are ids of the models included in the\n * collection. Override it in your collection if the id is not the code\n */\n this.idnames = [\"code\"];\n\n /**\n * Params used at URL to filter and sort the collection\n */\n this.params = {}; // {code:2000,label:\"test\",...}\n /**\n * pagination - Index and size of pagination\n **/\n this.pagination = {\n startIndex: 0,\n size: Configuration.pageSize\n // Default size per page\n };\n /**\n * Fields set to true will be sorted\n */\n this.sortings = {}; // pairs {code:true, libelle:false...}\n /**\n * Number of total records in the collection\n */\n this.totalRecords = 0;\n // Pagination order\n this.ajaxRequests = null;\n // Set if the collection is paginated or not. Default true\n /**\n * Set to true when this collection is paginated (true by default)\n */\n this.paginated = true;\n\n //Omitted filter params\n this.omittedParams = [];\n this.omittedParams.push(\"target\");\n },\n\n setOmittedParams: function(params) {\n if (params) {\n // clean Omitted filter params\n this.omittedParams = [];\n this.omittedParams.push(\"target\");\n for (var i in params) {\n if (this.omittedParams.indexOf(i) === -1) {\n this.omittedParams.push(i);\n }\n }\n }\n },\n\n /**\n * Calls standar Backbone collection reset to replace a collection with a new list of models\n */\n reset: function(models, options) {\n this.totalRecords = 0;\n Backbone.Collection.prototype.reset.call(this, models, options);\n },\n\n /**\n * Find a model inside the whole collection, and paginate to the required\n * record if needed\n */\n findAndGo: function(model, callback) {\n var self = this;\n\n if (model instanceof Backbone.Collection) {\n return;\n\n }\n if (this.indexOf(this.get(model)) !== -1) {\n if (callback) {\n callback();\n }\n return;\n }\n\n if (!model) {\n return;\n }\n\n var ids = model.id;\n if (_.isString(ids)) {\n ids = model.id.split(\",\");\n } else {\n ids = [];\n ids.push(model.id);\n }\n\n var queryIds = \"\";\n _.each(this.idnames, function(value, index) {\n if (!_.isEmpty(queryIds)) {\n queryIds += \",\";\n }\n queryIds += value + \";\" + ids[index];\n });\n\n this.pagination.startIndex = 0;\n this.params.target = queryIds;\n this.fetchPagination({\n success: function() {\n // Manages if the user should be asked to clean the filter\n var asking = false;\n\n var methodEnding = function(selectOld) {\n self.params.target = \"\";\n if (callback) {\n callback(selectOld);\n }\n };\n var index = self.indexOf(model.id);\n if (index < 0) {\n // Check if there is a search\n var search = _.keys(_.omit(self.params, self.omittedParams)).length;\n if (search > 0) {\n var optionsText = { yes: i18n.t('common:yes'), no: i18n.t('common:no') };\n\n asking = true;\n MSGS.showConfirm(i18n.t('messages:GL_1041'), function(result) {\n if (result === \"C\") {\n self.params = _.pick(self.params, self.omittedParams);\n self._resetOriginalParams();\n self.fetchPagination({\n success: function() {\n methodEnding();\n self.trigger(\"collectionParams:cleaned\");\n },\n error: function() {\n methodEnding();\n }\n });\n } else {\n methodEnding(true);\n }\n }, false, optionsText);\n }\n }\n\n if (!asking) {\n methodEnding();\n }\n }\n });\n },\n\n /**\n * This method reset the seach params when the collection has fixed parameters\n * and they are modified by a filter\n */\n _resetOriginalParams: function() {\n //Override it when the params will need to be reseted.\n },\n\n /**\n * Go to record at index passed as argument: \"index\"\n */\n goTo: function(index, callback) {\n this.pagination.startIndex = index;\n this.fetchPagination({\n success: function(fresh) {\n if (callback) {\n callback(fresh);\n }\n }\n });\n },\n\n /**\n * Go forward the number of records passed as argument: \"number\"\n */\n next: function(number, callback) {\n this.pagination.startIndex += number;\n this.fetchPagination({\n success: function() {\n if (callback) {\n callback();\n }\n }\n });\n },\n\n /**\n * Go back the number of records passed as argument: \"number\"\n */\n prev: function(number, callback) {\n this.pagination.startIndex -= number;\n this.fetchPagination({\n success: function() {\n if (callback) {\n callback();\n }\n }\n });\n },\n\n /**\n * Overrides the fetch to prepare the parameters before calling the server\n * responds fetch without errors\n */\n fetch: function(options) {\n var oldSilent = false;\n var urlParams = this._prepareUrlParams();\n options = options ? _.clone(options) : {};\n if (!options.type || options.type === \"GET\") {\n options.data = urlParams;\n }\n if (STR.isBlank(options.reset) || !_.isBoolean(options.reset)) {\n options.reset = true;\n }\n if (options.silent === true) {\n oldSilent = true;\n }\n options.silent = true;\n options.success = (function(callback, self) {\n return function(model, response, options2) {\n options.silent = false;\n\n if (oldSilent !== true) {\n self.trigger('reset', self, options2);\n }\n if (callback) {\n callback(model, response, options2);\n }\n };\n })(options.success, this, urlParams.index);\n this.ajaxRequests = urlParams;\n return BaseCollection.prototype.fetch.call(this, options);\n },\n\n /**\n * Fetch used when we want to paginate. It will do a lazy data rendering\n */\n fetchPagination: function(options) {\n var oldSilent = false;\n var urlParams = this._prepareUrlParams();\n options = options ? _.clone(options) : {};\n if (!options.type || options.type === \"GET\") {\n options.data = urlParams;\n }\n // Store old index to control the pagination.\n options.oldIndex = urlParams.index;\n\n if (STR.isBlank(options.reset) || !_.isBoolean(options.reset)) {\n options.reset = true;\n }\n if (options.silent === true) {\n oldSilent = true;\n }\n options.silent = true;\n options.success = (function(callback, self) {\n return function(model, response, options) {\n if (options.oldIndex === 0 || self.ajaxRequests.index === options.oldIndex) {\n options.silent = false;\n if (oldSilent !== true) {\n self.trigger('reset', self, options);\n }\n if (callback) {\n callback(model, response, options);\n }\n }\n };\n })(options.success, this);\n this.ajaxRequests = urlParams;\n // Option to do the fetch synchronous\n options.sync = true;\n return BaseCollection.prototype.fetch.call(this, options);\n },\n\n /**\n * Prepare the 3 kinds of parameter this collection understand in an unique\n * object that the REST service can understand\n */\n _prepareUrlParams: function() {\n\n // Sorting configuration\n var pSorting = {};\n var querySort = \"\";\n\n _.each(this.sortings, function(value, key) {\n if (!_.isEmpty(querySort)) {\n querySort += \",\";\n }\n querySort += key;\n var direction = (value) ? \"asc\" : \"desc\";\n querySort += \";\" + direction;\n });\n if (!_.isEmpty(querySort)) {\n pSorting.tri = querySort;\n }\n\n // Filter parameters not empty\n var pWhere = {};\n _.each(this.params, function(value, key) {\n if (!STR.isBlank(value)) {\n pWhere[key] = value;\n }\n });\n\n // Join all the parameters\n var qParams = _.extend(pWhere, pSorting);\n if (this.paginated) {\n // Map our fields to the expected REST pagination specs\n // check for gruped vignettes\n if (!STR.isBlank(this.pagination.gruped)) {\n // set the values for grouped pagination\n var respPagination = {\n index: this.pagination.startIndex * this.pagination.ROWS_FOR_FILE + 1,\n nbrang: this.pagination.size * this.pagination.ROWS_FOR_FILE\n };\n } else {\n var respPagination = {\n index: this.pagination.startIndex + 1,\n nbrang: this.pagination.size\n };\n }\n\n // Join pagination parameters\n qParams = _.extend(qParams, respPagination);\n }\n\n if (this.usePopulation === true) {\n // Join population parameter\n qParams = _.extend(qParams, { \"filtre\": true });\n }\n return qParams;\n },\n\n /**\n * Prepare the 3 kinds of parameter this collection understand in an unique\n * object that the REST service can understand\n */\n resetPagination: function() {\n this.pagination.startIndex = 0;\n this.pagination.size = Configuration.pageSize;\n },\n\n /**\n * Process the response to feed the special field totalRecords and manage\n * the case of the response is an array instead of the expected one\n * {total=187, Array}\n */\n parse: function(response) {\n if (_.isArray(response)) {\n // It is waiting for a response [objects]. If this is so, we have a\n // REST service not paginated\n this.paginated = false;\n this.totalRecords = parseInt(response.length, 10);\n this.pagination.size = this.totalRecords;\n return response;\n } else {\n // It is waiting for a response {total:100, list=[objects]}\n this.totalRecords = parseInt(response.total);\n this.pagination.startIndex = Math.max(0, response.index - 1);\n return response.list;\n }\n },\n\n /**\n * This method do the request synchronous\n */\n sync: function(model, xhr, options) {\n if (options.sync) {\n var self = this;\n _.extend(options, {\n error: function() {\n self._lastSync = null;\n }\n });\n if (!this._lastSync) {\n this._lastSync = Backbone.sync.call(this, model, xhr, options);\n } else {\n var _this = this;\n this._lastSync = this._lastSync.then(function() {\n if (self.ajaxRequests.index === options.oldIndex) {\n return Backbone.sync.call(_this, model, xhr, options);\n }\n return null;\n });\n }\n return this._lastSync;\n } else {\n this._lastSync = null;\n return Backbone.sync.call(this, model, xhr, options);\n }\n },\n\n /**\n * Apply new filter to the collection and put the pagination in the 0 index\n *\n */\n applyFilter: function(params) {\n this.params = params;\n this.pagination.startIndex = 0;\n },\n\n /**\n * Clear filters and put the pagination in the 0 index\n */\n clearFilter: function() {\n this.params = {};\n this.pagination.startIndex = 0;\n }\n\n});","import { LOG } from './log.js';\nimport { objs } from '../objectsRepository.js';\nimport { STR } from './str.js';\nimport { TYPE } from '../tda/tda.js';\n\n/**\n * Generic Utilities\n */\nexport var UTILS = {\n\n dummy: \"\",\n global_loading_counter: 0,\n usecase_loading_counter: [],\n usecase_loading_exception: [],\n\n _logear: function() {\n\n if (objs && objs.appRt && objs.appRt.workflow && objs.appRt.workflow.authModel) {\n objs.appRt.workflow.authModel.clear();\n }\n if (window.location.pathname.indexOf(\"login.html\") == -1) {\n window.location.href = \"./login/login.html\";\n }\n },\n\n _isLoged: function() {\n if (!objs || !objs.appRt || !objs.appRt.workflow || !objs.appRt.workflow.authModel ||\n STR.isBlank(objs.appRt.workflow.authModel.get(\"user\"))) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Check if the application should be showed in a frame or not\n */\n isFramed: function() {\n var location = window.location.pathname;\n var result = false;\n if (location.indexOf(\"frame.html\") > -1) {\n result = true;\n }\n return result;\n },\n\n /**\n * Returns the language stored as a cookie\n *\n */\n getLanguage: function() {\n var l_rtn = Configuration.userlocale;\n\n if (objs && objs.appRt && objs.appRt.workflow && objs.appRt.workflow.configuration && objs.appRt.workflow.configuration.get(\"langue\")) {\n l_rtn = objs.appRt.workflow.configuration.get(\"langue\").toLowerCase();\n }\n //\t\tvar userLan = this.getCookieValue(\"phx-lan\");\n //\t\tif (STR.isBlank(userLan)) {\n //\t\t\tuserLan = \"fr\";\n //\t\t}\n //\t\treturn userLan;\n return l_rtn;\n },\n\n /**\n * Returns a value from a cookie\n *\n */\n getCookieValue: function(key) {\n var currentcookie = document.cookie;\n var firstidx, lastidx;\n if (currentcookie.length > 0) {\n firstidx = currentcookie.indexOf(key + \"=\");\n if (firstidx != -1) {\n firstidx = firstidx + key.length + 1;\n lastidx = currentcookie.indexOf(\";\", firstidx);\n if (lastidx == -1) {\n lastidx = currentcookie.length;\n }\n return unescape(currentcookie.substring(firstidx, lastidx));\n }\n }\n return \"\";\n },\n\n /**\n * Test sequence for authorized values, format: 1,2,5:8,12,... or *\n *\n */\n checkListOfValues: function(valueMin, valueMax, text) {\n\n var reponse = true;\n var existMin = valueMin != null;\n var existMax = valueMax != null;\n /*\n * Regular expression for sequences separated with comma with ranges\n * (x:y). Tokens could be natural numbers, set of letters or set of\n * numbers and letters Skeleton of RegExp: /^A(:A)?(,A(:A)?)*$/ A is\n * compose of A = B|C, where B is natural numbers (([+-]?\\d)+) and C is\n * set of letters or set of numbers and letters ([\\dA-Za-z]+)\n */\n var RegExPattern = /^(([+-]?\\d)+|[\\dA-Za-z]+)(:(([+-]?\\d)+|[\\dA-Za-z]+))?(,(([+-]?\\d)+|[\\dA-Za-z]+)(:(([+-]?\\d)+|[\\dA-Za-z]+))?)*$/;\n // Regular expressions for ranges in tokens\n var RegExPatternRange = /^(([+-]?\\d)+|[\\dA-Za-z]+):(([+-]?\\d)+|[\\dA-Za-z]+)$/;\n\n if (RegExPattern.test(text)) {\n // Obtain each token from the text\n var tokens = text.split(\",\");\n\n for (var i = 0; i < tokens.length; i++) {\n // Test if the token is a range (x:y)\n if (RegExPatternRange.test(tokens[i])) {\n // Obtain each endpoint from the range\n var tokensRange = tokens[i].split(\":\");\n // Convert string to Int to compare\n if (!isNaN(tokensRange[0]) && !isNaN(tokensRange[1])) {\n tokensRange[0] = parseInt(tokensRange[0], 10);\n tokensRange[1] = parseInt(tokensRange[1], 10);\n }\n // Test if the range is ordered and if the endpoints are\n // between min & max\n if (tokensRange[0] > tokensRange[1] || existMin && tokensRange[0] < valueMin || existMax &&\n tokensRange[1] > valueMax) {\n\n reponse = false;\n }\n // Simple token (not a range)\n } else {\n // Test if the token is between min & max\n if ((existMin && tokens[i] < valueMin) || (existMax && tokens[i] > valueMax)) {\n reponse = false;\n }\n }\n }\n // text could be '*' also, that means everyday, every month, ...\n } else if (text == \"*\") {\n reponse = true;\n } else {\n reponse = false;\n }\n\n return reponse;\n },\n\n /**\n * Add a number of days to the current date\n */\n addDays: function(date, numDays) {\n date.setDate(date.getDate() + numDays);\n return date;\n },\n\n /**\n * Add a number of days to the current date in BBDD format\n */\n addDaysString: function(date, numDays) {\n var dateAux = TYPE.DATE.strToDate(date);\n UTILS.addDays(dateAux, numDays);\n var newDate = TYPE.DATE.dateToStr(dateAux, TYPE.DATE.DEFAULT_MASK_BBDD);\n return newDate;\n },\n\n //\tshowHidder : function(){\n //\t\tif(\tUTILS.global_loading_counter < 0){\n //\t\t\tUTILS.global_loading_counter = 0;\n //\t\t}\n //\t\tvar showHidder = true;\n //\t\tvar usecase = \"\";\n //\t\t// check if usecase allow hidder to be visible (specially in usecase where a progression bar exist and use can stop activity)\n ////\t\tif(objs && objs.appRt.workflow){\n ////\t\t\tusecase = objs.appRt.workflow.get(\"usecase\");\n ////\t\t\tif(objs[usecase+\"Rt\"]){\n ////\t\t\t\tshowHidder = (objs[usecase+\"Rt\"].showHidder === false ? false:true);\n ////\t\t\t}\n ////\t\t}\n //\n //\t\tif(\tUTILS.global_loading_counter == 0 && objs && showHidder) {\n //\t\t\tusecase = objs.appRt.workflow.get(\"usecase\");\n //\t\t\tvar hidder = $(\"
\");\n //\t\t\tvar $usecase = $(\"#\"+usecase);\n //\t\t\tif($usecase && $usecase.offset()){\n //\t\t\t\tvar topOffset = $usecase.offset().top - $(\"#phx-zone-\"+objs.appRt.workflow.get(\"zone\")).offset().top;\n //\t\t\t\tvar height = $usecase.height() == 0 ? $usecase.height()+\"px\" : \"100%\";\n //\t\t\t\thidder.css({\n //\t\t\t\t\theight : height,\n //\t\t\t\t\ttop : topOffset + \"px\"\n //\t\t\t\t});\n //\t\t\t\t$usecase.append(hidder);\n //\t\t\t}\n //\t\t}\n //\t\tUTILS.global_loading_counter++;\n //\t\tLOG.debug(\"--> showHidder (\"+usecase+\"): \"+UTILS.global_loading_counter);\n //\t},\n\n disableKeys: function(event) {\n event.preventDefault();\n return false;\n },\n\n /**\n * Puts the wait icon in usecase\n */\n showUsecaseHidder: function(usecase) {\n var targetUc = \"\",\n newId = \"\";\n var l_exist = false;\n\n try {\n newId = Backbone.history.getFragment().split(\"/\")[3];\n targetUc = newId.split(\"_\")[0];\n } catch (e) {\n // Do nothing\n }\n if (usecase == targetUc && usecase != newId) {\n usecase = newId;\n }\n var $usecase = $(\"#\" + usecase);\n\n if ($usecase.length == 0) {\n if (!_.isString(usecase) || (_.isString(usecase) && usecase.length == 0)) {\n LOG.error(\"Error usecase is not defined\");\n } else {\n $usecase = $(\".phx-Dialog div.\" + usecase);\n }\n }\n\n if ($usecase.length == 0) {\n if (!_.isString(usecase) || (_.isString(usecase) && usecase.length == 0)) {\n LOG.error(\"Error usecase is not defined\");\n } else {\n $usecase = $(\"div.\" + usecase);\n }\n }\n if ($usecase.length !== 0) {\n\n UTILS.usecase_loading_counter[usecase] = UTILS.usecase_loading_counter[usecase] || 0;\n\n var showHidder = (UTILS.usecase_loading_exception[usecase] !== false);\n\n if (UTILS.usecase_loading_counter[usecase] < 0) {\n UTILS.usecase_loading_counter[usecase] = 0;\n }\n l_exist = ($usecase.find(\".phx-uc-hidder-left.phx-icon-hidder\") && $usecase.find(\".phx-uc-hidder-left.phx-icon-hidder\").length > 0) ? true : false;\n if (!STR.isBlank(objs) && showHidder && (UTILS.usecase_loading_counter[usecase] == 0 || !l_exist)) {\n var hidder = $(\"
\");\n if ($usecase && $usecase.offset()) {\n $usecase.find(\"table\").keydown(this.disableKeys);\n\n var topOffset = $usecase.offset().top;\n if (!STR.isBlank(objs.appRt) && !STR.isBlank(objs.appRt.workflow) && !STR.isBlank(objs.appRt.workflow.get(\"zone\"))) {\n topOffset = $usecase.offset().top - $(\"#phx-zone-\" + objs.appRt.workflow.get(\"zone\")).offset().top;\n if (topOffset < 0) {\n topOffset = 0;\n }\n }\n\n //On dialogs dont calculate the offset block all the dialog. Idem on briques.\n if ($(\"#\" + usecase).hasClass(\"phx-portlet\") || ($usecase.parents(\".phx-Dialog\") && $usecase.parents(\".phx-Dialog\").length > 0)) {\n topOffset = 0;\n }\n var height = $usecase.height() == 0 ? $usecase.height() + \"px\" : \"100%\";\n hidder.css({\n height: height,\n top: topOffset + \"px\"\n });\n $usecase.append(hidder);\n }\n }\n if (!STR.isBlank(objs) && showHidder && $usecase && $usecase.offset()) {\n UTILS.usecase_loading_counter[usecase]++;\n }\n\n LOG.debug(\"--> showUsecaseHidder (\" + usecase + \") : \" + UTILS.usecase_loading_counter[usecase]);\n }\n },\n\n /**\n * Transform text to a valid string JQuery\n */\n escapeJQueryString: function(expression) {\n var l_expression = expression;\n l_expression = l_expression.replace(/ /g, '_');\n l_expression = l_expression.replace(/[@]/g, '-1-');\n l_expression = l_expression.replace(/[\"]/g, '-2-');\n l_expression = l_expression.replace(/[#]/g, '-3-');\n l_expression = l_expression.replace(/[$]/g, '-4-');\n l_expression = l_expression.replace(/[%]/g, '-5-');\n l_expression = l_expression.replace(/[&]/g, '-6-');\n l_expression = l_expression.replace(/[']/g, '-7-');\n l_expression = l_expression.replace(/[(]/g, '-8-');\n l_expression = l_expression.replace(/[)]/g, '-9-');\n l_expression = l_expression.replace(/[*]/g, '-10-');\n l_expression = l_expression.replace(/[+]/g, '-11-');\n l_expression = l_expression.replace(/[,]/g, '-12-');\n l_expression = l_expression.replace(/[.]/g, '-13-');\n l_expression = l_expression.replace(/[\\/]/g, '-14-');\n l_expression = l_expression.replace(/[:]/g, '-15-');\n l_expression = l_expression.replace(/[;]/g, '-16-');\n l_expression = l_expression.replace(/[<]/g, '-17-');\n l_expression = l_expression.replace(/[=]/g, '-18-');\n l_expression = l_expression.replace(/[>]/g, '-19-');\n l_expression = l_expression.replace(/[?]/g, '-20-');\n l_expression = l_expression.replace(/[!]/g, '-21-');\n l_expression = l_expression.replace(/[\\[]/g, '-22-');\n l_expression = l_expression.replace(/[\\\\]/g, '-23-');\n l_expression = l_expression.replace(/[\\]]/g, '-24-');\n l_expression = l_expression.replace(/[\\^]/g, '-25-');\n l_expression = l_expression.replace(/[`]/g, '-26-');\n l_expression = l_expression.replace(/[{]/g, '-27-');\n l_expression = l_expression.replace(/[|]/g, '-28-');\n l_expression = l_expression.replace(/[}]/g, '-29-');\n l_expression = l_expression.replace(/[~]/g, '-30-');\n\n return l_expression;\n },\n\n /**\n * Escape special chars in selector to form a valid JQuery selector.\n *

Escape chars:

\n */\n addScapeSlashesForJQuerySelector: function(selector) {\n return selector.replace(/( |@|\"|#|\\$|%|&|'|\\(|\\)|\\*|\\+|,|\\.|\\/|:|;|<|=|>|\\?|!|\\[|\\\\|\\]|\\^|`|{|\\||}|~)/g, \"\\\\$1\");\n },\n\n /**\n * Remove the wait icon in usecase\n */\n hideUsecaseHidder: function(usecase) {\n var targetUc = \"\",\n newId = \"\";\n\n try {\n newId = Backbone.history.getFragment().split(\"/\")[3];\n targetUc = newId.split(\"_\")[0];\n } catch (e) {\n // Do nothing\n }\n if (usecase == targetUc && usecase != newId) {\n usecase = newId;\n }\n if (UTILS.usecase_loading_counter[usecase] !== undefined && UTILS.usecase_loading_counter[usecase] !== \"\") {\n UTILS.usecase_loading_counter[usecase]--;\n\n LOG.debug(\"--> hideUsecaseHidder (\" + usecase + \") : \" + UTILS.usecase_loading_counter[usecase]);\n if (UTILS.usecase_loading_counter[usecase] <= 0) {\n $(\"#\" + usecase).find(\"table\").unbind(\"keydown\", this.disableKeys);\n $(\".\" + usecase).find(\"table\").unbind(\"keydown\", this.disableKeys);\n\n $(\"#\" + usecase).find(\".phx-uc-hidder-left\").remove();\n $(\".\" + usecase).find(\".phx-uc-hidder-left\").remove();\n UTILS.usecase_loading_counter[usecase] = 0;\n }\n }\n },\n\n /**\n * Discount token number called webservice\n */\n removeHidder: function() {\n UTILS.global_loading_counter--;\n LOG.debug(\"--> removeHidder : \" + UTILS.global_loading_counter);\n if (UTILS.global_loading_counter <= 0) {\n $(document.body).find(\".phx-uc-hidder-left\").remove();\n UTILS.global_loading_counter = 0;\n }\n },\n\n /**\n * Set token number called webservice to 0\n */\n resetHidder: function() {\n UTILS.global_loading_counter = 0;\n UTILS.usecase_loading_counter = [];\n LOG.debug(\"--> resetHidder : \" + UTILS.global_loading_counter);\n $(document.body).find(\".phx-uc-hidder-left\").remove();\n\n //CUSTOMER 170849\n if (objs && objs.appRt) {\n $(\"#\" + objs.appRt.workflow.get(\"usecase\")).find(\"table\").unbind(\"keydown\", this.disableKeys);\n }\n },\n\n /**\n * Clone the one array in other array\n */\n cloneArray: function(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var out = [],\n i = 0,\n len = obj.length;\n for (; i < len; i++) {\n out[i] = UTILS.cloneArray(obj[i]);\n }\n return out;\n }\n if (typeof obj === 'object') {\n var out = {},\n i;\n for (i in obj) {\n out[i] = UTILS.cloneArray(obj[i]);\n }\n return out;\n }\n return obj;\n },\n /**\n * Return the number of weeks of the month for the year and month passed\n */\n getNumWeeksForMonth: function(month, year) {\n var firstOfMonth = new Date(year, month - 1, 1);\n var days = UTILS.daysInMonth(month - 1, year);\n var weeks = 0;\n if (firstOfMonth.getDay() !== 1) {\n weeks++;\n }\n for (var i = 1; i <= days; i++) {\n var loopDate = new Date(year, month - 1, i);\n var newWeek = loopDate.getDay();\n if (newWeek === 1) {\n weeks++;\n }\n }\n return weeks;\n },\n /**\n * Return the number of week in a Date passed\n */\n getWeekNumOfDate: function(d) {\n var year = d.getFullYear();\n var month = d.getMonth();\n var firstOfMonth = new Date(year, month, 1);\n var week = 0;\n if (firstOfMonth.getDay() !== 1) {\n week++;\n }\n for (var i = 1; i <= d.getDate(); i++) {\n var loopDate = new Date(year, month, i);\n var newWeek = loopDate.getDay();\n if (newWeek === 1) {\n week++;\n }\n }\n return week;\n },\n /**\n * Return the numbers of days of the month for the year and month passed\n */\n daysInMonth: function(month, year) {\n return new Date(year, month + 1, 0).getDate();\n },\n\n /**\n * Delete the object in memory with the close a usecase\n */\n backboneObjectRecollector: function(obj) {\n this._recursiveRecollector(obj);\n },\n\n /**\n * Delete the object in memory with the close a usecase (In recursive)\n */\n _recursiveRecollector: function(obj) {\n _.each(obj, function(value, key, parent) {\n if (this._isRecollectableValue(value, key)) {\n if (this._isBackboneObject(parent[key])) {\n parent[key] = undefined;\n }\n this._resetBackboneObject(value);\n }\n }, this);\n },\n\n _isBackboneObject: function(value) {\n var isBackb = false;\n if (value instanceof Backbone.Model) {\n isBackb = true;\n } else if (value instanceof Backbone.Collection) {\n isBackb = true;\n } else if (value instanceof Backbone.View) {\n isBackb = true;\n }\n return isBackb;\n },\n\n /**\n * Decides if an object should be recollected\n */\n _isRecollectableValue: function(value, key) {\n var recollectable = false;\n if ((_.isObject(value) || _.isArray(value)) && value.recollected != true) {\n if (!_.contains(this.backboneProperties, key)) {\n recollectable = true;\n }\n }\n return recollectable;\n },\n\n backboneProperties: [\"_events\", \"_listeners\", \"_listeningTo\", \"_byId\", \"$el\", \"el\", \"i18n\", \"i18nCom\"],\n\n /**\n * Reset a objects of BackBone (Backbone.Model, Backbone.Collection, Backbone.View, Array...)\n */\n _resetBackboneObject: function(value) {\n if (value && value.recollected != true) {\n if (value instanceof Backbone.Model) {\n // added to don't treat the same obj again\n value.recollected = true;\n value.off();\n value.stopListening();\n if (value.clear) {\n value.clear({ silent: true });\n }\n this._recursiveRecollector(value);\n } else if (value instanceof Backbone.Collection) {\n // added to don't treat the same obj again\n value.recollected = true;\n value.off();\n value.stopListening();\n this._recursiveRecollector(value);\n } else if (value instanceof Backbone.View) {\n // added to don't treat the same obj again\n value.recollected = true;\n value.remove();\n this._recursiveRecollector(value);\n } else if (_.isArray(value)) {\n for (var i in value) {\n var obj = value[i];\n value[i] = null;\n this._resetBackboneObject(obj);\n }\n } else if (_.isObject(value)) {\n this._recursiveRecollector(value);\n }\n }\n },\n\n /**\n *\n */\n stringToBoolean: function(original) {\n var stringValue = String(original).toLowerCase();\n if (stringValue === \"true\") {\n return true;\n } else if (stringValue === \"false\") {\n return false;\n } else {\n return NaN;\n }\n },\n\n /**\n * Clones a object\n */\n cloneObj: function(obj) {\n var jsonObj = JSON.stringify(obj);\n //var newObj=mObj=JSON.parse(jsonObj);\n var newObj = JSON.parse(jsonObj);\n return newObj;\n },\n\n /**\n * getTextWidth\n */\n getTextWidth: function(width) {\n if (width && !_.isNumber(width) && width.indexOf(\"ch\") > 0 && UTILS.isIE()) {\n var number = width.replace(\"ch\", \"\");\n number *= 1.21;\n return number + \"ch\";\n }\n\n return width;\n },\n\n /**\n * getTextWidth\n */\n isIE: function() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ') > 0;\n var ie11 = ua.indexOf('Trident/') > 0;\n var ie12 = ua.indexOf('Edge/') > 0;\n return msie || ie11 || ie12;\n },\n\n isFirefox: function() {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Firefox/') > 0\n },\n\n isInteger: function(value) {\n return typeof value === \"number\" &&\n isFinite(value) &&\n Math.floor(value) === value;\n },\n\n /**\n * Performs a binary search on the host array. This method can either be\n * injected into Array.prototype or called with a specified scope like this:\n * binaryIndexOf.call(someArray, searchElement);\n *\n */\n binaryIndexOf: function(someArray, searchElement, f_comparator) {\n if (_.isArray(someArray) && !STR.isBlank(searchElement)) {\n var minIndex = 0;\n var maxIndex = someArray.length - 1;\n var currentIndex = null;\n var currentElement = null;\n var previousElement = null;\n var l_rtn = null;\n\n var l_func_aux = function(currentElement, searchElement) {\n if (currentElement < searchElement) {\n return -1;\n } else if (currentElement > searchElement) {\n return 1\n } else {\n return 0;\n }\n };\n\n while (minIndex <= maxIndex) {\n currentIndex = (minIndex + maxIndex) / 2 | 0;\n\n currentElement = someArray[currentIndex];\n if (currentIndex > 0) {\n previousElement = someArray[currentIndex - 1];\n } else {\n previousElement = null;\n }\n l_rtn = null;\n if (f_comparator) {\n l_rtn = f_comparator(currentElement, searchElement, previousElement);\n } else {\n l_rtn = l_func_aux(currentElement, searchElement, previousElement)\n }\n if (l_rtn === -1) {\n minIndex = currentIndex + 1;\n } else if (l_rtn === 1) {\n maxIndex = currentIndex - 1;\n } else {\n return currentIndex;\n }\n }\n }\n return -1;\n }\n};","import { BaseModel } from './base.model.js';\n\n\n/**\n * Model for Combos\n */\nexport var DesactivateMessageModel = BaseModel.extend({\n url: function() {\n var url = Configuration.restRoot + \"/rest/utilitaire/messages/famille/\" + encodeURIComponent(this.famille) + \"/code/\" + encodeURIComponent(this.numero) + \"/desactive\";\n return url;\n }\n});","import { DesactivateMessageModel } from 'core/models/desactivateMessage.model.js';\nimport { HabilitationContext } from 'core/models/habilitationContext.js';\nimport { GLOBAL_DATA } from '../globalData.js';\nimport { i18n } from '../i18n.js';\nimport { SESSION } from './session.js';\nimport { STR } from './str.js';\n\n/**\n * User messages manager\n */\nexport var MSGS = {\n\n /**\n * Confirm the family, number and usecase.\n *\n */\n confirmMessage: function(opt, options) {\n var casesArray = [\n { famille: \"GT\", numero: 1496, usecase: \"utilisateur\" },\n { famille: \"GT\", numero: 1496, usecase: \"habr\" },\n { famille: \"GT\", numero: 1496, usecase: \"habg\" },\n { famille: \"GT\", numero: 1496, usecase: \"habp\" },\n { famille: \"GT\", numero: 1932, usecase: \"suivicollab\" }\n ];\n\n if (!STR.isBlank(options) && !STR.isBlank(options.headers) && !STR.isBlank(options.headers[\"gfi-context\"]) && !STR.isBlank(JSON.parse(options.headers[\"gfi-context\"]).onglet)) {\n var onglet = JSON.parse(options.headers[\"gfi-context\"]).onglet;\n } else {\n return false;\n }\n\n for (var i = 0; i < casesArray.length; i++) {\n if ((opt.famille === casesArray[i].famille) && (opt.numero === casesArray[i].numero) && (onglet === casesArray[i].usecase)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Show a info message to the user\n *\n */\n showInfo: function(str) {\n var rgaa = false;\n var theme = _.clone(GLOBAL_DATA.theme);\n if (theme.get(\"preferences\") && !STR.isBlank(theme.get(\"preferences\")[0]) && theme.get(\"preferences\")[0].varchar1 === 'contrast.theme') {\n rgaa = true;\n }\n var text = str;\n var timeout = 6000; // millis\n var id = _.uniqueId(\"dialogShowInfo\");\n var $div = $(\"

\").attr(\"id\", id);\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(text);\n if (rgaa === true) {\n $p = $(\"

\").addClass(\"phx-msgs-body-rgaa\").html(text);\n }\n $div.append($p);\n $(\"body\").prepend($div);\n return $(\"#\" + id).dialog({\n dialogClass: \"ui-dialog-showInfo ui-state-highlight\",\n height: \"auto\",\n width: \"auto\",\n maxHeight: 200,\n maxWidth: 800,\n minHeight: 100,\n minWidth: 400,\n draggable: false,\n resizable: false,\n closeText: i18n.t('common:close'),\n position: {\n my: \"right bottom\",\n at: \"right bottom\",\n of: \"#phx-container\"\n },\n create: function() {\n var $parent = $(this).parent();\n $parent.removeClass(\"ui-corner-all\");\n $parent.find(\".ui-dialog-titlebar\").removeClass(\"ui-corner-all\");\n // apply unique styling\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-titlebar-close\").addClass(\"ui-state-highlight\");\n },\n open: function() {\n window.setTimeout(function() {\n $(\"#\" + id).dialog('close');\n }, timeout);\n },\n close: function() {\n $(this).dialog(\"destroy\");\n $(this).remove();\n }\n });\n },\n\n /**\n * Show a warning message to the user\n *\n */\n showWarning: function(str, callback, noShowAgainButton, noShowAgainId) {\n if (noShowAgainButton == true && SESSION.get(noShowAgainId) == true) {\n if (!STR.isBlank(callback)) {\n callback();\n }\n return null;\n } else {\n var rgaa = false;\n var theme = _.clone(GLOBAL_DATA.theme);\n if (theme.get(\"preferences\") && !STR.isBlank(theme.get(\"preferences\")[0]) && theme.get(\"preferences\")[0].varchar1 === 'contrast.theme') {\n rgaa = true;\n }\n var text = str;\n var icon = \"\";\n var id = _.uniqueId(\"dialogShowWarning\");\n var $div = $(\"

\").attr(\"id\", id);\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(icon + text);\n if (rgaa === true) {\n $p = $(\"

\").addClass(\"phx-msgs-body-rgaa\").html(icon + text);\n }\n $div.append($p);\n if (noShowAgainButton == true) {\n var noShowAgain = $(\"

\" + i18n.t('common:neplusaff') + \"');\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-titlebar\").addClass(\"ui-state-highlight\");\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-titlebar-close\").addClass(\n \"ui-state-highlight\");\n },\n close: function(event) {\n if (noShowAgainButton == true) {\n SESSION.set(noShowAgainId, $(event.target).find(\"[name=neplusaff]\").is(\":checked\"));\n }\n if (!STR.isBlank(callback)) {\n callback();\n }\n $(this).dialog(\"destroy\");\n $(this).remove();\n }\n });\n }\n },\n\n /**\n * Show a info message to the user in a center popup\n *\n */\n showInfoOpt: function(str, callback, noShowAgainButton, noShowAgainId) {\n if (noShowAgainButton == true && SESSION.get(noShowAgainId) == true) {\n if (!STR.isBlank(callback)) {\n callback();\n }\n return null;\n } else {\n var rgaa = false;\n var theme = _.clone(GLOBAL_DATA.theme);\n if (theme.get(\"preferences\") && !STR.isBlank(theme.get(\"preferences\")[0]) && theme.get(\"preferences\")[0].varchar1 === 'contrast.theme') {\n rgaa = true;\n }\n var text = str;\n var icon = \"\";\n var id = _.uniqueId(\"dialogShowWarning\");\n var $div = $(\"
\").attr(\"id\", id);\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(icon + text);\n if (rgaa === true) {\n $p = $(\"

\").addClass(\"phx-msgs-body-rgaa\").html(icon + text);\n }\n\n $div.append($p);\n if (noShowAgainButton == true) {\n var noShowAgain = $(\"

\" + i18n.t('common:neplusaff') + \"');\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-titlebar\").addClass(\"ui-state-highlight\");\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-titlebar-close\").addClass(\n \"ui-state-highlight\");\n },\n close: function(event) {\n if (noShowAgainButton == true) {\n SESSION.set(noShowAgainId, $(event.target).find(\"[name=neplusaff]\").is(\":checked\"));\n }\n if (!STR.isBlank(callback)) {\n callback();\n }\n $(this).dialog(\"destroy\");\n $(this).remove();\n }\n });\n }\n },\n\n /**\n * Show an error message to the user\n *\n */\n showError: function(str, callback) {\n var rgaa = false;\n var theme = _.clone(GLOBAL_DATA.theme);\n\n if (!STR.isBlank(theme)) {\n if (theme.get(\"preferences\") && !STR.isBlank(theme.get(\"preferences\")[0]) && theme.get(\"preferences\")[0].varchar1 === 'contrast.theme') {\n rgaa = true;\n }\n }\n var text = str;\n var icon = \"\";\n var id = _.uniqueId(\"dialogShowError\");\n var $div = $(\"
\").attr(\"id\", id);\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(icon + text);\n if (rgaa === true) {\n $p = $(\"

\").addClass(\"phx-msgs-body-rgaa\").html(icon + text);\n }\n $div.append($p);\n $(\"body\").prepend($div);\n\n return $(\"#\" + id).dialog({\n dialogClass: \"ui-dialog-showError\",\n width: 500,\n modal: true,\n title: i18n.t('common:msgs_error_title'),\n closeText: i18n.t('common:close'),\n buttons: [{\n autofocus: true,\n text: i18n.t('common:close'),\n click: function() {\n $(this).dialog(\"close\");\n }\n }],\n create: function() {\n var $parent = $(this).parent();\n $parent.removeClass(\"ui-corner-all\");\n $parent.find(\".ui-dialog-titlebar\").removeClass(\"ui-corner-all\");\n // apply unique styling\n $(this).parents(\".ui-dialog:first\").find(\".ui-dialog-content span.ui-icon\").wrap(\n '

');\n },\n close: function() {\n if (!STR.isBlank(callback)) {\n callback();\n }\n $(this).dialog(\"destroy\");\n $(this).remove();\n }\n });\n },\n\n /**\n * Show a message to the user requiring confirmation\n *\n * \t\t\t\t\t\t\t\t true = 3 buttons yes/no/cancel\n * \t\t\t\t\t\t\t\ttrue = 1 button\n */\n showConfirm: function(str, callback, tributton, optionsText, oneButton) {\n var text = str;\n var id = _.uniqueId(\"dialogShowConfirm\");\n var $div = $(\"
\").attr(\"id\", id);\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(text);\n $div.append($p);\n $(\"body\").prepend($div);\n\n var btn = [{\n text: (optionsText ? (optionsText.yes ? optionsText.yes : i18n.t('common:yes')) : i18n.t('common:yes')),\n click: function() {\n $(this).dialog(\"close\");\n callback(\"Y\");\n }\n }];\n if (tributton) {\n btn.push({\n text: (optionsText ? (optionsText.no ? optionsText.no : i18n.t('common:no')) : i18n.t('common:no')),\n click: function() {\n $(this).dialog(\"close\");\n callback(\"N\");\n }\n });\n }\n if (!_.isBoolean(oneButton) || !oneButton) {\n btn.push({\n autofocus: true,\n text: (optionsText ? (tributton ? (optionsText.cancel ? optionsText.cancel : i18n.t('common:cancel')) :\n (optionsText.no ? optionsText.no : i18n.t('common:cancel'))) : i18n.t('common:cancel')),\n click: function() {\n $(this).dialog(\"close\");\n callback(\"C\");\n }\n });\n }\n\n return $(\"#\" + id).dialog({\n title: i18n.t('common:msgs_confirm_title'),\n dialogClass: \"ui-dialog-showConfirm\",\n width: 500,\n modal: true,\n buttons: btn,\n closeText: i18n.t('common:close'),\n create: function() {\n var $parent = $(this).parent();\n $parent.removeClass(\"ui-corner-all\");\n $parent.find(\".ui-dialog-titlebar\").removeClass(\"ui-corner-all\");\n },\n close: function() {\n $(this).dialog(\"destroy\");\n $(this).remove();\n }\n });\n },\n\n /**\n * Show a message of notification\n *\n */\n showNotification: function(notification, callback, options) {\n var id = _.uniqueId(\"dialogShowNotification\");\n\n // set notification icon\n var image = \"\";\n switch (notification.icone) {\n case \"!\":\n image = \"\";\n break;\n case \"?\":\n image = \"\";\n break;\n case \"X\":\n image = \"\";\n break;\n default:\n }\n\n // set notification title\n var title = \"\";\n var dialogClass = \"ui-state-highlight\";\n\n var rgaa = false;\n var theme = _.clone(GLOBAL_DATA.theme);\n if (theme.get(\"preferences\") && !STR.isBlank(theme.get(\"preferences\")[0]) && theme.get(\"preferences\")[0].varchar1 === 'contrast.theme') {\n rgaa = true;\n }\n\n switch (notification.titre) {\n case \"i18n_error\":\n title = i18n.t('common:error');\n dialogClass = rgaa === false ? \"ui-state-error\" : \"ui-state-error-rgaa\";\n break;\n case \"i18n_alert\":\n title = i18n.t('common:alert');\n dialogClass = rgaa === false ? \"ui-state-error\" : \"ui-state-error-rgaa\";\n break;\n case \"i18n_information\":\n title = i18n.t('common:information');\n dialogClass = rgaa === false ? \"ui-state-highlight\" : \"ui-state-highlight-rgaa\";\n break;\n case \"i18n_confirmation\":\n title = i18n.t('common:confirmation');\n dialogClass = rgaa === false ? \"ui-state-showConfirm\" : \"ui-state-showConfirm-rgaa\";\n break;\n case \"i18n_question\":\n title = i18n.t('common:question');\n dialogClass = rgaa === false ? \"ui-state-highlight\" : \"ui-state-highlight-rgaa\";\n break;\n default:\n title = notification.titre;\n break;\n }\n\n var $div = $(\"

\").attr(\"id\", id).attr(\"title\", title);\n $div.append(image);\n\n var $p = $(\"

\").addClass(\"phx-msgs-body\").html(notification.message);\n if (rgaa === true) {\n $p = $(\"

\").addClass(\"phx-msgs-body-rgaa\").html(notification.message);\n }\n $div.append($p);\n var check = this.confirmMessage(notification, options);\n\n if (check) {\n var noShowAgain = $(\"

\" + i18n.t('common:neplusaff') + \"= 9 && key <= 45) || (key >= 91 && key <= 93) || (key >= 112 && key <= 222)) {\n return;\n }\n }\n var target = event.target;\n var className = target.className.split(\" \")[0];\n // trigger event to notify form has been edited\n this.model.trigger(\"form:edited\", className + \" > \" + target.value);\n },\n\n _manageMode: function() {\n var newMode = this.model.get(\"mode\");\n if (!_.contains([\"E\", \"C\"], newMode)) {\n throw new Error(\"Mode not supported in Form : \" + newMode);\n }\n this._enablePk(newMode === \"C\");\n },\n\n _enablePk: function(enabled) {\n if ((STR.isBlank(this.pkSelectors) || this.pkSelectors.length <= 0) && Configuration.development === true) {\n throw new Error(\"The form view have to be pkSelector setted correctly\");\n }\n\n var size = this.pkSelectors.length;\n for (var i = 0; i < size; i++) {\n var fieldset = this._getFieldset();\n var fieldName = this.pkSelectors[i].replace(\".\", \"\\\\.\");\n var input = fieldset.find(\":input.\" + fieldName);\n var label = fieldset.find(\"label[for=\" + fieldName + \"],label[for^=\" + fieldName + \"_uid_]\");\n var inputsNumber = input.length;\n for (var j = 0; j < inputsNumber; j++) {\n FORMS.setFieldReadonly(input.eq(j), !enabled, false);\n }\n if (enabled) {\n label.addClass('required');\n } else {\n label.removeClass('required');\n }\n\n }\n },\n\n _getFieldset: function() {\n return $(this.el).find(\"fieldset\");\n },\n\n _mapModelToForm: function(fieldset, model, renderers, avoidLinkingLabels) {\n var typeRenderers = {};\n var self = this;\n var typeClasses = TYPE.supportedClass;\n var i = 0;\n var isReadonly = false;\n var l_type = this.$el.find(typeClasses);\n var typeClass = [];\n var formatMask = [];\n var l_findInput = fieldset.find(\":input\");\n\n for (i = 0; i < l_type.length; i++) {\n var it = l_type[i];\n var attrName = it.className.split(\" \")[0];\n var typeClassesArray = typeClasses.replace(/[\\.,]/g, \"\").split(\" \"); // eslint-disable-line\n\n typeClass[attrName] = _.find(typeClassesArray, function(type) { // eslint-disable-line\n return $(it).hasClass(type);\n }, this);\n\n if (!STR.isBlank(self.typeFormatByClass) && !STR.isBlank(self.typeFormatByClass[attrName])) { //TypeCustom\n formatMask[attrName] = self.typeFormatByClass[attrName];\n typeRenderers[attrName] = function(a_typeClass, v, a_formatMask) {\n return TYPE._getTypeByTypeClass(a_typeClass).format(v, a_formatMask);\n };\n } else { //Other types\n //typeRenderers[attrName] = function(v){return TYPE._getTypeByTypeClass(typeClass).format(v);};\n if (self.typeMaskByClass && self.typeMaskByClass[attrName]) {\n formatMask[attrName] = TYPE._getFormatByCode(self.typeMaskByClass[attrName]);\n typeRenderers[attrName] = function(a_typeClass, v, a_formatMask) {\n return TYPE._getTypeByTypeClass(a_typeClass).format(v, a_formatMask);\n };\n } else {\n typeRenderers[attrName] = function(a_typeClass, v) {\n return TYPE._getTypeByTypeClass(a_typeClass).format(v);\n };\n }\n }\n }\n for (i = 0; i < l_findInput.length; i++) {\n var element = l_findInput[i];\n var domEl = $(element);\n var name = domEl.attr(\"class\").split(\" \")[0];\n var value = STR.getElValue(model, name);\n var label = fieldset.find(\"label[for='\" + name + \"']\");\n\n // Apply original renderer\n if (!_.isUndefined(renderers) && !_.isNull(renderers) && renderers[name]) {\n value = renderers[name](value, model);\n }\n // Apply type renderer\n if (!_.isUndefined(typeRenderers) && !_.isNull(typeRenderers) && typeRenderers[name]) {\n var l_formatMask = \"\";\n\n if (!STR.isBlank(self.typeFormatByClass) && !STR.isBlank(self.typeFormatByClass[name])) {\n l_formatMask = self.typeFormatByClass[name];\n } else if (self.typeMaskByClass && self.typeMaskByClass[name]) {\n l_formatMask = TYPE._getFormatByCode(self.typeMaskByClass[name]);\n }\n if (domEl.hasClass(\"infinityDate\")) {\n value = TYPE.DATE.manageInfinity(value, l_formatMask);\n } else {\n if (!STR.isBlank(formatMask[name])) {\n value = typeRenderers[name](typeClass[name], value, formatMask[name], model);\n } else {\n value = typeRenderers[name](typeClass[name], value, model);\n }\n }\n }\n\n // Get the viewRef of an input\n var viewRef = domEl.prop(\"viewRef\");\n if (element.type === \"select-one\" || element.type === \"textarea\") {\n //Select case\n domEl.val(value);\n\n fieldset.find(\"span.\" + name.replace(/\\./g, \"\\\\.\")).remove();\n\n isReadonly = domEl.attr(\"readonly\") === \"readonly\";\n if (isReadonly) {\n // replace readonly field by span field and hide the readonly field\n if (element.type === \"select-one\") {\n FORMS.setSelectFieldReadonly(fieldset, name, true);\n }\n if (element.type === \"textarea\") {\n //FORMS.setTextareaFieldReadonly(fieldset, name, true);\n }\n if (!STR.isBlank(label) && label.length > 0 && isReadonly === true && label.hasClass(\"required\")) {\n label.removeClass(\"required\");\n }\n }\n } else if (viewRef && viewRef.isComboBoxView2) {\n if (viewRef.multiselection === false) {\n var tempValue = value;\n if (!_.isObject(value)) {\n tempValue = { code: value };\n var nameFragments = name.split(\".\");\n nameFragments.pop(); // I remove the last part of the name\n var simpleClassName = nameFragments.join(\".\");\n var obj = STR.getElValue(model, simpleClassName);\n if (obj) {\n tempValue = _.extend(tempValue, obj);\n }\n }\n viewRef.setItem(tempValue);\n } else {\n viewRef.setItems(value);\n }\n } else if (viewRef && viewRef.isRadioBoxView) {\n if (domEl.val() === value) {\n viewRef.manageAdditionalViewState(value);\n }\n domEl.val([value]);\n } else if (viewRef && viewRef.isSelecteurActivitesView) {\n //For selecteur d'activites do nothing, it should be managed by usecase\n } else {\n //other fields case\n switch (domEl.attr(\"type\")) {\n case \"text\":\n domEl.val(value);\n isReadonly = domEl.attr(\"readonly\") === \"readonly\";\n FORMS.setInputFieldReadonly(fieldset, name, isReadonly);\n if (!STR.isBlank(label) && label.length > 0 && isReadonly === true && label.hasClass(\"required\")) {\n label.removeClass(\"required\");\n }\n break;\n case \"checkbox\":\n domEl.val([value]);\n break;\n case \"radio\":\n domEl.val([value]);\n break;\n case \"number\":\n domEl.val([value]);\n break;\n default:\n //Nothing\n }\n }\n }\n //Accessibility\n if (!avoidLinkingLabels) {\n if (this instanceof FormView && !(this.isEditedRowView)) {\n FORMS.linkLabelsToInputs(fieldset);\n }\n }\n this.disableClickOnReadonlyCheckbox();\n this._panelStateRender(fieldset);\n },\n\n disableClickOnReadonlyCheckbox: function() {\n this.$el.find(\"[type=checkbox]\").off(\".readonlyCheck\");\n this.$el.find(\"[type=checkbox]\").on(\"click.readonlyCheck\", function(e) {\n if ($(e.target).is(\"[readonly]\")) {\n e.preventDefault();\n }\n e.stopPropagation();\n });\n },\n\n _showValidationErrors: function(model, errors, focusField) {\n LOG.debug(\"ERROR saving...\" + JSON.stringify(errors));\n if (errors && _.has(errors, \"errorValidation\")) {\n if (_.has(errors, \"errors\")) {\n var fieldErrors = errors.errors;\n FORMS.showErrors($(this.el), fieldErrors);\n if (focusField && focusField instanceof String) {\n this.$el.find(\":input.ui-state-error.\" + focusField).eq(0).focus();\n } else {\n this.$el.find(\":input.ui-state-error\").eq(0).focus();\n }\n }\n }\n },\n\n _cleanValidationErrors: function() {\n FORMS.cleanErrors($(this.el));\n },\n\n _manageFormVisibility: function() {\n var model = this._getModel();\n if (STR.isBlank(model)) {\n this.$el.hide();\n } else {\n this.$el.show();\n }\n },\n\n _panelStateIsReadonly: function() {\n var model = this._getModel();\n var isReadOnly = false;\n\n if (model && model.getHabContext && model.getHabContext()) {\n var canUpdate = HABILITATION.canUpdate(model.getHabContext().get(\"fonc_cour\"));\n isReadOnly = !canUpdate && !model.isNew();\n } else if (model && model.getHabContext && STR.isBlank(model.getHabContext()) === true) {\n LOG.debug(\"Error in model. Habilitations not assigned.\");\n }\n return isReadOnly;\n },\n\n _panelStateRender: function(fieldset) {\n var isReadonly = this._panelStateIsReadonly();\n\n if (fieldset.has(\"input\")) {\n FORMS.setFormReadonly(fieldset, isReadonly, true);\n } else {\n FORMS.setFormReadonly(this.$el, isReadonly, true);\n }\n\n // add special fields manually (tables, combos, ...)\n this._panelStateRenderCustomFields(isReadonly);\n },\n\n _panelStateRenderCustomFields: function() {\n // override with custom readonly sentences.\n }\n\n});\n","import { i18n } from '../../i18n.js';\nimport { LOG } from '../../utils/log.js';\nimport { objs } from '../../objectsRepository.js';\nimport { SplitPanelView } from '../layouts/splitPanel.view.js';\nimport { STR } from '../../utils/str.js';\n\nexport var DialogView = Backbone.View.extend({\n\n //REVIEW: \ti18n : phx.i18n.common,\n className: \"phx-Dialog\",\n\n initialize: function(options) {\n this.dialog = null;\n this.model = new Backbone.Model();\n this.dialogTemplate = \"\";\n this.dialogClass = \"\";\n this.height = 400;\n this.width = 300;\n this.minHeight = 150;\n this.minWidth = 150;\n this.data = {};\n this.position = {};\n this.title = \"\";\n if (options) {\n if (options.view) {\n this.view = options.view;\n }\n if (options.viewData) {\n this.viewData = options.viewData;\n }\n if (options.viewData && !STR.isBlank(options.viewData.modal)) {\n this.modal = options.viewData.modal;\n } else {\n this.modal = true;\n }\n if (options.viewData && !STR.isBlank(options.viewData.appendTo)) {\n this.appendTo = options.viewData.appendTo;\n }\n if (options.dialogClass) {\n this.dialogClass = options.dialogClass;\n }\n }\n\n this.annuled = false;\n this.internalView = null;\n\n this.listenTo(this.model, \"dlg:open\", this.open);\n this.listenTo(this.model, \"dlg:close\", this.close);\n this.listenTo(this.model, \"dlg:resize\", this.resize);\n\n },\n\n events: {\n \"dialogbeforeclose\": \"_handleEvents\",\n \"dialogcreate\": \"_handleEvents\",\n \"dialogopen\": \"_handleEvents\",\n \"dialogfocus\": \"_handleEvents\",\n \"dialogdragStart\": \"_handleEvents\",\n \"dialogdrag\": \"_handleEvents\",\n \"dialogdragStop\": \"_handleEvents\",\n \"dialogresizeStart\": \"_handleEvents\",\n \"dialogresize\": \"_handleEvents\",\n \"dialogresizeStop\": \"_handleEvents\",\n \"dialogclose\": \"_handleEvents\"\n },\n\n setAnnuled: function(annuled) {\n this.annuled = annuled;\n },\n getAnnuled: function() {\n return this.annuled;\n },\n setWidth: function(width) {\n this.width = width;\n },\n\n setHeight: function(height) {\n this.height = height;\n },\n\n setMinWidth: function(width) {\n this.minWidth = width;\n },\n\n setMinHeight: function(height) {\n this.minHeight = height;\n },\n\n setPosition: function(position) {\n this.position = position;\n },\n\n hideCloseButton: function() {\n this.dialogClass += \" no-close\";\n },\n\n render: function() {\n\n this.dialog = $(this.el).dialog({\n modal: this.modal,\n height: this.height,\n width: this.width,\n minHeight: this.minHeight,\n minWidth: this.minWidth,\n position: this.position,\n appendTo: this.appendTo,\n closeText: i18n.t('common:close'),\n dialogClass: this.dialogClass,\n title: this.title,\n create: function() {\n var $parent = $(this).parent();\n $parent.removeClass(\"ui-corner-all\");\n $parent.find(\".ui-dialog-titlebar\").removeClass(\"ui-corner-all\");\n },\n });\n\n $.ui.dialog.prototype._focusTabbable = function() {\n //empty\n };\n\n if (!STR.isBlank(this.appendTo)) {\n this.dialog.dialog(\"widget\").draggable(\"option\", \"containment\", this.appendTo);\n }\n\n return this;\n },\n\n resize: function() {\n // Iterate all proto-resizables and change its height.\n var components = $(\".phx-proto-resizable\", this.el);\n var height = $(this.el).height();\n var dialogOffsetTop = $(this.el).offset().top;\n\n _.each(components, function(component) {\n var offsetTop = $(component).offset().top - dialogOffsetTop;\n // IF is a panel B4 adjust the size of the scroll\n if ($(component).hasClass(\"phx-panelB4\")) {\n offsetTop += SplitPanelView.prototype.SPLIT_BORDER_WIDTH;\n }\n if (offsetTop > 0) {\n $(component).height(height - offsetTop);\n }\n }, this);\n\n //CUSTOMER 170849\n if (objs.appRt != undefined) {\n objs.appRt.workflow.trigger(\"resize\");\n }\n\n },\n\n fitParent: function() {\n if (this.appendTo) {\n var containerHeight = this.appendTo.outerHeight();\n var dialogHeight = this.dialog.outerHeight();\n\n if (dialogHeight > (containerHeight - 110)) {\n this.dialog.height(containerHeight - 110);\n }\n }\n },\n\n open: function(callback) {\n // If the view already exist remove it\n this._removeInternalView();\n\n // Render the dialog only if it not exist.\n if (this.dialog) {\n this.dialog.dialog(\"open\");\n } else {\n this.render();\n }\n\n //add callback\n this.callback = callback;\n\n // render new view\n var args = _.extend({ parent: this }, this.viewData);\n this.internalView = new this.view(args);\n args = null;\n this.listenTo(this.internalView, \"all\", this._eventsBB);\n $(this.el).html(this.internalView.el);\n this.internalView.render();\n },\n\n _removeInternalView: function() {\n if (this.internalView) {\n this.stopListening(this.internalView);\n this.internalView.stopListening();\n this.internalView.$el.empty();\n this.internalView.remove();\n delete this.internalView.$el;\n delete this.internalView.el;\n this.internalView = null;\n }\n },\n\n _close: function() {\n this._removeInternalView();\n delete this.internalView;\n //call callback\n if (this.callback) {\n this.callback();\n }\n },\n\n close: function() {\n this.dialog.dialog(\"close\");\n },\n\n isOpen: function() {\n if (STR.isBlank(this.dialog)) {\n return false;\n } else {\n return this.dialog.dialog(\"isOpen\");\n }\n },\n\n _stopFocus: function() {\n // \tevent.preventDefault();\n // \tevent.stopPropagation();\n },\n\n _handleEvents: function(event, ui) {\n LOG.debug(\"dialog event:\" + event.type);\n if (event.type === \"dialogclose\") {\n this.model.trigger(\"dlg:close\", event, ui);\n this._close();\n }\n if (event.type === \"dialogresize\") {\n this.model.trigger(\"dlg:resize\", event, ui);\n }\n if (event.type === \"dialogdrag\") {\n this.model.trigger(\"dlg:drag\", event, ui);\n }\n if (event.type === \"dialogfocus\") {\n this._stopFocus(event, ui);\n }\n if (event.type === \"dialogbeforeclose\") {\n this.model.trigger(\"dlg:beforeclose\", event, ui);\n this._removeInternalView();\n }\n\n },\n\n remove: function() {\n $(this.dialog).parent().off();\n //$(this.dialog).dialog(\"destroy\");\n Backbone.View.prototype.remove.call(this);\n },\n\n /**\n * Set the title to the dialog\n */\n _setTitle: function(title) {\n if (this.dialog) {\n this.dialog.dialog(\"option\", \"title\", title);\n } else {\n this.title = title;\n }\n },\n\n /**\n * Set the title to the dialog\n */\n _setPosition: function(position) {\n this.dialog.dialog(\"option\", \"position\", position);\n }\n});","/**\n * Utility for time synchrinization\n */\nexport var SYNC = {\n\n delay: 0,\n oldDelay: 0,\n ready: false,\n delays: [],\n firstTime: true,\n\n /**\n * Method to calculate the time delay between the server time and the local\n * time.\n */\n calculateDelay: function() {\n this.delays.splice(0, this.delays.length);\n var now = SYNC.getServerDate();\n var nowUTC = now.getTime(); // By default the time in javascript is stored as UTC\n this._manageDelay(nowUTC, 1, 10);\n },\n\n /**\n * Returns the calculated delay between the time of the server and the local time.\n */\n _getDelay: function() {\n if (this.ready == true) {\n return this.delay;\n } else {\n return this.oldDelay;\n }\n },\n\n /**\n * Set the calculated delay between the time of the server and the local time.\n */\n _setDelay: function(delay) {\n this.oldDelay = this.delay;\n this.ready = false;\n this.delay = delay;\n this.ready = true;\n },\n\n /**\n * Send n calls to the server, removing the transmission time,\n * to tell the time on the server. Select the least time of transmission has\n */\n _manageDelay: function(time1UTC, i, max) {\n var self = this;\n var model = new Backbone.Model();\n model.fetch({\n url: Configuration.restRoot + \"/rest/authentification/date\",\n success: function(data) {\n var date2 = new Date();\n var time2UTC = date2.getTime(); // By default the time in javascript is stored as UTC\n var latency = (time2UTC - time1UTC) / 2;\n var delta = (data.get(\"date\") + latency) - time2UTC;\n self.delays.push(delta);\n // if is the first time set the delay immediately\n if (self.firstTime) {\n self._setDelay(delta);\n self.firstTime = false;\n }\n // if is an intermediate time, I continue.\n if (i < max) {\n var time = Math.floor((Math.random() * 3));\n window.setTimeout(function() {\n self._manageDelay(time2UTC, i + 1, 10);\n }, time);\n } else if (i == max) {\n var length = self.delays.length;\n var sum = 0;\n for (var j = 0; j < length; j++) {\n sum += self.delays[j];\n }\n self._setDelay(sum / i);\n }\n }\n });\n },\n\n /**\n * Method to get the server date in the local zone with a delay.\n *\n */\n getServerDate: function() {\n var del = this._getDelay();\n var now = new Date().getTime();\n return new Date(now + del);\n },\n\n //-----------------------------------------------\n //\n // GLOBAL DATA SYNCHRONIZATION\n //\n //-----------------------------------------------\n\n /**\n *\n */\n data: {\n lastModificationPool: new Backbone.Model(),\n\n notifyChange: function(dateType, time) {\n this.lastModificationPool.set(dateType, time);\n //\t\t\tthis.lastModificationPool.trigger(\"data_change:\"+dateType, change);\n },\n\n startListeningChanges: function(listener, dateType, method) {\n if (listener.listenTo) {\n listener.listenTo(this.lastModificationPool, \"change:\" + dateType, method);\n } else {\n throw Error(\"The listener object is not a Backbone Model or a Backbone View\");\n }\n },\n\n getLastModificationTime: function(dateType) {\n return this.lastModificationPool.get(dateType);\n }\n }\n};","import { STR } from './str.js';\n\n/**\n * ajax headers util\n */\nexport var HEADERS = {\n\n dummy: \"\",\n\n /**\n * Create 'habilitation' in the context header to the REST\n */\n habilitationContext: function(onglet, fonc_cour, nat_gest) {\n onglet || (onglet = \"\");\n fonc_cour || (fonc_cour = \"\");\n nat_gest || (nat_gest = \"\");\n\n // Support Objects as fonc_cour\n if (_.isObject(fonc_cour)) {\n fonc_cour = JSON.stringify(fonc_cour).replace(/\"/g, '\\\\\\\"');\n }\n\n return { \"gfi-context\": '{\"onglet\": \"' + onglet + '\", \"fonc_cour\": \"' + fonc_cour + '\", \"nat_gest\": \"' + nat_gest + '\"}' };\n },\n\n /**\n * Create 'population' in the context header to the REST\n */\n populationContext: function(popId, popType, popCode, popNat, popDesc) {\n var populationContext = { \"gfi-population\": '{\"id\": \"' + popId + '\", \"type\": \"' + popType + '\"' };\n if (!STR.isBlank(popCode)) {\n populationContext[\"gfi-population\"] += ', \"code\": \"' + popCode + '\"';\n }\n if (!STR.isBlank(popNat)) {\n populationContext[\"gfi-population\"] += ', \"nature\": \"' + popNat + '\"';\n } else {\n populationContext[\"gfi-population\"] += ', \"nature\": \"\"';\n }\n if (!STR.isBlank(popDesc)) {\n populationContext[\"gfi-population\"] += ', \"desc\": \"' + popDesc + '\"';\n }\n populationContext[\"gfi-population\"] += '}';\n return populationContext;\n\n // return { \"gfi-population\": '{\"id\": \"' + popId + '\", \"type\": \"' + popType + '\", \"nature\": \"' + popNat + '\", \"desc\": \"' + popDesc + '\"}' };\n },\n\n /**\n * Create 'ecran' in the context header to the REST\n */\n ecranContext: function(ecran) {\n return { \"gfi-ecran\": '\"' + ecran + '\"' };\n },\n\n /**\n * Create 'version' in the context header to versioning the REST services.\n */\n versionContext: function(version) {\n return { \"Accept\": 'application/vnd.gfi-chronotime.v' + version + '+json' };\n },\n\n simulationContext: function(code, datedeb, datefin, preel, vuejourneedate) {\n //var l_rtn = { \"gfi-simulation\" : '{\"id\": \"' + code + '\", \"dated\": \"' + datedeb + '\", \"datef\": \"' + datefin + '\"}'};\n var dateconsult = !STR.isBlank(vuejourneedate) ? (', \"dateconsult\": \"' + vuejourneedate + '\"') : \"\";\n\n var l_rtn = { \"gfi-simulation\": '{\"id\": \"' + code + '\", \"dated\": \"' + datedeb + '\", \"datef\": \"' + datefin + '\", \"passreel\": \"' + (preel ? preel : false) + '\"' + dateconsult + '}' };\n\n return l_rtn;\n }\n\n};\n","import { AutocompleteColl } from './autocomplete.collection.js';\nimport { ComboBox2ResultItemView } from './comboBox2ResultItem.view.js';\nimport { FORMS } from '../../../utils/forms.js';\nimport { LOG } from '../../../utils/log.js';\nimport { STR } from '../../../utils/str.js';\nimport { UTILS } from '../../../utils/utils.js';\n\nexport var ComboBoxView2 = Backbone.View.extend({\n\n /** Mark to use like instanceof */\n isComboBoxView2: true,\n\n dummy: \"\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"div\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-combobox phx-list-builder\",\n\n /**\n * Alias for the common messages to show in this view\n */\n //REVIEW: \ti18n : phx.i18n.common,\n\n /**\n * Indicator of the multiselection functionality\n */\n multiselection: false,\n\n /**\n * Indicator of the readonly mode\n */\n readonly: false,\n\n events: {\n \"click .phx-combobox-button\": \"_buttonSearch\",\n \"click .phx-combobox-input:not([readonly])\": \"_inputSearch\",\n \"autocompleteselect\": \"_storeValue\",\n \"autocompletefocus\": \"_focus\",\n \"keydown :not([readonly]):not([disabled])\": \"_keyDownEvent\"\n },\n\n /**\n * Constructor\n * ComboBox2 components to lazy load the information\n */\n initialize: function(params) {\n\n // set the collection used to retrieve the data\n this.coll = params.ws;\n this.enum = params.enum;\n\n // class name\n this.name = params.name;\n\n // if true removes the blank option\n this.required = false;\n if (_.isBoolean(params.required)) {\n this.required = params.required;\n }\n //autreText for the required option\n this.autreText = params.autreText;\n //cas spécial: disableEmptyItem\n this.disableEmptyItem = false;\n if (!STR.isBlank(params.disableEmptyItem) && STR.isBlank(this.autreText)) {\n //Seuelement lorsque il n'avait pas de valeur dans \"autreText\", on appliquera la valeur de disableEmptyItem\n this.disableEmptyItem = params.disableEmptyItem;\n }\n //if autocomplete mode is allowed, component uses search term to filter results in WS\n this.autocompleteMode = false;\n if (_.isBoolean(params.autocomplete)) {\n this.autocompleteMode = params.autocomplete;\n }\n if (this.coll && this.autocompleteMode === true && !this.coll.applyFilter) {\n LOG.debug(\"You must define a collection to allow autocomplete\");\n }\n this.optionsRender = params.optionsRender;\n\n if (!this.optionsRender) {\n this.optionsRender = function(item) {\n return ((item) ? item.libelle : \"\");\n };\n }\n //Input renderer: optional parameter to determine how to show the option selected in the input\n this.inputRender = params.inputRender;\n if (!this.inputRender) {\n this.inputRender = this.optionsRender;\n }\n\n this.width = params.width;\n this.height = params.height;\n\n // externalErrorContainer : if an external error container is defined for this component we\n // do not add out internal error container\n this.useExternalErrorContainer = false;\n if (_.isBoolean(params.useExternalErrorContainer)) {\n this.useExternalErrorContainer = params.useExternalErrorContainer;\n } else if (params.useExternalErrorContainer) {\n throw new Error(\"Parameter 'useExternalErrorContainer' should be a boolean \");\n }\n\n // used to share the combos results between differents combos (example in Motif absence --> droits panel)\n if (params.externalCache) {\n this.syncExternalCache = true;\n this.cache = params.externalCache;\n } else {\n this.syncExternalCache = false;\n this.cache = {};\n }\n\n if (_.isBoolean(params.syncExternalCache)) {\n this.syncExternalCache = params.syncExternalCache;\n }\n\n // if autocompleteMode == true, the external cache is not allowed\n if (this.autocompleteMode === true) {\n this.syncExternalCache = false;\n this.cache = {};\n }\n\n this.cache[\"pendingInUse\"] = this.cache[\"pendingInUse\"] || [];\n this.term = \"\";\n\n // used to iterate thru the list of result starting with the same letter\n this.delay = 500;\n this.selectLetter = [];\n this.searchLetters = \"\";\n\n if (params && params.habContext) {\n this.habilitationContext(params.habContext);\n }\n\n if (params && params.multiselection) {\n this.multiselection = params.multiselection;\n }\n\n if (this.multiselection === true) {\n // called with the selected items\n /**\n * Callback function to be executed when a new item is added to the list\n */\n this.addItemCallback = params.addItemCallback;\n\n /**\n * Callback function to be executed when a new item is removed from the list\n */\n this.removeItemCallback = params.removeItemCallback;\n\n // response list filled with user selection\n /**\n * Current selection in the list\n */\n this.selection = new AutocompleteColl();\n this.selection.on(\"click:item\", this._removeItem, this);\n this.selection.on(\"reset\", this._resetItems, this);\n }\n\n if (params && params.preprocessBeforeSetItem) {\n this.preprocessBeforeSetItem = params.preprocessBeforeSetItem;\n }\n\n if (params._isValidComboId) {\n this._isValidComboId = params._isValidComboId;\n }\n\n this.keepOldId = null;\n if (params && params.keepOldId) {\n this.keepOldId = params.keepOldId;\n }\n },\n\n render: function() {\n var self = this;\n this.$el.empty();\n\n // make input\n var div = $(\"
\");\n\n this.input = $(\"\");\n this.input.addClass(this.name);\n this.input.addClass(\"phx-combobox-input\");\n this.input.prop(\"viewRef\", this);\n\n if (!STR.isBlank(this.keepOldId)) {\n this.input.attr(\"id\", this.keepOldId);\n }\n\n div.append(this.input);\n\n if (this.autocompleteMode !== true) {\n this.input.css(\"cursor\", \"default\");\n }\n self.appended = false;\n $(this.input).autocomplete({\n minLength: 0,\n appendTo: null,\n position: { collision: 'flipfit' },\n open: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n menu.activeMenu.addClass(\"phx-combobox\");\n //\t\t\t\tmenu.activeMenu.css('z-index', 110);\n //\t\t\t\tvar currentZIndex=$(self.input).zIndex();\n //\t\t\t\tmenu.activeMenu.css('z-index', currentZIndex+1);\n var code = $(self.input).prop(\"data-code\");\n\n if (self.multiselection === true && !STR.isBlank(code)) {\n code = undefined;\n }\n\n if (!STR.isBlank(code) && !self.searching) {\n var codeSel = code.toString().replace(/ /g, \"\\\\ \"); //To let selecting codes that contain spaces\n codeSel = codeSel.replace(\"*\", \"\\\\*\");\n var element = $(menu.element).find(\"[data-value=\" + UTILS.escapeJQueryString(codeSel) + \"]\");\n if (element && element.length > 0) {\n menu.focus(null, element);\n }\n }\n return false;\n },\n close: function() {\n $(document).off(\"wheel.\" + self.cid);\n $(document).off(\"mousedown.\" + self.cid);\n this.searching = false;\n\n $(this).data('ui-autocomplete').term = null;\n if (self.cache[\"current\"] && self.autocompleteMode === true) {\n self._setItem(self.cache[\"current\"].attrs);\n }\n\n if (self.multiselection === true) {\n self._setInputValue(\"\");\n }\n return false;\n },\n focus: function(event, ui) {\n if (ui && ui.item) {\n self._renderColorComboChange(ui.item.attrs);\n }\n return false;\n },\n\n create: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n\n // customer 161771 /* if ($('html').is('.ie6, .ie7, .ie8, .ie9')) {$(menu.activeMenu).css(\"position\",\"relative\")}else */;\n $(menu.activeMenu).css(\"position\", \"fixed\");\n $(this).data('ui-autocomplete')._renderItem = function(ul, item) {\n return self._renderItem(this, ul, item);\n };\n $(this).data('ui-autocomplete')._resizeMenu = function() {\n var lis = this.menu.element.find(\"li\");\n var padding = parseInt(this.menu.element.css(\"padding-left\").replace(\"px\", \"\")) + parseInt(this.menu.element.css(\"padding-right\").replace(\"px\", \"\"));\n var size = lis.length;\n var minWidth = 20;\n //Generate a mirror to measure each element's width\n //We don't use the function getWidthFromMirror because it is very slow to create and delete so many spans for IE9\n var mirror = $('');\n $(\"body\").append(mirror);\n for (var i = 0; i < size; i++) {\n mirror.text(lis.eq(i).text());\n $.each(['fontFamily', 'fontSize', 'fontWeight', 'fontStyle', 'letterSpacing', 'textTransform', 'wordSpacing', 'textIndent'], function(i, val) {\n mirror[0].style[val] = lis.eq(i).css(val);\n });\n var currentWith = mirror.width();\n currentWith += padding;\n if (currentWith > minWidth) {\n minWidth = currentWith;\n }\n }\n mirror.remove(); //Remove mirror once it has been used to calculate width of each line\n\n minWidth += 12;\n if (size > 20) {\n minWidth += 14; // adjusted to show the scroll\n }\n // adjust the size of the elements, to the size of the combo.\n var l_tmpWidth = $(\"
\").width(self.width); //pour faire les conversions de \"auto\", \"100%\", \"300px\" et \"1em\" à les mêmes unités que minWidth\n /*customer 205285*/\n var l_tmpWidthContainer = self.$el.find(\".phx-combobox-content\").width();\n\n if (l_tmpWidth !== 0 && minWidth < (l_tmpWidth.width() - 3)) {\n minWidth = l_tmpWidth.width() - 3;\n } else if (minWidth < l_tmpWidthContainer) {\n minWidth = l_tmpWidthContainer - 3;\n }\n\n this.menu.element.innerWidth(minWidth);\n if (self.appended === false) {\n //AppendTo option in order to let jquery recalculate z-index for each element\n $(self.input).autocomplete(\"option\", \"appendTo\", null);\n self.appended = true;\n }\n\n var tab_contaner_height = 0;\n\n $(\".ui-tabs-nav\").each(function() {\n if (tab_contaner_height < $(this)[0].offsetHeight) {\n tab_contaner_height = $(this)[0].offsetHeight;\n }\n });\n\n //Get the limit container\n var limit_container = $(\"#phx-container\");\n\n if (this.element[0] && $(this.element[0]) && limit_container && $(this.element[0]).offset()) {\n var scrollTop = $(window).scrollTop(),\n scrollBot = scrollTop + $(window).height(),\n elTop = limit_container.offset().top,\n elBottom = elTop + limit_container.outerHeight(),\n visibleTop = elTop < scrollTop ? scrollTop : elTop,\n visibleBottom = elBottom > scrollBot ? scrollBot : elBottom;\n\n this.menu.element[0].style.maxHeight = \"\"; //set default heiht\n\n var distance_from_input_to_top_container = $(this.element[0]).offset().top - (limit_container.offset().top + tab_contaner_height);\n var distance_from_input_to_buttom = (visibleBottom - visibleTop - tab_contaner_height) - distance_from_input_to_top_container;\n var height_of_select_despl = this.menu.element[0].offsetHeight;\n var height_of_the_input = this.element[0].offsetHeight;\n\n distance_from_input_to_buttom -= height_of_the_input;\n\n if (distance_from_input_to_buttom < height_of_select_despl) {\n if (distance_from_input_to_buttom > distance_from_input_to_top_container) {\n var maxHeight = distance_from_input_to_buttom - 15;\n if (maxHeight < 20) {\n maxHeight = 20;\n }\n this.menu.element[0].style.maxHeight = maxHeight + \"px\";\n } else {\n this.menu.element[0].style.maxHeight = (distance_from_input_to_top_container - 15) + \"px\";\n }\n }\n }\n };\n\n }\n });\n\n // make button\n var dropDownButton = $(\"\");\n dropDownButton.addClass(\"phx-combobox-button\");\n dropDownButton.addClass(\"ui-icon\");\n div.append(dropDownButton);\n\n if (this.autreText) {\n\n this._fetchCombo();\n // autocomplete input\n $(this.input).autocomplete(\"option\", \"source\",\n function(request, response) {\n //self.term = this.autreText;\n self.trigger(\"comboEdited\");\n self._fetchCombo(response);\n }\n\n );\n\n } else {\n\n // autocomplete input\n $(this.input).autocomplete(\"option\", \"source\",\n function(request, response) {\n self.term = \"\";\n if (self.autocompleteMode === true) {\n self.term = request.term;\n }\n if (self.term in self.cache) {\n self._updatePendingInUse(self.cache[self.term]);\n response(self._applyFilter(self.cache[self.term]));\n } else {\n if (self.coll && self.autocompleteMode === true && self.coll.applyFilter) {\n _.extend(self.coll.params, { \"search\": self.term });\n }\n self.trigger(\"comboEdited\");\n self._fetchCombo(response);\n }\n }\n );\n\n }\n\n div.width(this.width);\n this._setHeight(this.height);\n this.$el.attr(\"cid\", this.cid);\n $(this.input).attr(\"cid\", this.cid);\n dropDownButton.attr(\"cid\", this.cid);\n\n $(this.el).html(div);\n\n if (this.multiselection === true) {\n //make the result list container\n var resultList = $(\"
\");\n resultList.addClass(\"phx-list-builder-selection\");\n\n $(this.el).append(resultList);\n }\n\n if (this.useExternalErrorContainer === false) {\n var error = $(\"\");\n $(this.el).append(error);\n }\n this.delegateEvents();\n\n return this;\n },\n\n /**\n * Retrieve information from the WS for the combo\n *\n * It caches the response returned from the WS for the term used (if autocompleteMode == true)\n */\n _fetchCombo: function(response) {\n var self = this;\n\n if (this.coll && (!this.cache[this.term] || this.cache[this.term].length === 0) &&\n this._isValidComboId()) {\n\n this.coll.fetch({\n success: function(resp) {\n if (resp instanceof Backbone.Collection) {\n self.cache[self.term] = self._formatResponse(resp.models);\n } else {\n self.cache[self.term] = self._formatResponse(resp.attributes);\n }\n if (self.autreText && self.required) {\n self.cache[self.term].unshift(self._otherText());\n }\n self._updatePendingInUse(self.cache[self.term]);\n\n if (self.setItemPendingAction === true && !STR.isBlank(resp) && !STR.isBlank(resp.get(self.setItemPendingValue.code))) {\n self._setItem(self.setItemPendingValue);\n }\n if (response) {\n response(self._applyFilter(self.cache[self.term]));\n }\n },\n error: function() {\n if (response) {\n response([]);\n }\n }\n });\n } else if (this.enum && (!this.cache[this.term] || this.cache[this.term].length === 0)) {\n this.cache[this.term] = [];\n\n if (this.autreText && this.required) {\n this.cache[this.term].push(this._otherText());\n }\n if (this.required !== true && _.keys(this.enum).length > 0 && this.disableEmptyItem !== true) {\n this.cache[this.term].push(this._emptyItem());\n } //AD\n _.each(this.enum, function(item) {\n if (item.code != null) {\n this.cache[this.term].push(this._formatItem(item));\n } else {\n this.cache[this.term].push(this._emptyItem());\n }\n\n }, this);\n\n this._updatePendingInUse(this.cache[this.term]);\n\n if (this.setItemPendingAction === true) {\n this._setItem(this.setItemPendingValue);\n }\n\n if (response) {\n response(this._applyFilter(this.cache[this.term]));\n }\n } else {\n if (response) {\n response(this._applyFilter(this.cache[this.term]));\n }\n }\n },\n\n /**\n * Retrieve information from the WS for the combo\n *\n * It caches the response returned from the WS for the term used (if autocompleteMode == true)\n */\n _fetchComboPromise: function() {\n return new Promise((resolve, reject) => {\n var self = this;\n\n if (this.coll && (!this.cache[this.term] || this.cache[this.term].length === 0) &&\n this._isValidComboId()) {\n\n this.coll.fetch({\n success: function(resp) {\n if (resp instanceof Backbone.Collection) {\n self.cache[self.term] = self._formatResponse(resp.models);\n } else {\n self.cache[self.term] = self._formatResponse(resp.attributes);\n }\n if (self.autreText && self.required) {\n self.cache[self.term].unshift(self._otherText());\n }\n self._updatePendingInUse(self.cache[self.term]);\n\n if (self.setItemPendingAction === true && !STR.isBlank(resp) && !STR.isBlank(resp.get(self.setItemPendingValue.code))) {\n self._setItem(self.setItemPendingValue);\n }\n //response(self._applyFilter(self.cache[self.term]));\n resolve(self._applyFilter(self.cache[self.term]));\n },\n error: function() {\n //response([]);\n reject([]);\n }\n });\n } else if (this.enum && (!this.cache[this.term] || this.cache[this.term].length === 0)) {\n this.cache[this.term] = [];\n\n if (this.autreText && this.required) {\n this.cache[this.term].push(this._otherText());\n }\n if (this.required !== true && _.keys(this.enum).length > 0 && this.disableEmptyItem !== true) {\n this.cache[this.term].push(this._emptyItem());\n } //AD\n _.each(this.enum, function(item) {\n if (item.code != null) {\n this.cache[this.term].push(this._formatItem(item));\n } else {\n this.cache[this.term].push(this._emptyItem());\n }\n\n }, this);\n\n this._updatePendingInUse(this.cache[this.term]);\n\n if (this.setItemPendingAction === true) {\n this._setItem(this.setItemPendingValue);\n }\n\n resolve(this._applyFilter(this.cache[this.term]));\n } else {\n resolve(this._applyFilter(this.cache[this.term]));\n }\n });\n },\n\n _isValidComboId: function() {\n return true;\n },\n\n /**\n * Capture key events avoid input modification when autocompleteMode == false\n *\n */\n _keyDownEvent: function(e) {\n var self = this;\n\n if (this.shouldCloseMenu === true) {\n if ($(this.input).autocomplete(\"widget\").is(\":visible\")) {\n $(this.input).autocomplete(\"close\");\n }\n this.shouldCloseMenu = false;\n } else {\n this._registerOneMousedonwEvent();\n this._registerOneWheelEvent();\n\n if (this.autocompleteMode === true) {\n this.searching = true;\n return true;\n }\n\n var key = e.which || e.keyCode;\n\n // If ctrl + c or ctrl+v do nothing.\n if (e.ctrlKey && (key === 99 || key === 118)) {\n return true;\n }\n\n // function keys\n if (key >= 112 && key <= 123) {\n return true;\n }\n\n var passedBy = [9, 13, 27, 91, 92];\n if (_.indexOf(passedBy, key) !== -1) {\n return true;\n }\n\n this.searchLetters += String.fromCharCode(key);\n this._delay(function() {\n if (self.searchLetters !== \"\") {\n self._selectItemStartingWithLetter();\n }\n }, this.delay);\n }\n\n e.preventDefault();\n return false;\n },\n\n /**\n * Delay the call to the handler function\n *\n */\n _delay: function(handler, delay) {\n var instance = this;\n var handlerProxy = function() {\n return (typeof handler === \"string\" ? instance[handler] : handler)\n .apply(instance, arguments);\n }\n\n return setTimeout(handlerProxy, delay || 0);\n },\n\n /**\n * Selects the entries starting with the same letter as the letter received from the keyevent\n * If entries > 0 then it iterates thru them\n *\n */\n _selectItemStartingWithLetter: function() {\n var self = this;\n var baseLetter = this.searchLetters.toUpperCase();\n\n this.searchLetters = \"\";\n //customer 163495 error when type at input when none comboId is setted by this ws collection.\n if (!this._isValidComboId()) {\n return;\n }\n\n this._fetchCombo(function(list) {\n var responseIndex = -1;\n var lastIndex = -1;\n var index = 0;\n\n if (STR.isBlank(self.selectLetter[baseLetter])) {\n self.selectLetter[baseLetter] = 0;\n }\n var substringLength = baseLetter.length;\n for (var i = list.length - 1; i >= 0; i--) {\n var item = list[i];\n if (item && !STR.isBlank(item.label)) {\n var firstLetter = item.label.substr(0, substringLength).toUpperCase();\n if (baseLetter === firstLetter) {\n if (i > self.selectLetter[baseLetter]) {\n responseIndex = i;\n }\n lastIndex = i;\n }\n }\n }\n\n index = (responseIndex >= 0) ? responseIndex : lastIndex;\n\n if (index >= 0) {\n self.selectLetter[baseLetter] = index;\n self._setItem(list[index].attrs);\n $(self.input).trigger(\"change\", list[index].id);\n $(self.input).data(\"ui-autocomplete\")._trigger(\"open\");\n\n }\n });\n\n },\n\n // _buttonSearch2 : function(){\n // \tthis.$el.find(\".phx-combobox-input\").click();\n // },\n\n /**\n * This function is called when we click on the dropdown button\n *\n * It triggers the search action on the autocomplete plugin to open the dropdown menu\n *\n */\n _buttonSearch: function() {\n if (this.$el.find(\".phx-combobox-input\").is(\":not([disabled])\")) {\n if (this.shouldCloseMenu === true) {\n if ($(this.input).autocomplete(\"widget\").is(\":visible\")) {\n $(this.input).autocomplete(\"close\");\n }\n this.shouldCloseMenu = false;\n } else {\n $(this.input).autocomplete(\"search\", \"\");\n $(this.input).focus();\n this._registerOneMousedonwEvent();\n this._registerOneWheelEvent();\n }\n }\n return false;\n },\n\n /**\n * Close autocomplete dropdown when scrolling outside.\n */\n _registerOneWheelEvent: function() {\n var self = this;\n $(document).one(\"wheel.\" + this.cid, function(event) {\n self.shouldCloseMenu = false;\n\n // wheel on the list\n try {\n if ($(event.target).attr(\"id\") === $(self.input).autocomplete(\"widget\").attr(\"id\") || $(self.input).autocomplete(\"widget\").find(event.target).length > 0) {\n self._registerOneWheelEvent();\n return;\n } else if ($(self.input).autocomplete(\"widget\").find(event.target).length === 0) {\n if ($(self.input).autocomplete(\"widget\").is(\":visible\")) {\n $(self.input).autocomplete(\"close\");\n if (self.cache[\"current\"] && self.cache[\"current\"].attrs && self.multiselection === false) {\n self._renderColorComboChange(self.cache[\"current\"].attrs);\n } else if (STR.isBlank(self.currentCode)) {\n self._setInputValue(\"\");\n }\n }\n self.shouldCloseMenu = false;\n }\n } catch (e) {\n LOG.error(\"Autocomplete__registerOneWheelEvent: \" + e);\n }\n });\n },\n\n _registerOneMousedonwEvent: function() {\n var self = this;\n $(document).one(\"mousedown.\" + this.cid, function(event) {\n self.shouldCloseMenu = false;\n\n // clicked on the scroll of the list\n try {\n if ($(event.target).attr(\"id\") === $(self.input).autocomplete(\"widget\").attr(\"id\")) {\n self._registerOneMousedonwEvent();\n return;\n } else if ($(self.input).autocomplete(\"widget\").find(event.target).length === 0) {\n if ($(self.input).autocomplete(\"widget\").is(\":visible\")) {\n $(self.input).autocomplete(\"close\");\n if (self.cache[\"current\"] && self.cache[\"current\"].attrs && self.multiselection === false) {\n self._renderColorComboChange(self.cache[\"current\"].attrs);\n } else if (STR.isBlank(self.currentCode)) {\n self._setInputValue(\"\");\n }\n }\n self.shouldCloseMenu = false;\n }\n } catch (e) {\n LOG.error(\"Autocomplete__registerOneMousedonwEvent: \" + e);\n }\n\n if (self.$el.find(event.target).length > 0 && $(event.target).hasClass(\"phx-combobox-button\")) {\n if ($(self.input).autocomplete(\"widget\").is(\":visible\")) {\n self.shouldCloseMenu = true;\n }\n }\n });\n $(document).one(\"tabsactivate\", function() {\n self.shouldCloseMenu = false;\n if (!STR.isBlank($(self.input).data('ui-autocomplete'))) {\n $(self.input).autocomplete(\"close\");\n }\n });\n },\n\n /**\n * This function is called when we click on the input field and the autocompleteMode == false\n *\n * It triggers the search action on the autocomplete plugin to open the dropdown menu\n *\n */\n _inputSearch: function() {\n if (this.autocompleteMode !== true) {\n if ($(this.input).autocomplete(\"widget\").is(\":visible\")) {\n $(this.input).autocomplete(\"close\");\n } else {\n this._buttonSearch();\n }\n } else {\n $(this.input).autocomplete(\"close\");\n }\n },\n\n _focus: function(event) {\n // solve problem when mouse is over the menu but the user uses the keyboard to validate the entry\n if (typeof event.keyCode === 'undefined' || String(event.keyCode) === \"0\" || String(event.keyCode) === \"38\" || String(event.keyCode) === \"40\") {\n this.isHoverSelect = true;\n } else {\n this.isHoverSelect = false;\n }\n },\n\n /**\n * This function is called when the autocomplete plugin trigger the event \"autocompleteselect\"\n *\n * It occurs when an item from the dropdown menu is selected and trigger a \"change\" event to the application\n *\n */\n _storeValue: function(event, ui) {\n var trulyClick = false;\n\n if (event.originalEvent.originalEvent.type === \"click\") {\n trulyClick = true;\n }\n\n if (trulyClick === false && (_.isBoolean(this.isHoverSelect) && !this.isHoverSelect && typeof event.keyCode != 'undefined' && event.keycode !== 0)) {\n //just tabbed or hovered and hit enter\n event.preventDefault();\n } else {\n event.stopPropagation();\n var code = ui.item.id;\n\n // *important: trigger the change event to the parent view with the code\n // of the selected item\n this._setItem({ code: code });\n\n $(this.input).prop(\"data-code\", code);\n //if (this.multiselection == false) {\n $(this.input).trigger(\"change\", code);\n //} else {\n if (this.multiselection === true) {\n this._selectItem(event, ui);\n }\n return (String(this.currentCode) === String(code));\n }\n return false;\n },\n\n /**\n * Formats the data returned by the model or collection\n * In the case of a model, it must have at least the following attributs 'code', 'libelle'\n * In the case of a collection, you can override the function 'optionsRender' to adapt it\n * to the needed attributs\n *\n */\n _formatResponse: function(response) {\n var data = [];\n var counter = 0;\n\n var length = response.length;\n if (response && _.isObject(response)) {\n var array = $.map(response, function(value) {\n return [value];\n });\n length = array.length;\n }\n\n if (this.required !== true && length > 0) {\n data[counter] = this._emptyItem();\n counter++;\n }\n\n _.each(response, function(resp) {\n var item = this._formatItem(resp);\n if (item) {\n data[counter] = item;\n counter++;\n }\n }, this);\n\n return data;\n },\n\n _emptyItem: function() {\n var data = {};\n\n data.inUse = false;\n data.label = \"\";\n data.attrs = { code: null, libelle: \"\" };\n data.id = null;\n return data;\n },\n _otherText: function() {\n var data = {};\n\n data.inUse = false;\n if (this.autreText && this.required) {\n data.id = null;\n data.attrs = { code: null, libelle: $(\"
\").text(this.autreText).html() };\n data.label = this.autreText;\n }\n return data;\n },\n\n _formatItem: function(item) {\n var data = null;\n\n if (item instanceof Backbone.Model && !STR.isBlank(item.get(\"id\"))) {\n data = {};\n data.inUse = false;\n data.label = this.inputRender(item.attributes);\n data.attrs = item.attributes;\n data.id = item.get(\"id\");\n } else if (!STR.isBlank(item.code)) {\n data = {};\n data.inUse = false;\n data.label = this.inputRender(item);\n data.attrs = item;\n data.id = item.code;\n }\n\n return data;\n },\n\n /**\n * Search and return an item by its id from the current cache\n *\n */\n _getItemById: function(id) {\n var result = null;\n\n if (!STR.isBlank(id)) {\n var list = this.cache[this.term];\n if (list) {\n result = _.find(list, function(obj) { return String(obj.id) === String(id); });\n }\n }\n return result;\n },\n\n /**\n * Indicates if the current id is being used by this combo or another combo that shares the same cache\n *\n */\n _inUseState: function(id, inUse) {\n var item = this._getItemById(id);\n if (item) {\n item.inUse = (inUse && this.syncExternalCache);\n } else {\n this.cache[\"pendingInUse\"].push({ id: id, inUse: inUse && this.syncExternalCache });\n }\n },\n\n /**\n * 'pendingInUse' is a temporary cache that is used while no call to the underlying WS has been made\n * We use this cache to store the state of the item.\n * When a call to the WS is made this cache is cleaned and synchronized with the current cache\n *\n */\n _updatePendingInUse: function(data) {\n _.each(this.cache[\"pendingInUse\"], function(obj) {\n var item = _.find(data, function(o) {\n //return (!STR.isBlank(o.id) && !STR.isBlank(obj.id) && String(o.id) === String(obj.id));\n return (String(o.id) === String(obj.id));\n });\n if (item) {\n item.inUse = obj.inUse;\n }\n }, this);\n this.cache[\"pendingInUse\"].length = 0;\n },\n\n /**\n * Retrieve the list of items currently used by the combo or the combos that shares the same cache\n */\n inUseItems: function() {\n return _.union(_.where(this.cache[this.term], { inUse: true }), _.where(this.cache[\"pendingInUse\"], { inUse: true }));\n },\n\n setItem: function(item, callback) {\n this.clean();\n if (this.preprocessBeforeSetItem) {\n item = this.preprocessBeforeSetItem(item);\n }\n this._setItem(item, callback);\n\n if (this.multiselection === true) {\n this.selection.add([item], { parse: true });\n // paint items\n this._paintItems();\n }\n },\n\n setItems: function(items) {\n if (!STR.isBlank(items) && this.multiselection === true) {\n this.clean();\n for (var i = 0; i < items.length; i++) {\n this._setItem(items[i]);\n\n this.selection.add([items[i]], { parse: true });\n }\n // paint items\n this._paintItems();\n }\n },\n\n /**\n * Mainly used in the function mapModelToForm, it initializes the combo with the models value\n */\n _setItem: function(item, callback) {\n var code = null;\n\n this.setItemPendingAction = false;\n if (!STR.isBlank(item) && !STR.isBlank(item.code)) {\n code = item.code;\n } else if (!STR.isBlank(item) && !STR.isBlank(item.attrs)) {\n code = item.id;\n }\n\n if (item && !STR.isBlank(code)) {\n var val = this._getItemById(code);\n\n this._inUseState(this.currentCode, false);\n if (val) {\n $(this.input).prop(\"data-code\", val.id);\n this.cache[\"current\"] = val;\n this._renderColorComboChange(val.attrs);\n } else {\n if (STR.isBlank(item.libelle)) {\n this.setItemPendingAction = true;\n this.setItemPendingValue = item;\n this.fetchCombo(callback);\n } else {\n this.cache[\"current\"] = this._formatItem(item);\n this._renderColorComboChange(item);\n }\n $(this.input).prop(\"data-code\", item.code);\n }\n\n this.currentCode = code;\n this._inUseState(this.currentCode, true);\n } else {\n $(this.input).prop(\"data-code\", \"\");\n if (this.autreText) {\n this._setInputValue(this.autreText);\n } else {\n this._setInputValue(\"\");\n }\n this._removeColorClasses();\n this._inUseState(this.currentCode, false);\n this.currentCode = null;\n this.cache[\"current\"] = {};\n }\n if ($(this.input).is(\"[readonly]\")) {\n FORMS.autosizeInput(this.$el.find(\".phx-combobox-input\"));\n } else {\n FORMS.resetSizeInput(this.$el.find(\".phx-combobox-input\"));\n }\n },\n\n _setInputValue: function(value) {\n var fields = \"\";\n\n if (this.name) {\n fields = $(\".\" + this.name.replace(/\\./g, \"\\\\.\"), this.el);\n }\n _.each(fields, function(field) {\n if ($(field).is(\"span\")) {\n $(field).html(value);\n } else {\n $(field).val(value);\n }\n }, this);\n },\n\n /**\n * Called the first time to initialize the context of the combo\n */\n habilitationContext: function(context) {\n if (this.coll) {\n if (STR.isBlank(this.coll.habContext) || !_.isEqual(this.coll.habContext.toJSON(), context.toJSON())) {\n this.clearCache();\n }\n\n this.stopListening();\n this.coll.setHabContext(context);\n this.listenTo(context, \"change\", this.clearCache);\n }\n\n },\n\n /**\n * This function is used to filter the response received from the WS\n * It can be overriden thru the function 'setFilter'\n *\n */\n _filter: function(response) {\n return response;\n },\n\n /**\n * Apply the filter to the response\n *\n */\n _applyFilter: function(response) {\n var filtered = response;\n if (this._filter) {\n filtered = this._filter(response);\n }\n if (this.required && STR.isBlank(this.autreText)) {\n // we remove the empty row\n return _.filter(filtered, function(item) {\n if (STR.isBlank(item)) {\n return false;\n } else {\n return !STR.isBlank(item.id);\n }\n });\n }\n return filtered;\n },\n\n /**\n * Pass a callback to the new filter function to be used. This will replace the default '_filter' behavior.\n */\n setFilter: function(filterCallback) {\n this._filter = filterCallback;\n },\n\n /**\n * Public function to call the underlying WS of the combo\n * A callback function can be provided that will be called once the data is available\n */\n fetchCombo: function(doneCallback) {\n this._fetchCombo(doneCallback);\n },\n\n /**\n * Public function to call the underlying WS of the combo\n * A callback function can be provided that will be called once the data is available\n */\n fetchComboPromise: function() {\n return this._fetchComboPromise();\n },\n\n /**\n * Set the state of the combo, taking in account the Habilitations\n */\n enable: function(enabled, a_context) {\n var context = a_context;\n\n if (!context) {\n context = this.$el;\n }\n FORMS.setFieldReadonly(context.find(\".phx-combobox-input\"), !enabled);\n },\n\n /**\n * Enables/Disables the Combo\n */\n _enable: function(enabled) {\n $(\".phx-combobox-input\", this.$el).attr(\"readonly\", !enabled);\n $(\".phx-combobox-content\", this.$el).attr(\"readonly\", !enabled);\n $(\".phx-combobox-button\", this.$el).css(\"display\", enabled ? \"\" : \"none\");\n\n if (enabled) {\n $(\".phx-combobox-input\", this.$el).css(\"width\", \"\");\n } else {\n FORMS.autosizeInput($(\".phx-combobox-input\", this.$el));\n }\n },\n\n /**\n * Retrieve the current value of the combo\n */\n getItem: function() {\n var item = this._getItemById(this.currentCode);\n var _this = this;\n\n if (!item) {\n item = _.find(this.cache[\"pendingInUse\"], function(o) {\n return String(o.id) === String(_this.currentCode);\n });\n }\n return item;\n },\n\n getItemId: function() {\n var item = this.getItem();\n var returnedValue = null;\n\n // user invented values are not valid\n if (!STR.isBlank(item)) {\n returnedValue = item.id;\n } else {\n returnedValue = this.currentCode;\n }\n\n return returnedValue;\n },\n\n setCache: function(term, list) {\n this.term = term;\n this.cache[this.term] = this._formatResponse(list);\n },\n\n getCache: function() {\n return this.cache[this.term];\n },\n\n clearCache: function() {\n for (var i in this.cache) {\n if (this.cache.hasOwnProperty(i)) {\n this.cache[i].length = 0;\n delete this.cache[i];\n }\n }\n this.cache[\"pendingInUse\"] = this.cache[\"pendingInUse\"] || [];\n },\n\n clearColl: function() {\n if (this.coll instanceof Backbone.Collection) {\n if (this.coll._events) {\n this.coll.trigger(\"reset\");\n } else {\n //Pour rédemarrer la valeur de this.coll.pagination.size-> \"resetPagination\"\n this.coll.resetPagination();\n this.coll.reset();\n }\n } else {\n // This removes the id too\n this.coll.clear();\n }\n },\n\n /**\n * Method to do when the combo value is changed. Add the style color and background to the\n * selected value\n */\n _renderColorComboChange: function(item) {\n var bakRGB = \"\";\n var textRGB = \"\";\n var className = \"\";\n\n if (item && item.coularp) {\n if (!STR.isBlank(item)) {\n bakRGB = this._getColorRGB(item.coularp);\n textRGB = this._getColorRGB(item.coulavp);\n\n //USE CLASSNAME OR COULARP AND COULAVP, NOT BOTH\n //If component applies a class to its options to define background and text color instead of coularp and coulavp\n if (!STR.isBlank(item.className)) {\n className = item.className;\n }\n }\n $(this.el).removeClass(\"ui-phx-anomalie-bloquante ui-phx-anomalie-persistante ui-phx-anomalie-non-bloquante ui-phx-anomalie-ignoree\");\n if (!STR.isBlank(className)) {\n $(this.el).addClass(className);\n } else {\n $(this.input).css(\"color\", textRGB);\n $(this.input).css(\"background-color\", bakRGB);\n }\n }\n this._removeColorClasses();\n if (item && (item.affichage || (item.style && item.style.affichage))) {\n var affichage = (item.style && item.style.affichage) ? item.style.affichage : item.affichage;\n\n //add new color class\n $(this.input).addClass(affichage);\n }\n this._setInputValue(this.inputRender(item));\n },\n\n /**\n * Removes the color classes in the combo\n */\n _removeColorClasses: function() {\n //Delete all the color classes\n if ($(this.input) && $(this.input).length > 0) {\n var classes = $(this.input)[0].className.split(\" \").filter(function(c) {\n return (c.lastIndexOf(\"ui-phx-color\", 0) !== 0 && c.lastIndexOf(\"ui-phx-Variation\", 0) !== 0);\n });\n $(this.input)[0].className = $.trim(classes.join(\" \"));\n }\n },\n\n /**\n * Gets the color in css style\n */\n _getColorRGB: function(color) {\n var l_rtn = \"rgb(255,255,255)\";\n\n if (color) {\n l_rtn = \"rgb(\" + color.coder + \",\" + color.codeg + \",\" + color.codeb + \")\";\n }\n return l_rtn;\n },\n\n _renderItem: function(component, ul, item) {\n var colBackground = undefined;\n var colText = undefined;\n var text = this.optionsRender(item.attrs);\n var emptyItem = false;\n var a = null;\n\n if (text === \"\") {\n text = \" Empty\";\n emptyItem = true;\n }\n a = $(\"\").html(text);\n if (emptyItem === true) { //text-indent in order to avoid the text (Empty) to be shown as an option\n a.css(\"text-indent\", \"-9999px\");\n }\n //If the component has background color, apply it to the option.\n if (!STR.isBlank(item.attrs.coularp)) {\n colBackground = item.attrs.coularp;\n a.css(\"background-color\", \"rgb(\" + colBackground.coder + \",\" + colBackground.codeg + \",\" + colBackground.codeb + \")\");\n }\n //If the component has text color, apply it to the option.\n if (!STR.isBlank(item.attrs.coulavp)) {\n colText = item.attrs.coulavp;\n a.css(\"color\", \"rgb(\" + colText.coder + \",\" + colText.codeg + \",\" + colText.codeb + \")\");\n }\n if (!STR.isBlank(item.attrs.affichage) || (!STR.isBlank(item.attrs.style) && !STR.isBlank(item.attrs.style.affichage))) {\n var affichage = (item.attrs.style && item.attrs.style.affichage) ? item.attrs.style.affichage : item.attrs.affichage;\n a.addClass(affichage);\n }\n //\t\t$(ul).zIndex(this.$el.zIndex() + 1);\n if (String(item.id) === String(this.currentCode) || item.inUse === false) {\n var li = $(\"
  • \").attr(\"data-value\", item.id);\n\n return li.append(a).appendTo(ul);\n } else {\n return $(\"\");\n }\n },\n\n showErrors: function() {\n var span = this.$el.find(\".phx-combobox-content\");\n\n if (!span.hasClass(\"ui-state-error\")) {\n span.addClass(\"ui-state-error\");\n }\n },\n\n cleanErrors: function() {\n var span = this.$el.find(\".phx-combobox-content\");\n\n if (span.hasClass(\"ui-state-error\")) {\n span.removeClass(\"ui-state-error\");\n }\n },\n\n /**\n * Paints the selected items of the view\n */\n _paintItems: function() {\n var self = this;\n\n this.$el.find(\".phx-list-builder-selection\").empty();\n _.each(this.selection.models, function(value) {\n var label = self.optionsRender(value.attributes.attrs);\n var itemView = new ComboBox2ResultItemView({ label: label, model: value });\n self.$el.find(\".phx-list-builder-selection\").append(itemView.render().el);\n });\n\n if (this.selection.models.length === 0) {\n this.$el.find(\".phx-list-builder-selection\").css(\"display\", \"inherit\");\n } else {\n this.$el.find(\".phx-list-builder-selection\").css(\"display\", \"\");\n }\n\n this.$el.find(\".phx-list-builder-selection\").position({\n my: \"left top\",\n at: \"left bottom\",\n of: self.$el.find(\".phx-list-builder-wrap\")\n });\n },\n\n /**\n * Sets the selected values of the list\n */\n setValues: function(coll) {\n this.selection.reset(null, { silent: true });\n if (coll) {\n this.selection.add(coll.toJSON(), { parse: true });\n }\n // paint selected values\n this._paintItems();\n this.model.on(\"change:omitedViews\", this._omitViews, this);\n this.model.on(\"resetRendered\", this._resetRendered, this);\n },\n\n /**\n * Gets the selected elements\n */\n getValues: function() {\n return this.selection;\n },\n\n /**\n * Selects an item in the view\n */\n _selectItem: function(event) {\n var id = this.currentCode;\n\n if (!STR.isBlank(id)) {\n var attrs = this._getItemById(id);\n this._addItem(event, attrs);\n }\n return false;\n },\n\n /**\n * Adds an item to the selection\n */\n _addItem: function(event, attrs) {\n // clear input field and set focus to it.\n $(this.el).find(\".phx-list-builder-select\").val(\"\");\n $(this.el).find(\".phx-list-builder-select\").focus();\n // add item to selection list\n if (STR.isBlank(this.selection.get(attrs.id))) {\n this.selection.add([attrs.attrs], { parse: true });\n if (this.addItemCallback) {\n this.addItemCallback(attrs.attrs, event);\n }\n // paint items\n this._paintItems();\n // Notify edition\n }\n // retur false to prevent bubbling of event\n return false;\n },\n\n /**\n * Resets the painted items\n */\n _resetItems: function() {\n // paint items\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-list-builder-select\").trigger(\"change\");\n },\n\n /**\n * Deletes an existing element from the component selection list\n */\n _removeItem: function(model, event) {\n // remove item from collection\n this.selection.remove(model);\n if (this.removeItemCallback) {\n this.removeItemCallback(model.attributes.attrs, event);\n }\n $(this.el).find(\".phx-list-builder-select\").trigger(\"focus\");\n // repaint\n this._paintItems();\n },\n\n /**\n * Cleans the selection list and the component's value\n */\n clean: function() {\n this.$el.find(\".phx-list-builder-select\").val(\"\");\n if (this.selection) {\n this.selection.reset();\n }\n },\n /**\n * Set the height of the combo list in percentage\n */\n _setHeight: function() {\n if (this.height) {\n $(this.input).autocomplete(\"widget\").css(\"max-height\", this.height + \"%\");\n }\n }\n});\n","import { BaseModel } from '../../models/base.model.js';\nimport { STR } from '../../../utils/str.js';\n\n/**\n * Model for Combos\n */\nexport var CombosModel = BaseModel.extend({\n parse: function(response) {\n if (!STR.isBlank(response.code)) {\n response.id = response.code;\n }\n return response;\n }\n});","import { CombosModel } from './combos.model.js';\n\nimport { PaginatedCollection } from '../../models/paginated.collection.js';\nimport { STR } from '../../../utils/str.js';\n\n/**\n * Collection for combos\n */\nexport var CombosColl = PaginatedCollection.extend({\n model: CombosModel,\n\n initialize: function(models, options) {\n PaginatedCollection.prototype.initialize.call(this);\n this.paginated = false;\n if (_.isObject(models)) {\n options = models;\n }\n if (options.model) {\n this.model = options.model;\n }\n if (options.params) {\n this.params = options.params;\n }\n\n if (options.urlMine) {\n this.urlMine = options.urlMine;\n } else {\n if (options.comboId) {\n this.comboId = options.comboId;\n }\n if (options.name) {\n this.name = options.name;\n } else {\n this.name = \"ls\";\n }\n }\n },\n\n url: function() {\n var url;\n if (!STR.isBlank(this.urlMine)) {\n url = this.urlMine;\n } else {\n if (STR.isBlank(this.name)) {\n url = Configuration.restRoot + \"/rest/\" + this.comboId;\n } else {\n if (STR.isBlank(this.comboId)) {\n url = Configuration.restRoot + \"/rest/\" + this.name;\n } else {\n url = Configuration.restRoot + \"/rest/\" + this.name + \"/\" + this.comboId;\n }\n }\n }\n return url;\n }\n});","import { BaseGridView } from '../basegrid/baseGrid.view.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var DataGridView = BaseGridView.extend({\n\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n /**\n * DEFAULT_NAME\n */\n DEFAULT_NANE: \"Data\",\n\n /**\n * Data Grid View\n */\n initialize: function(options) {\n BaseGridView.prototype.initialize.call(this, options);\n },\n\n setOverflow: function(x, y) {\n this.overflowx = x;\n this.overflowy = y;\n },\n\n /**\n * Renders this view\n */\n render: function() {\n var self = this;\n\n if ($(this.el).children().length === 0) { // Render the header only one time\n $(this.el).html(this.template());\n // Header\n this._renderHead();\n }\n\n //Configure height and width of the component\n var tableScroll = $(this.el).find(\".phx-grid-scroll\");\n tableScroll.height(this.height);\n if (!STR.isBlank(this.overflowx) && !STR.isBlank(this.overflowy)) {\n tableScroll.css(\"overflow-y\", this.overflowy);\n tableScroll.css(\"overflow-x\", this.overflowx);\n } else {\n tableScroll.css(\"overflow-y\", \"auto\");\n tableScroll.css(\"overflow-x\", \"auto\");\n }\n\n //Width:\n $(this.el).width(this.width);\n\n var tbody = $(this.el).find(\"tbody\");\n if (tbody.children().length === 0) {\n // Patch because the first time the collection is filled the\n // DataGrid is not yet visible\n this.model.coll.trigger(\"reset\", this.model.coll);\n\n $(\".phx-grid-scroll\", this.el).scroll(function(event) {\n self._scrollControl(event);\n $(\".phx-grid-header-scroll\", self.el).scrollLeft($(this).scrollLeft());\n });\n }\n\n this.positionHeader();\n return this;\n }\n});\n","import { BaseGridModel } from '../basegrid/baseGrid.model.js';\nimport { FORMS } from '../../../utils/forms.js';\nimport { i18n } from '../../../i18n.js';\nimport { LOG } from '../../../utils/log.js';\nimport { MSGS } from '../../../utils/msgs.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var EditableGridModel = BaseGridModel.extend({\n /**\n * Event launched when a row is clicked\n */\n /**\n * Event launched when a row is double clicked\n */\n /**\n * Event launched when a model is added\n */\n /**\n * Event launched when a model is added to multiselectcoll\n */\n /**\n * Event launched when a model is removed from multiselectcoll\n */\n /**\n * Event launched when a button in the table is clicked\n */\n /**\n * Event launched when the value changes\n *\n */\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * Constructor\n * Model underlying a editable DataGrid.\n * Events out: change:value\n * Events in: row:click, row:select, row:unselect\n */\n initialize: function(attributes, options) {\n\n BaseGridModel.prototype.initialize.call(this, attributes, options);\n\n this.coll.off(\"row:click\");\n this.coll.off(\"row:dblclick\");\n this.coll.off(\"add:model\");\n this.coll.on(\"row:click\", this._manageRowSelection, this);\n this.coll.on(\"row:dblclick\", this._manageRowEdition, this);\n this.coll.on(\"add:model\", this._manageRowEdition, this);\n this.set(\"mode\", \"C\");\n this.btnBarModel = undefined;\n this.propertyPK = [];\n\n this.multiselectColl.on(\"add\", this._manageMultiSelection, this);\n this.multiselectColl.on(\"remove\", this._manageMultiSelection, this);\n this.multiselectColl.on(\"reset\", this._manageMultiSelection, this);\n\n this.readOnly = false;\n\n if (!STR.isBlank(options)) {\n this.context = options.context;\n }\n },\n\n /**\n * Set up the work flow of the model. Link the models between them\n */\n setUp: function() {\n // Declare events consumers\n this.on(\"change:mode\", this._manageMode, this);\n this.btnBarModel.on(\"btn:click\", this.buttonAction, this);\n\n },\n\n /**\n * Public default button action of the editable grid. It is public to allow\n * the extension of its behavior by doing somethign like this:\n * someCustomBtnAction : function(buttonId) { // Additional code...\n * this.tableModel.buttonAction(buttonId); }\n */\n buttonAction: function(buttonId, callback) {\n this._buttonAction(buttonId, callback);\n },\n /**\n * Set mode for btnbarModel and show error if it is not valid.\n */\n _manageMode: function() {\n var newMode = this.get(\"mode\");\n if (!_.contains([\"E\", \"R\", \"C\"], newMode)) {\n throw new Error(\"Mode not supported in EditableGrid : \" + newMode);\n }\n this.btnBarModel.set(\"mode\", newMode);\n },\n /**\n * When a row is selected value is updated and mode is changed\n */\n _manageRowSelection: function(model) {\n if (model) {\n LOG.debug(\"_manageRowSelection mode:\" + this.get(\"mode\") + this.get(\"value\"));\n if (this.get(\"mode\") === \"E\") {\n var self = this;\n this.btnBarModel.trigger(\"btn:click\", \"revert\", function() {\n //Added to avoid double select row when we click in a different row of the new one\n self.get(\"value\").trigger(\"row:unselect\", self.get(\"value\"));\n model.trigger(\"row:select\", model);\n self.set(\"value\", model);\n self.set(\"mode\", \"R\");\n self._manageRowOrdering();\n });\n } else {\n if (STR.isBlank(this.get(\"value\"))) {\n this.set(\"value\", model);\n model.trigger(\"row:select\", model);\n this.set(\"mode\", \"R\");\n this._manageRowOrdering();\n } else if (this.get(\"value\") === model) {\n this.set(\"value\", null);\n model.trigger(\"row:unselect\", model);\n this.set(\"mode\", \"C\");\n } else {\n this.get(\"value\").trigger(\"row:unselect\", this.get(\"value\"));\n model.trigger(\"row:select\", model);\n this.set(\"value\", model);\n this.set(\"mode\", \"R\");\n this._manageRowOrdering();\n }\n }\n\n }\n },\n /**\n * Manages row edition\n */\n _manageRowEdition: function(model) {\n // set habilitation context of the model\n var currentHabContext = null;\n if (!this.readOnly) {\n if (!STR.isBlank(model)) {\n if (this.habContext) {\n currentHabContext = this.getHabContext().copy();\n if (model.isNew()) {\n currentHabContext.update({ nat_gest: \"A\" });\n } else {\n currentHabContext.update({ nat_gest: \"M\" });\n }\n model.setHabContext(currentHabContext);\n }\n\n if (this.context) {\n model.updateHabContext({ fonc_cour: this.context.ctxHabilitation.HabilitationGestion })\n }\n\n if (this.get(\"mode\") === \"E\") {\n var self = this;\n this.btnBarModel.trigger(\"btn:click\", \"revert\", function() {\n model.trigger(\"row:select\", model);\n model.trigger(\"row:edit\", model);\n self.set(\"value\", model);\n self.set(\"mode\", \"E\");\n });\n } else {\n if (!STR.isBlank(this.get(\"value\")) && this.get(\"value\") !== model) {\n this.get(\"value\").trigger(\"row:unselect\", this.get(\"value\"));\n }\n model.trigger(\"row:select\", model);\n model.trigger(\"row:edit\", model);\n this.set(\"value\", model);\n this.set(\"mode\", \"E\");\n }\n }\n }\n },\n\n /**\n * callback : callback function called when action succeeded (save, rever and delete)\n */\n _buttonAction: function(buttonId, callback) {\n var self = this;\n var currentHabContext = null;\n var editedModel = null;\n var value = null;\n\n if (this.habContext) {\n currentHabContext = this.habContext.copy();\n }\n switch (buttonId) {\n case \"save\":\n editedModel = this.get(\"value\");\n\n if (!STR.isBlank(editedModel)) {\n editedModel.save(null, {\n success: function(fresh) {\n self.coll.fetch({\n success: function() {\n // Select the record and paginate if required\n self.set(\"mode\", \"R\");\n self.selectRow(fresh);\n if (callback) {\n callback(buttonId, fresh);\n }\n }\n });\n },\n error: function(model, response) {\n if (response && response.status === 406 && !_.isEmpty(response.responseText)) {\n //If there was an error of saisi incorrect we want to show it on the edited row\n self.get(\"value\").validationError = self.get(\"value\").validationError || { errors: {}, errorValidation: {} };\n if (response.responseJSON && response.responseJSON.attribut) {\n FORMS.assignValue(self.get(\"value\").validationError.errors, response.responseJSON.attribut, response.responseJSON.message);\n self.get(\"value\").trigger(\"invalid\", self, self.get(\"value\").validationError);\n //Avoid the creation of the pop up\n response.status = 200;\n response.responseText = null;\n }\n }\n }\n });\n }\n break;\n case \"revert\":\n if (this.get(\"mode\") === \"E\") {\n editedModel = this.get(\"value\");\n if (editedModel.isNew()) {\n editedModel.destroy();\n editedModel.trigger(\"row:unedit\");\n var row = undefined;\n if (!_.isUndefined(this.lastCode)) {\n row = this.coll.get(this.lastCode);\n if (STR.isBlank(row)) {\n this.set(\"mode\", \"C\");\n } else {\n this.set(\"mode\", \"R\");\n this.coll.trigger(\"row:click\", row);\n }\n } else {\n this.set(\"mode\", \"C\");\n }\n if (callback) {\n callback(buttonId, row);\n }\n } else {\n editedModel.revert();\n\n // Select the record and paginate if required\n editedModel.trigger(\"row:unedit\");\n self.set(\"mode\", \"R\");\n\n if (callback) {\n callback(buttonId, editedModel);\n }\n }\n\n }\n break;\n case \"new\":\n // get previous row id if it exist\n this.lastCode = undefined;\n if (!STR.isBlank(this.get(\"value\"))) {\n this.lastCode = this.get(\"value\").id;\n }\n\n // create new row\n var fresh = new this.coll.model;\n\n this.coll.add(fresh);\n if (callback) {\n callback(buttonId, fresh);\n }\n\n break;\n case \"copy\":\n if (this.get(\"mode\") !== \"E\" && !STR.isBlank(this.get(\"value\"))) {\n var copy = new this.coll.model(this.get(\"value\").toJSON());\n copy.id = null;\n _.each(this.propertyPK, function(property) {\n // check if property is part of the model attributes\n if (!STR.isBlank(STR.getElValue(copy, property))) {\n STR.setElValue(copy, property, null, { silent: true });\n }\n });\n if (callback) {\n callback(buttonId, copy);\n }\n this.coll.add(copy);\n }\n break;\n case \"delete\":\n\n editedModel = this.get(\"value\");\n if (!STR.isBlank(editedModel)) {\n if (currentHabContext) {\n currentHabContext.update({ nat_gest: \"S\" });\n editedModel.setHabContext(currentHabContext);\n }\n var elements = this.multiselectColl.length;\n if (elements === 0) {\n MSGS.showConfirm(i18n.t('common:delconfirm'), function(result) {\n if (result === \"Y\") {\n var position = _.indexOf(self.coll.models, editedModel);\n editedModel.destroy({\n success: function(fresh) {\n self.coll.fetch({\n success: function() {\n if (callback) {\n callback(buttonId, fresh);\n }\n if (self.coll.length > 0) {\n var next = self.coll.at(position);\n if (next) {\n next.trigger(\"row:click\", next);\n } else {\n next = self.coll.at(self.coll.length - 1);\n if (next) {\n next.trigger(\"row:click\", next);\n }\n }\n }\n },\n error: function() {\n var next = self.coll.at(position);\n next.trigger(\"row:click\", next);\n }\n });\n\n },\n wait: true\n });\n }\n });\n } else {\n MSGS.showConfirm(i18n.t('common:delconfirm2', { \"0\": elements }), function(result) {\n if (result === \"Y\") {\n self._recursiveSuppress(self.multiselectColl, currentHabContext, 0, function(position) {\n self.coll.fetch({\n success: function() {\n if (self.coll.length > 0) {\n var next = self.coll.at(position);\n if (next) {\n next.trigger(\"row:click\", next);\n } else {\n next = self.coll.at(self.coll.length - 1);\n if (next) {\n next.trigger(\"row:click\", next);\n }\n }\n }\n },\n error: function() {\n var next = self.coll.at(position);\n next.trigger(\"row:click\", next);\n }\n });\n if (callback) {\n callback(buttonId);\n }\n });\n }\n });\n }\n }\n break;\n case \"monter\":\n value = this.get(\"value\");\n value.trigger(\"moved:up\", value);\n this._manageRowOrdering();\n break;\n case \"descendre\":\n value = this.get(\"value\");\n value.trigger(\"moved:down\", value);\n this._manageRowOrdering();\n break;\n case \"placer\":\n value = this.get(\"value\");\n value.trigger(\"moved:placer\", value);\n this._manageRowOrdering();\n break;\n case \"premier\":\n value = this.get(\"value\");\n value.trigger(\"moved:premier\", value);\n this._manageRowOrdering();\n break;\n default:\n //nothing\n }\n },\n /**\n * Manages the order of the rows\n */\n _manageRowOrdering: function() {\n if (this.btnBarModel && this.btnBarModel.get(\"rowOrdering\") === true) {\n var value = this.get(\"value\");\n var index = this.coll.indexOf(value);\n var length = this.coll.length - 1;\n if (this.coll.length > 1) {\n if (index === 0) {\n this.btnBarModel.trigger(\"moved:top\");\n } else if (index === length) {\n this.btnBarModel.trigger(\"moved:bottom\");\n } else {\n this.btnBarModel.trigger(\"moved:other\");\n }\n } else {\n this.btnBarModel.trigger(\"moved:hide\");\n }\n }\n },\n /**\n * When removing rows for multiselection\n */\n _recursiveSuppress: function(models, currentHabContext, position, callback) {\n var self = this;\n var item = models.shift();\n var l_position = position;\n\n if (!STR.isBlank(item)) {\n l_position = _.indexOf(self.coll.models, item);\n if (STR.isBlank(item.urlRoot)) {\n item.urlRoot = self.coll.url();\n }\n item.setHabContext(currentHabContext);\n item.destroy({\n success: function() {\n self._recursiveSuppress(models, currentHabContext, l_position, callback);\n },\n error: function() {\n models.unshift(item);\n callback(l_position);\n }\n });\n } else {\n callback(l_position);\n }\n },\n\n _manageMultiSelection: function() {\n if (this.multiselectColl.length > 0) {\n this.btnBarModel.trigger(\"override.show:delete\");\n } else {\n this.btnBarModel.trigger(\"override.hide:delete\");\n }\n },\n\n /**\n * The current habilitation context that the grid should use perform the actions (add/modify/remove)\n *\n */\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n }\n});\n","import { BaseGridModel } from '../basegrid/baseGrid.model.js';\n\nexport var DataGridModel = BaseGridModel.extend({\n\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n /**\n * Model underlying a basic DataGrid.\n * Events out: change:value\n * Events in: row:click, row:select, row:unselect\n */\n initialize: function(options) {\n BaseGridModel.prototype.initialize.call(this, options);\n },\n\n /**\n * The current habilitation context that the grid should use perform the actions (add/modify/remove)\n *\n */\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n }\n});","import { i18n } from '../i18n.js';\nimport { LOG } from './log.js';\nimport { MSGS } from './msgs.js';\nimport { objs } from '../objectsRepository.js';\nimport { STR } from './str.js';\n\n/**\n * Utilities to navigate\n */\nexport var NAV = {\n\n /**\n * Maxium number of opened tabs allowed\n */\n MAX_TABS: 10,\n\n /**\n * Navigate to a some part of the application, if the zone is empty it navigates to the home\n */\n navigate: function(zone, module, type, a_trigger, force) {\n var l_zone = zone;\n\n // Use uc as default type\n if (type === undefined) {\n type = \"uc\";\n } else if (_.isBoolean(type)) { // Use default type and trigger parametrized.\n a_trigger = type;\n type = \"uc\";\n }\n // Use the trigger parameter to determine if the navigation must trigger a route event\n if (_.isBoolean(a_trigger) && !a_trigger) {\n a_trigger = false;\n } else { // true by default\n a_trigger = true;\n }\n\n if (!STR.isBlank(module)) {\n l_zone = objs.appRt.workflow._searchZoneFromUc(module);\n if (module === \"agenda_R\") {\n //l_zone=\"resp\";\n if (!_.isEqual(l_zone, \"resp\")) {\n l_zone = objs.appRt.workflow._searchZoneFromUc(\"planresp\"); //la zone doit être 'resp' mais la meilleure forme de garantir qu'elle est la correcte, c'est utiliser celle-là du planning\n }\n }\n }\n LOG.debug(\"navigate:\" + l_zone + \" _ \" + module + \" _ \" + type + \" _ \" + a_trigger);\n\n if (!l_zone) {\n objs.appRt.workflow.set(\"uri\", \"\", { \"trigger\": a_trigger });\n } else {\n if (!module) {\n var attributes = {};\n\n attributes[\"uri\"] = \"z/\" + l_zone;\n attributes[\"selectedTab-\" + l_zone] = { \"module\": \"\", \"type\": \"\" };\n objs.appRt.workflow.set(attributes, { \"trigger\": a_trigger });\n } else {\n var mod = module;\n var routerName = module.split(\"/\")[0] || module;\n var attributes = {};\n\n if (force !== true && objs[routerName + \"Rt\"]) {\n mod = objs[routerName + \"Rt\"].workflow.get(\"uri\") || module;\n }\n attributes[\"uri\"] = \"z/\" + l_zone + \"/\" + type + \"/\" + mod;\n attributes[\"selectedTab-\" + l_zone] = { \"module\": mod, \"type\": type };\n objs.appRt.workflow.set(attributes, { \"trigger\": a_trigger });\n }\n }\n },\n\n /**\n * Navigate to a some part of the application, if the zone is empty it navigates to the home\n * usually called from a router loading inside current zone\n */\n navigateToModule: function(module, type, trigger) {\n // get current zone\n var zone = objs.appRt.workflow.get(\"zone\");\n\n if (!STR.isBlank(module)) {\n if (module === \"agenda_R\") {\n //zone=\"resp\";\n zone = objs.appRt.workflow._searchZoneFromUc(\"planresp\"); //la zone doit être 'resp' mais la meilleure forme de garantir qu'elle est la correcte, c'est utiliser celle-là du planning\n } else {\n zone = objs.appRt.workflow._searchZoneFromUc(module.split(\"/\")[0])\n }\n }\n this.navigate(zone, module, type, trigger);\n },\n\n checkMaximumTabs: function() {\n var isMaximum = false;\n var numTabs = objs.appRt.workflow.attributes.tabstotal;\n if (numTabs >= this.MAX_TABS) {\n var usecaseGoingTo = Backbone.history.getFragment().split(\"/\")[3];\n var zoneGoingTo = Backbone.history.getFragment().split(\"/\")[1];\n var currentAddress = objs.appRt.workflow.get(\"uri\").split(\"/\")[3];\n if (usecaseGoingTo == currentAddress) {\n objs.appRt.navigate(objs.appRt.workflow.previous(\"uri\"), { \"trigger\": false });\n var attributes = {};\n attributes[\"uri\"] = objs.appRt.workflow.previous(\"uri\");\n attributes[\"selectedTab-\" + zoneGoingTo] = objs.appRt.workflow.previous(\"selectedTab-\" + zoneGoingTo);\n objs.appRt.workflow.set(attributes, { silent: true });\n } else {\n objs.appRt.navigate(objs.appRt.workflow.get(\"uri\"), { \"trigger\": false });\n }\n\n MSGS.showWarning(i18n.t('common:tabs_maximum_size', { \"0\": this.MAX_TABS }));\n isMaximum = true;\n }\n return isMaximum;\n }\n\n};\n","import { ActionBarView } from '../../controls/actionBar.view.js';\nimport { BaseGridView } from '../basegrid/baseGrid.view.js';\nimport { DataGridRowView } from '../data_grid/dataGridRow.view.js';\nimport { LOG } from '../../../utils/log.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var EditableGridView = BaseGridView.extend({\n /**\n * Event launched for mode management\n */\n /**\n * Event launched for action save\n */\n /**\n * Event launched for action revert\n */\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n /**\n * DEFAULT_HEIGHT\n */\n DEFAULT_HEIGHT: 305,\n /**\n * DEFAULT_NAME\n */\n DEFAULT_NANE: \"Editable\",\n\n /**\n * Constructor\n * EditableGridView\n */\n initialize: function(options) {\n /**\n * indicate table is editable\n */\n this.editable = true;\n this.isEditableGridView = true;\n\n BaseGridView.prototype.initialize.call(this, options);\n\n //columns definition\n if (!options.model) {\n throw Error(\"You must define an EditableGridModel to use a EditableGridView\");\n }\n /**\n * EditableGridModel\n */\n this.model = options.model;\n\n //Search Pk definition if exist and initializes toggle\n _.each(this.currentVue.columns, function(column) {\n if (_.has(column, \"pk\") && column.pk === true) {\n this.model.propertyPK.push(column.property);\n }\n }, this);\n\n //edit row view definition\n if (!options.viewRow) {\n throw Error(\"You must define a ViewRow to use a EditableGridView\");\n }\n this.viewRow = options.viewRow;\n this.viewRow.parentId = this.id;\n\n this.headerFixed = false;\n if (options.headerFixed) {\n this.headerFixed = true;\n }\n\n this.heightMax = false;\n if (options.heightMax) {\n this.heightMax = true;\n }\n\n // action bar\n //\t\tthis.actionBarTemplate = TPL_common_table_actionbar;\n\n this._showButtonBar = true;\n /**\n * ButtonBar\n */\n this.buttonBar = new ActionBarView({ iconsOnly: true, positionNewButtonsOnLeft: this.positionNewButtonsOnLeft });\n this.model.btnBarModel = this.buttonBar.model;\n this.model.btnBarModel.set(\"mode\", this.model.get(\"mode\"));\n\n var self = this;\n this.model.coll.off(\"add\");\n this.model.coll.on(\"add\", function(model) {\n if (model.isNew()) {\n var tbody = $(\"tbody\", self.el);\n var rowView = new DataGridRowView({ model: model, dataGrid: self });\n if (STR.isBlank(self.rows)) {\n self.rows = [];\n }\n if (self.model.coll.pagination.startIndex === 0) {\n self.rows.push(rowView);\n tbody.prepend(rowView.render().el);\n self._scrollToIndex(0);\n } else {\n // If the table is not at the beginning we need to paginate to the first row to avoid problems.\n self.model.coll.goTo(0, function() {\n self.rows.push(rowView);\n self._scrollToIndex(0);\n tbody.prepend(rowView.render().el);\n // After paginate I return to the edition state\n self.model.set(\"mode\", \"E\");\n });\n }\n model.trigger(\"add:model\", model);\n self.manageCustomMessageVisibility(false);\n\n if (!STR.isBlank(self.multiselection)) {\n self._focusFirstSelectibleCell();\n } else {\n self._focusFirstCell();\n }\n }\n });\n\n this.listenTo(this.model, \"change:mode\", this._manageMode);\n this.listenTo(this.model, \"action:save\", this._saveRowEdition);\n this.listenTo(this.model, \"action:revert\", this._revertRowEdition);\n\n //Btn bar reset\n this.model.coll.on(\"reset\", this._resetBtnBar, this);\n\n // Set Up the model\n this.model.setUp();\n },\n\n /**\n * Manage key press. Depending on the key pressed:\n * Down one row /down 1 page/ save changes /escape key\n */\n keyEvent: function(e) {\n var ret = BaseGridView.prototype.keyEvent.call(this, e);\n var rowInEdition = (this.model.get('mode') === \"E\");\n if (e.keyCode === 40 && !rowInEdition) { // down 1 row\n this._revertRowEdition();\n }\n if (e.keyCode === 34 && !rowInEdition) { // down 1 page\n this._revertRowEdition();\n }\n\n //if the enter button is pressed on the revert button its not a save action\n if (e.keyCode === 13 && $(e.target).hasClass(\"phx-cell-revert-action\") === false) { // Enter key pressed\n if (rowInEdition) {\n // we are in edition mode and press enter to save changes\n this._saveRowEdition();\n\n } else {\n // press enter to enter edition mode\n this.model.coll.trigger(\"row:dblclick\", this.model.get('value'));\n }\n ret = false;\n }\n if (e.keyCode === 27 || ((e.keyCode === 13 || e.keyCode === 32) && $(e.target).hasClass(\"phx-cell-revert-action\") === true)) { // Esc key pressed or enter on the revert\n this._revertRowEdition(true);\n ret = false;\n\n //WCAG\n this._focusLastCell();\n }\n //return false if event was managed overwise return true\n //LOG.debug(\"keypressed: \"+e.keyCode);\n return ret;\n },\n /**\n * Reverts row edition\n */\n _revertRowEdition: function(clickRow) {\n if (this.model.get('mode') === \"E\") {\n $(\".phx-cell-revert-action\", this.el).focus();\n\n this.model.btnBarModel.trigger(\"btn:click\", \"revert\");\n if (this.model.coll.length === 0) {\n this.manageCustomMessageVisibility(true);\n } else {\n var model = this.model.get(\"value\");\n if (clickRow) {\n model.trigger(\"row:select\", model);\n }\n }\n }\n },\n /**\n * Save row edition\n */\n _saveRowEdition: function() {\n $(\".phx-cell-save-action\", this.el).focus();\n this.model.btnBarModel.trigger(\"btn:click\", \"save\");\n this._focusLastCell();\n },\n /**\n * Render the button bar\n */\n _renderButtonBar: function() {\n if (this._showButtonBar) {\n $(\".phx-grid-title-bar-action\", this.el).append(this.buttonBar.render().el);\n // This is needed because when you use nested views, if you initializes the view in the constructor,\n // the delegate events is called before the dom is ready.\n this.buttonBar.delegateEvents();\n }\n },\n /**\n * Renders this view\n */\n render: function() {\n var self = this;\n\n if ($(this.el).children().length === 0) { // Render the Button bar and the header only one time\n $(this.el).html(this.template());\n // Header and button bar\n this._renderHead();\n this._renderButtonBar();\n if (Object.keys(this.vues).length > 1 && this.showLevierMultipleViews === true) {\n this._addButtonSwitchVues();\n }\n if (Object.keys(this.vues).length > 1 && this.showButtonsMultipleVues === true) {\n this._renderVuesButtonBar();\n }\n }\n\n if (this.headerFixed === true) {\n var l_height = this.height;\n\n if (this.heightMax === true) {\n l_height = window.innerHeight - 100 - $(this.el).find(\"tbody\").offset().top;\n }\n\n $(this.el).find(\"tbody\").parents(\"table\").css({ \"display\": \"table-caption\" });\n $(this.el).find(\"tbody\").parents(\"table\").height(l_height);\n }\n\n $(this.el).find(\"tbody\").attr(\"tableView-id\", this.cid);\n //Configure scroll\n var tableScroll = $(this.el).find(\".phx-grid-scroll\");\n tableScroll.height(this.height);\n tableScroll.css(\"overflow-y\", \"auto\");\n tableScroll.css(\"overflow-x\", \"auto\");\n\n //Width:\n $(this.el).width(this.width);\n\n var tbody = $(this.el).find(\"tbody\");\n if (tbody.children().length === 0) {\n // Patch because the first time the collection is filled the\n // DataGrid is not yet visible\n this.model.coll.trigger(\"reset\", this.model.coll);\n\n $(\".phx-grid-scroll\", this.el).scroll(function(event) {\n self._scrollControl(event);\n $(\".phx-grid-header-scroll\", self.el).scrollLeft($(this).scrollLeft());\n });\n }\n\n this.applyHabilitations();\n\n this.positionHeader();\n return this;\n },\n\n /**\n * It manages the buttons that allow to edit the values of the table\n * Copied from enabled\n */\n enableEdition: function(enable) {\n this.editable = enable && this.habilitationUpdate;\n\n this.model.readOnly = !this.editable;\n\n if (this.editable) {\n $(\".phx-grid-title-bar-action\", this.el).show();\n this.currentVue._columns[\"phx-action\"].visible = true;\n this._unlockColumn(\"phx-action\");\n } else {\n $(\".phx-grid-title-bar-action\", this.el).hide();\n this.currentVue._columns[\"phx-action\"].visible = false;\n this._lockColumn(\"phx-action\");\n }\n\n },\n /**\n * Mode management\n */\n _manageMode: function(model, mode) {\n if (mode === \"E\" && this.model.coll.paginated) {\n $(\".phx-grid-scroll\", this.el).css(\"overflow-y\", \"hidden\");\n } else {\n $(\".phx-grid-scroll\", this.el).css(\"overflow-y\", \"auto\");\n }\n\n var isVisible = false;\n if (mode === \"E\" || mode === \"C\") {\n this.manageCustomMessageVisibility(isVisible);\n }\n },\n /**\n * Set button bar auto render\n */\n setButtonBarAutoRender: function(renderBtnBar) {\n this._showButtonBar = renderBtnBar;\n },\n /**\n * Reset button abr\n */\n _resetBtnBar: function() {\n this.model.set(\"mode\", \"C\");\n },\n /**\n * Allow edition\n */\n allowEdition: function(allowed) {\n if (allowed) {\n this.model.coll.on(\"row:dblclick\");\n this.currentVue._columns[\"phx-action\"].visible = true;\n } else {\n this.model.coll.off(\"row:dblclick\");\n this.currentVue._columns[\"phx-action\"].visible = false;\n }\n },\n /**\n * Allow row update\n */\n allowRowUpdate: function(allowed) {\n BaseGridView.prototype._allowRowUpdate.call(this, allowed);\n this._showButtonBar = allowed;\n },\n /**\n * Disable delete button\n */\n disableDeleteButton: function(disable) {\n if (disable === true) {\n this.buttonBar.model.trigger(\"hide:delete\");\n } else {\n this.buttonBar.model.trigger(\"show:delete\");\n }\n },\n\n disableCopyButton: function(disable) {\n if (disable === true) {\n this.buttonBar.model.trigger(\"hide:copy\");\n } else {\n this.buttonBar.model.trigger(\"show:copy\");\n }\n },\n /**\n * Overrides a menu\n */\n overrideMenu: function(customButtonActionCallback, callingView) {\n if (customButtonActionCallback) {\n this.buttonBar.model.off(\"btn:click\");\n this.buttonBar.model.on(\"btn:click\", customButtonActionCallback, callingView);\n }\n },\n\n //Accessibility\n _focusLastCell: function() {\n this._focusCell(this.model.coll.editModeCellSelected);\n },\n\n //select the first selectible cell with input\n _focusFirstSelectibleCell: function() {\n var index = 0;\n var findCell = 0;\n\n while (findCell === 0) {\n var currentRow = this.$el.find(\".phx-selected\");\n var cell = currentRow.children()[index];\n\n if ($(cell).length > 0) {\n if ($(cell).find(\":input\").is(\":input\")) {\n // we have found the first cell with an input\n this._focusCell(index);\n findCell = 1;\n } else {\n // we haven't found a cell with an input, we loop again\n index++;\n }\n } else {\n // we haven't found any cell with an input\n findCell = 2;\n LOG.debug(\"no Input find\");\n }\n }\n },\n\n _focusFirstCell: function() {\n this._focusCell(0);\n },\n\n _focusCell: function(index) {\n var currentRow = this.$el.find(\".phx-selected\");\n var cell = currentRow.children()[index];\n\n if ($(cell).find(\":input\").is(\":input\")) {\n $(cell).find(\":input\").attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\").focus();\n } else {\n $(cell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n LOG.debug(\"focus the first cell\");\n }\n },\n});\n","export var DataGridActionCellView = Backbone.View.extend({\n\n dummy: \"\",\n\n tagName: \"td\",\n\n /**\n * View of the Cells with Action Buttons for its row.\n */\n initialize: function(options) {\n if (!options.dataGridRow) {\n throw Error(\"You must use a DataGridCellView just inside a DataGridRowView\");\n }\n if (!options.action) {\n throw Error(\"You must define a template\");\n }\n this.template = options.action;\n this.dataGridRow = options.dataGridRow;\n },\n\n render: function() {\n $(this.el).html(this.template());\n return this;\n },\n\n /**\n * Show/Hide this cell when row is editable or not\n */\n disableEdition: function(disable) {\n if (disable) {\n $(this.el).find(\".phx-cell-edit-action\").hide();\n } else {\n $(this.el).find(\".phx-cell-edit-action\").show();\n }\n }\n\n});","import { STR } from '../../../utils/str.js';\n\nexport var DataGridCellView = Backbone.View.extend({\n\n dummy: \"\",\n tagName: \"td\",\n\n /**\n * View of the Cells\n */\n initialize: function(options) {\n if (!options.dataGridRow) {\n throw Error(\"You must use a DataGridCellView just inside a DataGridRowView\");\n }\n this.dataGridRow = options.dataGridRow;\n this.text = options.text;\n },\n\n /**\n * Sets the text attribute and renders the cell.\n */\n setText: function(text) {\n if (!STR.isBlank(text)) {\n this.text = text;\n this.render();\n }\n },\n\n /**\n * The render function thats generate the TD element\n */\n render: function() {\n //Render a view inside the td\n if (this.text instanceof Backbone.View) {\n this.$el.css(\"padding\", \"0\");\n this.text = this.text.render().el;\n }\n\n if (!STR.isBlank(this.text)) {\n this.$el.append(this.text);\n }\n return this;\n }\n\n});","import { DataGridActionCellView } from './dataGridActionCell.view.js';\nimport { DataGridCellView } from './dataGridCell.view.js';\nimport { LOG } from '../../../utils/log.js';\nimport { STR } from '../../../utils/str.js';\nimport TPL_common_table_cell_editaction from '../basegrid/table_cell_editaction.tpl.html';\nimport TPL_common_table_cell_multiselectaction from '../basegrid/table_cell_multiselectaction.tpl.html';\nimport TPL_common_table_cell_revertaction from '../basegrid/table_cell_revertaction.tpl.html';\nimport TPL_common_table_cell_saverevertaction from '../basegrid/table_cell_saverevertaction.tpl.html';\n\nexport var DataGridRowView = Backbone.View.extend({\n\n dummy: \"\",\n\n tagName: \"tr\",\n className: \"ui-grid-row\",\n\n edited: false,\n\n /**\n * Event triggered when select the row.\n */\n /**\n * Event triggered when unselect the row.\n */\n /**\n * Event triggered when the row becomes editable.\n */\n /**\n * Event triggered when the row becomes to read only.\n */\n /**\n * Event triggered when ckeck the row on multiselection row.\n */\n /**\n * Event triggered when unckeck the row on multiselection row.\n */\n\n /**\n * Constructor\n * View underlying a row of generic data grid\n */\n initialize: function(options) {\n /**\n * The instance of the editable Grid\n */\n this.dataGrid = null;\n /**\n * Columns that are being showed by the edition.\n */\n this.showedColumns = [];\n /**\n * Columns that are being blocked to avoid edition.\n */\n this.blokedColumns = [];\n\n if (this.model) {\n this.model.off(\"destroy\");\n this.model.off(\"row:select\");\n this.model.off(\"row:unselect\");\n this.model.off(\"row:edit\");\n this.model.off(\"row:unedit\");\n this.model.off(\"row:checked\");\n this.model.off(\"row:unchecked\");\n this.model.off(\"row:notSelectable\");\n this.model.off(\"row:Selectable\");\n this.model.off(\"row:supprimed\");\n\n this.model.on(\"destroy\", this.close, this);\n this.model.on(\"row:select\", this._selectRow, this);\n this.model.on(\"row:unselect\", this._unselectRow, this);\n this.model.on(\"row:edit\", this._editRow, this);\n this.model.on(\"row:unedit\", this._uneditRow, this);\n this.model.on(\"row:checked\", this._showMultiSelection, this);\n this.model.on(\"row:unchecked\", this._showMultiSelection, this);\n this.model.on(\"cell:select\", this._selectCell, this);\n this.model.on(\"row:notSelectable\", this._notSelectable, this);\n this.model.on(\"row:Selectable\", this._selectable, this);\n this.model.on(\"row:supprimed\", this._supprimed, this);\n\n }\n if (!options.dataGrid) {\n throw Error(\"You must use a DataGridRowView just inside a DataGridView\");\n }\n this.dataGrid = options.dataGrid;\n\n if (!(this.dataGrid.isEditableGridView === true) && this.model) {\n this.listenTo(this.model, \"change\", this.render);\n }\n\n },\n\n /**\n * Event triggered when permon a click inside the view.\n */\n /**\n * Event triggered when permon a double click inside the view.\n */\n events: {\n \"click\": \"_rowListener\",\n \"dblclick\": \"_rowListener\",\n \"keydown\": \"keyEvent\"\n },\n\n /**\n * Method which manages the row click or double click in order to select it or edit it.\n */\n _rowListener: function(event) {\n LOG.debug(\"event.type=\" + event.type);\n var className = event.target.className.split(\" \")[0];\n\n if ($(event.currentTarget) && ($(event.currentTarget).hasClass(\"phx-notSelectable\") || $(event.currentTarget).hasClass(\"phx-supprimed\"))) {\n return;\n }\n\n if (className === \"phx-cell-save-action\") {\n this.dataGrid.model.trigger(\"action:save\");\n }\n\n if (className === \"phx-cell-revert-action\") {\n this.dblclick = 0;\n if (STR.isBlank(this.model.id)) {\n this.dataGrid.model.trigger(\"action:revert\", false);\n event.stopPropagation();\n return;\n } else {\n this.dataGrid.model.trigger(\"action:revert\", true);\n event.stopPropagation();\n return;\n }\n }\n\n if (className === \"phx-bistate-box\") {\n //put the focus to the checkbox due to this function does a return and the click code is not executed.\n $(event.currentTarget).parents(\".phx-grid:first\").find(\".grid-cell-focus\").attr(\"tabindex\", \"-1\").removeClass(\"grid-cell-focus\");\n $(event.target).attr(\"tabindex\", \"0\").addClass(\"grid-cell-focus\").focus();\n this._toggleMultiSelection();\n event.stopPropagation();\n return;\n }\n\n if ($(event.target).hasClass(\"phx-grid-not-selectable-cell\") || this.$el.find($(event.target).closest(\".phx-grid-not-selectable-container-in-cell\")).length >= 1) {\n return;\n }\n\n //If the row is being edited, no click event must be propagated\n if (this.edited) {\n event.stopPropagation();\n return;\n }\n\n var isCheckbox = $(event.target).is(\":checkbox\");\n var isLink = $(event.target).is(\"a\");\n var isSelect = $(event.target).is(\"select\");\n var isOption = $(event.target).is(\"option\");\n var isSelected = $(this.el).hasClass(\"phx-selected\");\n var self = this;\n\n if (this.dataGrid.selectable) {\n // Trigger the custom even select to be interpreted by the parent view\n if (event.type === \"click\") {\n\n //Accessibility. select the correct cell when click a row\n var currentCell = $(event.target).is(\"td\") ? $(event.target) : $(event.target).parents(\"td:first\");\n //set the cell clicked to do a correct focus\n this.dataGrid.cellSelected = currentCell.parents(\"tr:first\").children().index(currentCell);\n\n var editActionClicked = false;\n // if we click on the edit icon in the row then we trigger a dblclick event to enter in edition mode\n if (className === \"phx-cell-edit-action\") {\n if (this.dataGrid.isEditableGridView === true && this.dataGrid.editable && this.dataGrid.habilitationUpdate) {\n //this.dblclick = 2;\n editActionClicked = true;\n this.model.trigger(\"row:dblclick\", this.model);\n event.stopPropagation();\n }\n }\n // If no double click then simple click\n if (!editActionClicked) {\n\n setTimeout(function() {\n var double = self.dblclick;\n if (double > 0) {\n self.dblclick = double - 1;\n return false;\n } else {\n self.dataGrid.model.lastCode = null;\n\n // case clicked item is a checkbos or link\n if (!isSelected && (isCheckbox || isLink || isSelect)) {\n self.model.trigger(\"row:click\", self.model);\n }\n\n if (!(isCheckbox || isLink || isSelect || isOption)) {\n self.model.trigger(\"row:click\", self.model);\n }\n }\n }, 300);\n\n }\n } else if (event.type === \"dblclick\") {\n if ($(event.target).is(\"td\")) {\n this.model.collection.editModeCellSelected = $(event.currentTarget).children().index(event.target);\n }\n\n if (this.dataGrid.enableSelectionOnDblclick === true) {\n this.dblclick = 2;\n this.model.trigger(\"row:dblclick\", this.model);\n event.stopPropagation();\n } else {\n\n if (this.dataGrid.isEditableGridView === true && this.dataGrid.editable && this.dataGrid.habilitationUpdate) {\n\n if (STR.isBlank(this.dataGrid.viewRow.canEdit) && STR.isBlank(this.dataGrid.viewRow.canEditCallback)) {\n this.dblclick = 2;\n this.model.trigger(\"row:dblclick\", this.model);\n event.stopPropagation();\n }\n // synchronized method to know if a row is editable\n if (!STR.isBlank(this.dataGrid.viewRow.canEdit) && this.dataGrid.viewRow.canEdit(this.model) === true) {\n this.dblclick = 2;\n this.model.trigger(\"row:dblclick\", this.model);\n event.stopPropagation();\n }\n // asynchronized method to know if a row is editable\n if (!STR.isBlank(this.dataGrid.viewRow.canEditCallback)) {\n self.dblclick = 2;\n event.stopPropagation();\n this.dataGrid.viewRow.canEditCallback(this.model, function(canEdit) {\n if (canEdit) {\n self.model.trigger(\"row:dblclick\", self.model);\n }\n });\n }\n }\n }\n }\n }\n },\n\n keyEvent: function(e) {\n var ret = true;\n //accessibility\n if (e.keyCode === 32 && e.shiftKey === true) { //space && shift\n this.model.trigger(\"row:click\", this.model);\n ret = false;\n }\n return ret;\n },\n\n _visible: function(element) {\n if (element && element.width() > 0 &&\n element.css(\"opacity\") > 0 &&\n element.css(\"visibility\") !== \"hidden\" &&\n element.css(\"display\") !== \"none\") {\n return true;\n }\n return false;\n },\n\n /**\n * Manages the row selection.\n */\n _selectRow: function() {\n if (!$(this.el).hasClass(\"notSelectable\")) {\n var visibleRow = this.$el.parents(\".ui-grid-table\").is(\":visible\");\n\n if (visibleRow === false) { //when false, another checking(four IE)\n visibleRow = this._visible(this.dataGrid.$el);\n }\n if (visibleRow === false) {\n this.$el.parents(\".ui-grid-table\").show();\n }\n $(this.el).addClass(\"phx-selected\");\n $(this.el).children(\"td\").addClass(\"ui-state-active\");\n $(this.el).find(\"div.phx-bistate-box\").addClass(\"ui-state-active\");\n $(this.el).focus();\n this.hideRequieredColumns();\n\n if (!STR.isBlank(this.dataGrid.cellSelected)) {\n //select the next row when the table has pagination\n this.dataGrid._selectAdjacentCell($(this.el).find(\"td\"), 1, this.dataGrid.cellSelected - 1, \"td\");\n } else if (this.$el.find(\".grid-cell-focus\").length === 0 && STR.isBlank(this.dataGrid.cellSelected)) {\n //when the page is loaded for first time this code selet the first cell of the selected column. No focus\n\n this.$el.parents(\".phx-grid:first\").find(\".grid-cell-focus\").attr(\"tabindex\", \"-1\").removeClass(\"grid-cell-focus\");\n\n var nextCellPosition = -1;\n var nextCell = null;\n var container = this.$el.children();\n\n //obtain the new cell\n if (container && container.length > 0) {\n do {\n nextCellPosition = nextCellPosition + 1;\n nextCell = !STR.isBlank(container[nextCellPosition]) ? container[nextCellPosition] : null;\n } while ((STR.isBlank(nextCell) && nextCellPosition < container.length || (!STR.isBlank(nextCell) && !$(nextCell).is(\":visible\"))));\n }\n\n if (!STR.isBlank(nextCell) && $(nextCell).is(\":visible\")) {\n this.dataGrid.cellSelected = 0;\n if ($(nextCell).find(\":input\").is(\":input\")) {\n $(nextCell).find(\":input\").attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\");\n } else {\n $(nextCell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\");\n }\n }\n }\n\n //Check permissions\n if (this.dataGrid.isEditableGridView === true &&\n !STR.isBlank(this.dataGrid.viewRow.canRemove) && this.dataGrid.viewRow.canRemove(this.model) === false) {\n this.dataGrid.disableDeleteButton(true);\n }\n\n if (visibleRow === false) {\n this.$el.parents(\".ui-grid-table\").hide();\n }\n }\n },\n\n /**\n * Manages the row unselection.\n */\n _unselectRow: function() {\n $(this.el).children(\"td\").removeClass(\"ui-state-active\");\n $(this.el).find(\"div.phx-bistate-box\").removeClass(\"ui-state-active\");\n $(this.el).removeClass(\"phx-selected\");\n this.hideRequieredColumns();\n if (this.dataGrid.isEditableGridView === true) {\n this.dataGrid.disableDeleteButton(false);\n if (!STR.isBlank(this.dataGrid.viewRow)) {\n this.dataGrid.viewRow._unlinkColumnNamesToInputs(this.dataGrid.$el, this.dataGrid.id);\n }\n }\n\n },\n\n _notSelectable: function() {\n this._unselectRow();\n if (!$(this.el).hasClass(\"phx-notSelectable\")) {\n $(this.el).addClass(\"phx-notSelectable\");\n }\n },\n\n _selectable: function() {\n if ($(this.el).hasClass(\"phx-notSelectable\")) {\n $(this.el).removeClass(\"phx-notSelectable\");\n }\n },\n\n _supprimed: function() {\n this._unselectRow();\n if (!$(this.el).hasClass(\"phx-supprimed\")) {\n $(this.el).addClass(\"phx-supprimed\");\n }\n },\n\n /**\n * Make the row editable.\n */\n _editRow: function() {\n this.edited = true;\n this.model.off(\"invalid\");\n this.model.on(\"invalid\", this._showValidationErrors, this);\n this.render();\n if (!STR.isBlank(this.model) && this.model.isNew()) {\n this.showRequieredColumns();\n }\n this.dataGrid.viewRow._linkColumnNamesToInputs(this.$el, this.dataGrid.id);\n $(this.dataGrid.el).find(\".phx-bistate-box\").attr(\"disabled\", true);\n this.model.store(); // Store old attributes\n },\n\n /**\n * Make the row uneditable.\n */\n _uneditRow: function() {\n this.edited = false;\n $(this.dataGrid.el).find(\".phx-bistate-box\").removeAttr(\"disabled\");\n $(this.el).css(\"vertical-align\", \"\");\n this._unselectRow();\n this.render();\n\n this.hideRequieredColumns();\n },\n\n /**\n * Enable/Disable the multiselection\n */\n _toggleMultiSelection: function() {\n this.model.isChecked = !this._isChecked(this.model.id);\n\n if (this.model.isChecked) {\n this.dataGrid.model.multiselectColl.add(this.model);\n if (!STR.isBlank(this.filterSelection)) {\n this.model.multiselectColl.models = this.model.multiselectColl.where(this.filterMultiSelectColl);\n } else if (this.filterSelectionFunction) {\n var self = this;\n this.model.multiselectColl.models = _.filter(this.model.multiselectColl.models, function(model) {\n return self.filterSelectionFunction(model);\n })\n }\n if (STR.isBlank(this.dataGrid.model.get(\"value\"))) {\n // if no rows are selected and a row is checked for multiselection, we select the current row\n this.model.trigger(\"row:click\", this.model);\n }\n } else {\n this.dataGrid.model.multiselectColl.remove(this.model);\n }\n\n this._showMultiSelection();\n },\n\n /**\n * Check/Uncheck the row for multiselection\n */\n _showMultiSelection: function() {\n var checked = this._isChecked(this.model.id);\n var jQtarget = this.$el.find(\".phx-bistate-box\");\n jQtarget.prop(\"checked\", checked);\n },\n\n /**\n * Look if the row is checked in multiselection\n */\n _isChecked: function(id) {\n var item = this.dataGrid.model.multiselectColl.get(id);\n if (!STR.isBlank(item)) {\n return true;\n }\n return false;\n },\n\n /**\n * Show validation Error for the row form, calling the viewRow generic function.\n */\n _showValidationErrors: function(model, errors) {\n $(this.el).css(\"vertical-align\", \"top\");\n this.dataGrid.viewRow._showValidationErrors(model, errors);\n },\n\n /**\n * Grid Row render Function\n */\n render: function() {\n var rowThis = $(this.el);\n rowThis.attr(\"cid\", this.cid);\n var isSelected = rowThis.hasClass(\"phx-selected\");\n if (this.dataGrid.selectable) {\n rowThis.css(\"cursor\", \"pointer\");\n }\n rowThis.empty();\n if (this.edited === true &&\n (this.dataGrid.isEditableGridView === true)) {\n this._renderForm();\n } else {\n _.each(this.dataGrid.currentVue.columns, function(column, index) {\n var cell = null;\n switch (column.property) {\n case \"phx-multiselect\":\n if (this.dataGrid.currentVue._columns[\"phx-multiselect\"] && this.dataGrid.currentVue._columns[\"phx-multiselect\"].visible) {\n cell = this._addActionCell(column, index, TPL_common_table_cell_multiselectaction);\n //\t\t\t\t\t\t$(cell.el).addClass(\"phx-cell-multiselect-action\");\n }\n break;\n case \"phx-action\":\n if (this.dataGrid.currentVue._columns[\"phx-action\"] && this.dataGrid.currentVue._columns[\"phx-action\"].visible) {\n cell = this._addActionCell(column, index, TPL_common_table_cell_editaction);\n }\n break;\n case \"phx-last\":\n break;\n\n default:\n cell = this._addCell(column, index);\n }\n\n if (!STR.isBlank(cell)) {\n rowThis.append(cell.el);\n this.dataGrid.currentVue._columns[column.property].cells.push(cell);\n if (!this.dataGrid.currentVue._columns[column.property].visible) {\n $(cell.el).hide();\n }\n }\n\n //if this render is called after exit of an editable mode its necessary to set all inputs of the row with tabindex -1\n if (!STR.isBlank(cell) && cell.$el.children().length > 0) {\n cell.$el.find(\"a\").is(\"a\") ? cell.$el.find(\"a\").attr(\"tabindex\", \"-1\") : null;\n cell.$el.find(\"select\").is(\"select\") ? cell.$el.find(\"select\").attr(\"tabindex\", \"-1\") : null;\n cell.$el.find(\":input\").is(\":input\") ? cell.$el.find(\"input\").attr(\"tabindex\", \"-1\") : null;\n cell.$el.find(\"button\").is(\"button\") ? cell.$el.find(\"button\").attr(\"tabindex\", \"-1\") : null;\n }\n\n }, this);\n\n if (this.dataGrid.currentVue._columns[\"phx-multiselect\"]) {\n this._showMultiSelection();\n }\n\n if (isSelected) {\n this._selectRow();\n }\n }\n\n $(this.el).attr({ \"role\": \"row\" });\n return this;\n },\n\n /**\n * Adds the cell for the column with the \"Save\" \"Revert\" actions.\n */\n _addActionCell: function(column, index, action) {\n var cell;\n if (!STR.isBlank(this.dataGrid.filterSelection) && !this.model.attributes[this.dataGrid.filterSelection]) {\n cell = new DataGridCellView({ dataGridRow: this }).render();\n cell.setText(\"\");\n } else {\n if (this.dataGrid.filterSelectionFunction && !this.dataGrid.filterSelectionFunction(this.model)) {\n cell = new DataGridCellView({ dataGridRow: this }).render();\n cell.setText(\"\");\n } else {\n var cellView = new DataGridActionCellView({ dataGridRow: this, action: action });\n cell = cellView.render();\n\n $(cell.el).addClass(\"phx-td\" + index);\n }\n }\n return cell;\n },\n\n /**\n * Create the cells views to be rendered on the row.\n */\n _addCell: function(column, index) {\n var property = column.property;\n var alignment = (this.dataGrid.currentVue._columnsAlign && this.dataGrid.currentVue._columnsAlign[property]) ? this.dataGrid.currentVue._columnsAlign[property] : \"left\";\n var value = null;\n var cellRender = null;\n //If cellrenderer is definied for one view, use it. If not, use table's cellrenderer.\n if (!STR.isBlank(this.dataGrid.currentVue.cellRenderers) &&\n !STR.isBlank(this.dataGrid.currentVue.cellRenderers[property])) {\n cellRender = this.dataGrid.currentVue.cellRenderers[property];\n } else {\n cellRender = this.dataGrid.cellRenderers[property];\n }\n var cell = new DataGridCellView({ dataGridRow: this }).render();\n if (!STR.isBlank(cellRender)) {\n value = cellRender.call(this, this.model, property, cell);\n } else {\n value = STR.getElValue(this.model, property);\n }\n cell.setText(value);\n $(cell.el).addClass(\"phx-td\" + index).attr(\"role\", \"gridcell\");\n\n switch (alignment) {\n case \"right\":\n $(cell.el).css(\"text-align\", \"right\");\n break;\n case \"center\":\n $(cell.el).css(\"text-align\", \"center\");\n break;\n default:\n $(cell.el).css(\"text-align\", \"left\");\n break;\n }\n\n if (column.paddingZero) {\n $(cell.el).css(\"padding\", \"0\");\n }\n\n return cell;\n },\n\n /**\n * Renders the form, auxiliar function used by the view render.\n */\n _renderForm: function() {\n this.dataGrid.viewRow.model = this.model;\n this.dataGrid.viewRow.pks = this.dataGrid.model.propertyPK;\n this.dataGrid.viewRow.setElement($(this.el));\n var self = this;\n\n var rowContent = this.dataGrid.viewRow.render().el;\n\n var keys = _.keys(this.dataGrid.currentVue._columns);\n var dataGrid = this.dataGrid;\n var columnsIndex = 0;\n\n if (dataGrid.multiselection === true) {\n columnsIndex++;\n }\n $(rowContent).children(\"td\").each(function(index, el) {\n $(el).addClass(\"phx-edited\");\n $(el).addClass(\"phx-td\" + columnsIndex);\n dataGrid.currentVue._columns[keys[columnsIndex]].editableCell = $(el);\n if (!dataGrid.currentVue._columns[keys[columnsIndex]].visible && keys[columnsIndex] !== \"phx-multiselect\") {\n dataGrid.currentVue._columns[keys[columnsIndex]].editableCell.hide();\n }\n var alignment = (dataGrid.currentVue._columnsAlign && dataGrid.currentVue._columnsAlign[keys[columnsIndex]]) ? dataGrid.currentVue._columnsAlign[keys[columnsIndex]] : \"left\";\n switch (alignment) {\n case \"right\":\n $(el).css(\"text-align\", \"right\");\n break;\n case \"center\":\n $(el).css(\"text-align\", \"center\");\n break;\n default:\n $(el).css(\"text-align\", columnsIndex);\n break;\n }\n columnsIndex++;\n });\n var actionCell = null;\n if (dataGrid._isRowUpdatable) {\n actionCell = this._addActionCell(dataGrid.currentVue._columns[keys[columnsIndex]], columnsIndex, TPL_common_table_cell_saverevertaction);\n } else {\n actionCell = this._addActionCell(dataGrid.currentVue._columns[keys[columnsIndex]], columnsIndex, TPL_common_table_cell_revertaction);\n }\n if (!STR.isBlank(actionCell)) {\n dataGrid.currentVue._columns[keys[columnsIndex]].cells.push(actionCell);\n $(rowContent).append(actionCell.el);\n $(rowContent).find(\"td:last\").css(\"padding\", \"0\");\n }\n\n if (dataGrid.multiselection === true) {\n var cell = this._addActionCell(dataGrid.currentVue._columns[\"phx-multiselect\"], 0, TPL_common_table_cell_multiselectaction);\n $(cell.el).insertBefore($(rowContent).find(\"td:first\"));\n this._showMultiSelection();\n }\n\n var cellSelected = false;\n if (!STR.isBlank(self.model.collection) && !STR.isBlank(self.model.collection.editModeCellSelected)) {\n var cell = $($(rowContent).children()[this.model.collection.editModeCellSelected]).find(\"input\");\n if ($(cell).is(\":input\") && !$(cell).is(\"[readonly]\")) {\n $(cell).attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\").focus();\n cellSelected = true;\n }\n }\n\n if (!cellSelected) {\n // select first input not readonly and not multiselection checkbox\n if (dataGrid.multiselection === true) {\n $(rowContent).find(\":input:not([readonly])\").eq(1).focus();\n } else {\n $(rowContent).find(\":input:not([readonly])\").eq(0).focus();\n }\n }\n },\n\n /**\n * Show the required columns\n */\n showRequieredColumns: function() {\n var rowContent = this.dataGrid.viewRow.el;\n var dataGrid = this.dataGrid;\n var self = this;\n // Show required columns\n $(rowContent).find(\"label.required\").each(function(index, label) {\n var property = $(label).attr(\"for\");\n dataGrid.model.block(property);\n self.blokedColumns.push(property);\n if (!dataGrid.currentVue._columns[property].visible) {\n dataGrid.toggleColumn(property);\n self.showedColumns.push(property);\n }\n });\n },\n\n /**\n * Hide required columns\n */\n hideRequieredColumns: function() {\n var dataGrid = this.dataGrid;\n _.each(this.showedColumns, function(property) {\n dataGrid.toggleColumn(property);\n }, this);\n _.each(this.blokedColumns, function(property) {\n dataGrid.model.unblock(property);\n }, this);\n this.showedColumns = [];\n this.blokedColumns = [];\n },\n\n /**\n * Remove the view and his events.\n */\n close: function() {\n this.off();\n this.remove();\n },\n\n //Accessibility\n _selectCell: function(index) {\n var cell = !STR.isBlank(index) ? $(this.$el.children()[index]) : $(this.$el.children()[0]);\n\n $(this.el).parent().find(\".grid-cell-focus\").removeClass(\"grid-cell-focus\").attr({ \"tabindex\": \"-1\" });\n\n if ($(cell).find(\":input\").is(\":input\")) {\n $(cell).find(\":input\").attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\").focus();\n } else {\n $(cell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n LOG.debug(\"focus the first cell\");\n }\n },\n\n isEditableGridView: function() {\n return false;\n }\n});\n","import { BaseModel } from '../models/base.model.js';\nimport { HABILITATION } from '../../utils/habilitation.js';\nimport { i18n } from '../../i18n.js';\nimport { STR } from '../../utils/str.js';\nimport TPL_common_button_bar from './button_bar.tpl.html';\n\nexport var ButtonBarView = Backbone.View.extend({\n /**\n * Event launched when a button is clicked\n */\n /**\n * Event launched when the model of this view changes its mode\n */\n /**\n * Event launched when the model of this view changes the property enabled\n */\n /**\n * Event launched when there is any event for the model\n */\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * tagName\n */\n tagName: \"span\",\n /**\n * className\n */\n className: \"phx-buttonBar\",\n\n focusToFormSaveElement: undefined,\n\n /**\n * Constructor\n * Button bar view.\n * It's model supports:\n * Events: change:mode, btn:click (buttonId)\n */\n initialize: function(options) {\n\n this.template = TPL_common_button_bar;\n\n //For simple models it's not needed to create a specific model\n this.model = new BaseModel({\n mode: \"C\",\n enabled: true\n });\n this.model.on(\"change:mode\", this._manageMode, this);\n this.model.on(\"change:enabled\", this._manageEnabled, this);\n\n /**\n * When set to true, no icons text is shown for this button\n */\n this.iconsOnly = false;\n if (options && options.iconsOnly) {\n if (!_.contains([true, false], options.iconsOnly)) {\n throw new Error(\"Property iconsOnly can have only these values: (true / false)\");\n }\n this.iconsOnly = options.iconsOnly;\n }\n if (options && options.ignoreHabilitationsNature) {\n this.ignoreHabilitationsNature = options.ignoreHabilitationsNature;\n }\n\n if (options && options.tagName) {\n this.tagName = options.tagName;\n }\n\n /**\n * Wether all buttons in this view are enabled or not\n */\n this.isEnabled = true;\n\n /**\n * This object has a boolean property for each button that indicates if user has droits over this button\n */\n this.droits = {};\n this.droits[\"new\"] = true;\n this.droits[\"copy\"] = true;\n this.droits[\"delete\"] = true;\n this.droits[\"save\"] = true;\n this.droits[\"revert\"] = true;\n\n /**\n * This object has a boolean property for each button that indicates if it is shown or not\n */\n this.visible = {};\n this.visible[\"new\"] = true;\n this.visible[\"copy\"] = true;\n this.visible[\"delete\"] = true;\n this.visible[\"save\"] = true;\n this.visible[\"revert\"] = true;\n\n // Delegate the events row:* to the coll\n this.model.on(\"all\", function(eventName) {\n if (_.indexOf(eventName, \":\") > 0) {\n var eventParts = eventName.split(\":\");\n var event = eventParts[0];\n var className = eventParts[1];\n switch (event) {\n case \"hide\":\n this.hideButton(className);\n break;\n case \"show\":\n this.showButton(className);\n break;\n case \"enable\":\n this.enableButton(className);\n break;\n case \"disable\":\n this.disableButton(className);\n break;\n default:\n break;\n }\n }\n }, this);\n\n if (STR.isBlank(this.focusToFormSaveElement)) {\n this.focusToFormSaveElement = $(\".focusToFormSave\");\n }\n\n /**\n * Object that represent all the titles of infobulle for each button\n */\n this.buttonsTitle = { \"revert\": i18n.t('common:revert') };\n },\n\n /**\n * Sets droits and manages enabling and disabling buttons depending on habilitation\n */\n habilitations: function(habilitations) {\n\n if (!STR.isBlank(this.habilitations)) {\n if (!HABILITATION.canCreate(habilitations)) {\n this.droits[\"new\"] = false;\n this.droits[\"copy\"] = false;\n }\n if (!HABILITATION.canDelete(habilitations)) {\n this.droits[\"delete\"] = false;\n }\n if (!HABILITATION.canCreate(habilitations) && !HABILITATION.canUpdate(habilitations)) {\n this.droits[\"save\"] = false;\n this.droits[\"revert\"] = false;\n }\n this._manageMode();\n }\n },\n\n /**\n * Sets droits and manages enabling and disabling buttons depending on habilitation\n */\n manageHabContext: function() {\n\n if (!STR.isBlank(this.model.getHabContext())) {\n if (this.ignoreHabilitationsNature) {\n if (!HABILITATION.canView(this.model.getHabContext().get(\"fonc_cour\"))) {\n this.droits[\"new\"] = false;\n this.droits[\"copy\"] = false;\n this.droits[\"delete\"] = false;\n this.droits[\"save\"] = false;\n this.droits[\"revert\"] = false;\n }\n } else {\n if (!HABILITATION.canCreate(this.model.getHabContext().get(\"fonc_cour\"))) {\n this.droits[\"new\"] = false;\n this.droits[\"copy\"] = false;\n }\n if (!HABILITATION.canDelete(this.model.getHabContext().get(\"fonc_cour\"))) {\n this.droits[\"delete\"] = false;\n }\n if (!HABILITATION.canCreate(this.model.getHabContext().get(\"fonc_cour\")) && !HABILITATION.canUpdate(this.model.getHabContext().get(\"fonc_cour\"))) {\n this.droits[\"save\"] = false;\n this.droits[\"revert\"] = false;\n }\n }\n }\n },\n\n /**\n * Enables or disables the whole buttonbar when enable property has changed.\n */\n _manageEnabled: function() {\n this.enabled(this.model.get(\"enabled\"));\n },\n\n /**\n * Enables or disables the whole buttonbar.\n */\n enabled: function(enable) {\n this.model.set(\"enabled\", enable, { silent: true });\n this.isEnabled = enable;\n if (this.isEnabled) {\n $(this.el).removeClass(\"ui-state-disabled\");\n $(\"button\", this.el).css(\"cursor\", \"\");\n } else {\n $(this.el).addClass(\"ui-state-disabled\");\n $(\"button\", this.el).css(\"cursor\", \"default\");\n }\n },\n\n /**\n * Hides a button by its name\n */\n hideButton: function(name) {\n this.visible[name] = false;\n $(this.el).find(\".\" + name).parent(\".btnBar-btn-container\").hide();\n },\n\n /**\n * Shows a button by its name\n */\n showButton: function(name) {\n this.visible[name] = true;\n if (this.droits[name]) {\n $(this.el).find(\".\" + name).parent(\".btnBar-btn-container\").show();\n }\n },\n\n /**\n * Enables a button by its name\n */\n enableButton: function(name) {\n if (this.droits[name]) {\n $(this.el).find(\".\" + name).button({ disabled: false });\n }\n },\n\n /**\n * Disables a button by its name\n */\n disableButton: function(name) {\n $(this.el).find(\".\" + name).button({ disabled: true });\n },\n\n /**\n * Checks if mode is a valid mode. If it is not, an error is shown. Disables buttons if it is necessary.\n */\n _manageMode: function() {\n var newMode = this.model.get(\"mode\");\n if (!_.contains([\"E\", \"R\", \"C\"], newMode)) {\n throw new Error(\"Mode not supported in ButtonBar : \" + newMode);\n }\n this._disableButtons(newMode);\n },\n\n /**\n * Disables/Enables buttons depending on current button bar mode (R:consultation, E:Edition, C:Creation)\n */\n _disableButtons: function(mode) {\n var $button = null;\n\n this.manageHabContext();\n\n if (mode !== \"E\") {\n // Added to solve the problem that appears when disable a button dynamically\n // this button doesn't trigger the mouseleave event\n $(this.el).find(\".revert\").trigger(\"mouseleave\");\n\n // Disable focus order in forms. It returns to the normal order.\n this.focusToFormSaveElement.attr(\"tabindex\", \"-1\");\n } else {\n // Enable focus order in forms. It allow to change the focus order using hidden element.\n this.focusToFormSaveElement.attr(\"tabindex\", \"0\");\n }\n\n // R : consultation mode\n // E : edition mode\n // C : creation mode\n $(this.el).find(\".save\").button({ disabled: (mode !== \"E\") });\n $(this.el).find(\".revert\").button({ disabled: (mode !== \"E\") });\n $(this.el).find(\".new\").button({ disabled: (mode === \"E\") });\n $(this.el).find(\".delete\").button({ disabled: (mode !== \"R\") });\n $(this.el).find(\".copy\").button({ disabled: (mode !== \"R\") });\n\n if ($(this.el).find(\".revert\").is(':disabled')) {\n $(this.el).find(\"button .revert\").text(\"\");\n $(this.el).find(\".revert\").removeAttr(\"title\");\n } else {\n $(this.el).find(\"button .revert\").text(i18n.t('common:revert'));\n $(this.el).find(\".revert\").attr(\"title\", i18n.t('common:revert'));\n }\n\n for (var button in this.droits) {\n if (this.droits[button] === false) {\n $button = $(this.el).find(\".\" + button);\n if ($button.length > 0) {\n $button.hide();\n }\n }\n if (this.visible[button] === true && this.droits[button] === true) {\n $button = $(this.el).find(\".\" + button);\n if ($button.length > 0) {\n $button.show();\n }\n }\n }\n },\n\n /**\n * View JQuery events\n */\n events: {\n \"click .ui-icon\": \"_toggleMenu\",\n \"click button\": \"_clickListener\",\n \"click .customButton\": \"_customClickListener\"\n },\n\n /**\n * When a button is clicked launches its management if it is enabled. The event must be listened and managed from uc\n */\n _clickListener: function(event) {\n if (this.isEnabled) {\n var btnClicked = event.currentTarget.value;\n this.model.trigger(\"btn:click\", btnClicked);\n }\n },\n\n /**\n * When a custom button is clicked launches its management if it is enabled. The event must be listened and managed from uc\n */\n _customClickListener: function(event) {\n if (this.isEnabled && !STR.isBlank($(event.target).attr(\"value\"))) {\n var btnClicked = $(event.target).attr(\"value\");\n this.model.trigger(\"btn:click\", btnClicked);\n }\n },\n\n /**\n * Shows/Hides menu with many options\n */\n _toggleMenu: function(event) {\n var self = this;\n\n if ($(event.currentTarget).parent().hasClass(\"revert\") === false) {\n var menuId = event.currentTarget.className.split(\" \")[0].replace(\"-menu\", \"\");\n if ($(\".\" + menuId + \"-menu-content\", this.el).is(\":visible\")) {\n $(\".\" + menuId + \"-menu-content\", this.el).hide();\n } else {\n $(\".\" + menuId + \"-menu-content\", this.el).show();\n //If you click out of the menu, close the menu.\n var mouseDown = function(event) {\n var element = $(self.el).find(event.target);\n if (element.length !== 0) {\n self._customClickListener(event);\n }\n $(\".\" + menuId + \"-menu-content\", self.el).hide();\n };\n\n $(document).one(\"mousedown\", mouseDown);\n }\n }\n },\n\n /**\n * Renders this view\n */\n render: function() {\n var self = this;\n var json = { \"i18n\": i18n };\n $(this.el).html(this.template(json));\n var showText = !this.iconsOnly;\n $(this.el).find(\".save\").button({ text: showText });\n $(this.el).find(\".revert\").button({ icons: { primary: \"ui-icon-arrowrefresh-1-w\" }, text: false });\n $(this.el).find(\".new\").button({ text: showText });\n $(this.el).find(\".delete\").button({ text: showText });\n $(this.el).find(\".copy\").button({ text: showText });\n\n if (!_.isEmpty(this.buttonsTitle)) {\n _.each(this.buttonsTitle, function(title, button) {\n if (!STR.isBlank(title)) {\n $(self.el).find(\".\" + button).parent().attr(\"title\", title);\n }\n });\n }\n\n //Default mode\n this._disableButtons(\"mode\", this.model.get(\"mode\"));\n\n return this;\n },\n\n /**\n * Adds a new button to the button bar\n * @param {String} insertTo - \"first\" / \"last\" / The class of the element after which the button is inserted\n * @param {String} name - The name of the button\n * @param {String} label - The label text of the button that will be shown to the user\n * @param {String} icon - The icon shown for this button\n * @param {Boolean} showText - Wether to show text or not\n * @param {Boolean} habilitation - Wether if there are habilitations to show the button or not\n * @param {String} title - set title four infobulle\n * @param {Boolean} discret - Boolean, if set to true the button is added with style discret\n */\n addButtonAt: function(insertTo, name, label, icon, showText, habilitation, title, hasMenu, menuOptions, discret) {\n var $groupButton = $(\"
    \");\n var menuIcon;\n var menu = \"\";\n var $button = $(\"\");\n var l_showText = showText;\n\n if (!STR.isBlank(hasMenu) && hasMenu === true) {\n menuIcon = \"\";\n $button = $(\"\" + label + \"\" + menuIcon + \"\");\n }\n\n if (!_.isBoolean(l_showText)) {\n l_showText = true;\n }\n l_showText = (!this.iconsOnly && l_showText);\n\n if (!STR.isBlank(hasMenu) && hasMenu === true) {\n\n menu = $(\"
    \");\n menu.addClass(name + \"-menu-content\");\n menu.addClass(\"phx-buttonBar-menu-content\");\n menu.addClass(\"ui-menu\");\n\n var $options = $(\"
      \");\n for (var i = 0; i < menuOptions.length; i++) {\n $options.append(\"
    • \");\n }\n menu.append($options);\n }\n\n //Infobulle\n if (title && !STR.isBlank(title)) {\n $groupButton.attr(\"title\", title);\n }\n $button.button({ text: l_showText });\n $groupButton.addClass(\"btnBar-btn-container\");\n $groupButton.append($button);\n if (!STR.isBlank(hasMenu) && hasMenu === true) {\n $groupButton.append(menu);\n }\n\n // Position the button\n if (insertTo == \"first\") {\n $($groupButton).append(\" \");\n $(this.el).prepend($groupButton);\n } else if (insertTo == \"last\") {\n $(this.el).append($groupButton);\n $($groupButton).prepend(\" \");\n } else {\n $(this.el).find(\".\" + insertTo).parent().after($groupButton);\n }\n\n if (icon) {\n $(this.el).find(\".\" + name).button(\"option\", \"icons\", { primary: icon });\n }\n\n if (_.isBoolean(habilitation)) {\n this.droits[name] = habilitation;\n } else {\n this.droits[name] = true;\n }\n this.visible[name] = true;\n\n this._manageMode();\n\n if (_.isBoolean(discret) && discret === true) {\n $button.addClass(\"phx-button-discret\");\n }\n },\n\n /**\n * Adds a new button to the button bar\n */\n addButton: function(name, label, icon, showText, habilitation, title, hasMenu, menuOptions, discret) {\n this.addButtonAt(\"last\", name, label, icon, showText, habilitation, title, hasMenu, menuOptions, discret);\n },\n\n /**\n * Adds a new button at the top of the button bar\n */\n addButtonFirst: function(name, label, icon, showText, habilitation, title, hasMenu, menuOptions, discret) {\n this.addButtonAt(\"first\", name, label, icon, showText, habilitation, title, hasMenu, menuOptions, discret);\n },\n\n /**\n * Delete button from the button bar\n */\n deleteButton: function(name) {\n this.visible[name] = false;\n this.droits[name] = false;\n\n $(this.el).find(\".\" + name).parent().remove();\n },\n\n changeButtonLabel: function(name, label) {\n var button = $(this.el).find(\".\" + name);\n if (button) {\n button.button({ label: label });\n }\n },\n\n /**\n * Set title to button (for infobulle)\n */\n setTitle: function(button, title) {\n if (button && !STR.isBlank(button)) {\n this.buttonsTitle[button] = title;\n }\n\n }\n});","/**\n * Utilities to manage session objects\n */\nexport var SESSION = {\n\n dummy: \"\",\n /**\n * Assigned the session\n *\n */\n set: function(key, value) {\n sessionStorage.setItem(key, JSON.stringify(value));\n },\n\n /**\n * Returns the session\n *\n */\n get: function(key) {\n return JSON.parse(sessionStorage.getItem(key));\n },\n\n /**\n * Clear the session\n */\n removeItem: function(key) {\n sessionStorage.removeItem(key);\n },\n\n /**\n * Clear the session\n */\n clear: function() {\n sessionStorage.clear();\n }\n};","import { STR } from '../../../utils/str.js';\n\nexport var AutocompleteColl = Backbone.Collection.extend({\n\n dummy: \"\",\n\n /**\n * Name of the property to show in the label\n */\n label: \"libelle\",\n\n /**\n * Event launched when an element is clicked\n *\n */\n\n /**\n * Constructor\n * Autocompletion results collection\n */\n initialize: function(a_params) {\n /**\n * Render function of every collection element\n */\n this.itemRenderer = null; //This was outside the initialize\n var params = a_params || {};\n\n if (!STR.isBlank(params.label)) {\n /**\n * Label of the Collection\n */\n this.label = params.label;\n }\n },\n\n /**\n * Method to be executed when a response from a call to a webservice is received successfully\n */\n parse: function(response) {\n var data = [];\n var self = this;\n _.each(response, function(resp, index) {\n data[index] = {};\n data[index].label = self._renderer(resp);\n data[index].attrs = resp;\n if (!STR.isBlank(resp.id)) {\n data[index].id = resp.id;\n } else {\n data[index].id = resp.code;\n }\n }, this);\n\n return data;\n },\n\n /**\n * Method to be executed when a response from a call to a webservice is received successfully\n */\n _renderer: function(resp) {\n if (this.itemRenderer) {\n return this.itemRenderer(resp);\n } else {\n return resp[this.label];\n }\n }\n\n});","/**\n * Intern Object that represents a table column.\n */\nexport var InternColumnModel = function() {\n\n /**\n * The view of the Header cell.\n */\n this.header = null;\n /**\n * The view of the aux Header fake cell.\n */\n this.headerFake = null;\n /**\n * View of the current editable cell.\n */\n this.editableCell = null;\n /**\n * Array of the cells related to the column.\n */\n this.cells = [];\n /**\n * If the column is currently visible or not.\n */\n this.visible = true;\n /**\n * If the column is showed on the menu Chooser.\n */\n this.omitMenu = false;\n /**\n * If the column radio in menu is marked or not.\n */\n this.radioOff = false;\n\n /**\n * If the column is selectable to sortingby it.\n */\n this.sortable = true;\n /**\n * If the grid is currently being sorting by this column.\n */\n this.sort = null;\n /**\n * With of the column\n */\n this.width = 100;\n};\n\n_.extend(InternColumnModel.prototype, {\n /**\n * Hide the Column.\n */\n hide: function() {\n $(this.header.el).hide();\n $(this.headerFake.el).hide();\n $(this.editableCell).hide();\n _.each(this.cells, function(cell) {\n $(cell.el).hide();\n });\n },\n\n /**\n * Hide the Column with Chrome.\n */\n hide_in_chrome: function() {\n $(this.header.el).css({ 'backface-visibility': 'hidden', 'display': 'inherit' });\n $(this.headerFake.el).css({ 'backface-visibility': 'hidden', 'display': 'inherit' });\n $(this.editableCell).css({ 'backface-visibility': 'hidden', 'display': 'inherit' });\n _.each(this.cells, function(cell) {\n $(cell.el).css({ 'backface-visibility': 'hidden', 'display': 'inherit' });\n });\n var self = this;\n window.setTimeout(function() {\n $(self.header.el).css({ 'backface-visibility': 'hidden', 'display': 'none' });\n $(self.headerFake.el).css({ 'backface-visibility': 'hidden', 'display': 'none' });\n $(self.editableCell).css({ 'backface-visibility': 'hidden', 'display': 'none' });\n _.each(self.cells, function(cell) {\n $(cell.el).css({ 'backface-visibility': 'hidden', 'display': 'none' });\n });\n }, 10);\n },\n\n hideHeader: function() {\n $(this.header.el).hide();\n $(this.headerFake.el).hide();\n },\n\n /**\n * Reset the Column width to its original value.\n */\n setOriginalWidth: function() {\n // Set column width to auto\n $(this.header.el).css(\"width\", this.width + \"px\");\n $(this.header.el).find(\".ui-resizable\").css(\"width\", \"100%\");\n $(this.headerFake.el).css(\"width\", this.width + \"px\");\n },\n\n /**\n * Set column width to auto\n */\n setWidthAuto: function() {\n $(this.header.el).css(\"width\", \"auto\");\n $(this.header.el).find(\".ui-resizable\").css(\"width\", \"100%\");\n $(this.headerFake.el).css(\"width\", \"auto\");\n },\n\n /**\n * Show the Column\n */\n show: function() {\n $(this.header.el).show();\n $(this.headerFake.el).show();\n $(this.editableCell).show();\n _.each(this.cells, function(cell) {\n $(cell.el).show();\n });\n },\n\n /**\n * Show the Column with Chrome.\n */\n show_in_chrome: function() {\n $(this.header.el).css({ 'backface-visibility': '', 'display': 'none' });\n $(this.headerFake.el).css({ 'backface-visibility': '', 'display': 'none' });\n $(this.editableCell).css({ 'backface-visibility': '', 'display': 'none' });\n _.each(this.cells, function(cell) {\n $(cell.el).css({ 'backface-visibility': '', 'display': 'none' });\n });\n var self = this;\n window.setTimeout(function() {\n $(self.header.el).css({ 'backface-visibility': 'visible', 'display': '' });\n $(self.headerFake.el).css({ 'backface-visibility': 'visible', 'display': '' });\n $(self.editableCell).css({ 'backface-visibility': 'visible', 'display': '' });\n _.each(self.cells, function(cell) {\n $(cell.el).css({ 'backface-visibility': 'visible', 'display': '' });\n });\n }, 10);\n },\n\n /**\n * Show the resizeable div to allow the user resize the column.\n */\n showResizeable: function() {\n // Show resizeable div\n $(this.header.el).find(\".ui-resizable-handle\").show();\n },\n\n /**\n * Hide the resizeable div to deny the user to resize the column.\n */\n hideResizeable: function() {\n $(this.header.el).find(\".ui-resizable-handle\").hide();\n },\n\n /**\n * Add the ui class that shows the right border to the header.\n */\n showRightMargin: function() {\n $(this.header.el).addClass(\"ui-grid-th-RightBorder\");\n },\n\n /**\n * Removes the ui class that shows the right border to the header.\n */\n hideRightMargin: function() {\n $(this.header.el).removeClass(\"ui-grid-th-RightBorder\");\n },\n\n /**\n * Called when backbone removes the view.\n */\n remove: function() {\n if (this.header) {\n this.header.remove();\n }\n if (this.headerFake) {\n this.headerFake.remove();\n }\n delete this.header;\n delete this.headerFake;\n delete this.editableCell;\n var cellsLength = this.cells.length;\n for (var i = 0; i < cellsLength; i++) {\n this.cells[i].remove();\n }\n this.cells.splice(0, cellsLength);\n delete this.cells;\n delete this.visible;\n delete this.sortable;\n delete this.sort;\n delete this.radioOff;\n }\n});\n","import { STR } from '../../../utils/str.js';\n\n/**\n * Intern Object that represents a table vue.\n */\n// export var InternVueModel = function(vueName, columns, nongroupee, menuName, buttonText, beforeFetchCallback) {\nexport var InternVueModel = function(vueName, options) {\n\n var self = this;\n if (!STR.isBlank(options.columns)) {\n this.columns = options.columns;\n }\n if (!STR.isBlank(options.nongroupee)) {\n this.nongroupee = options.nongroupee; // For treeviews, nongroupee indicates that table shouldn't be grouped\n }\n if (!STR.isBlank(options.menuName)) {\n this.menuName = options.menuName;\n }\n if (!STR.isBlank(options.buttonText)) {\n this.buttonText = options.buttonText;\n }\n if (!STR.isBlank(options.beforeFetchCallback)) {\n this.beforeFetchCallback = options.beforeFetchCallback;\n }\n if (!STR.isBlank(vueName)) {\n this.vueName = vueName;\n }\n if (!STR.isBlank(options.code)) {\n this.code = options.code;\n }\n if (!_.isUndefined(options.columns) && options.columns.minWidthMode === true) {\n processMinWidth();\n }\n\n this._columns = {}; // Used to store columns\n this.cellRenderers = {}; //Allow the definition of custom cell renderer per column\n this._visibleColumns = []; // Used to store default visible columns\n this._lockedColumns = []; // Used to store default locked columns\n this._columnsAlign = []; // Used to store the columns alignment\n this._sortableCustomNames = {};\n\n function processMinWidth() {\n _.each(self.columns, function(column, index) {\n if (!_.isUndefined(column.minWidth, index)) {\n self.column[index].width = '100%';\n }\n });\n }\n};","import { ReadOnlyModel } from '../../models/readOnly.model.js';\nimport { STR } from '../../../utils/str.js';\nimport TPL_common_table_col_menu from './table_col_menu.tpl.html';\n\nexport var ColumnsChooserView = Backbone.View.extend({\n\n dummy: \"\",\n className: \"phx-grid-nemu ui-grid-th\",\n\n /**\n * View of the menu that toggles the columns.\n */\n initialize: function(options) {\n this.template = TPL_common_table_col_menu;\n this.model = new ReadOnlyModel({\n defaults: {\n mode: \"\"\n }\n });\n this.dataGrid = options.dataGrid;\n this.visible = [];\n this.invisible = [];\n this.listenTo(this.dataGrid.model, \"toggle:column\", this._manageIcons);\n this.listenTo(this.dataGrid.model, \"lock:column\", this._hideMenuOption);\n this.listenTo(this.dataGrid.model, \"unlock:column\", this._showMenuOption);\n this.listenTo(this.dataGrid.model, \"block:column\", this._hideMenuOption);\n this.listenTo(this.dataGrid.model, \"unblock:column\", this._showMenuOption);\n\n // common class prefix\n this.classPrefix = \"phx-grid-menu-\";\n },\n\n /**\n * Event when click on a column header.\n */\n /**\n * Event when click on a checkbox on the header of the multisel column.\n */\n events: {\n \"click button\": \"_toggleMenu\",\n \"click li a\": \"_selectOption\"\n },\n\n /**\n * Render the menu view\n */\n render: function() {\n var dynamic = { text: \"\" };\n $(this.el).html(this.template(dynamic));\n $(\"button\", this.el).button({\n icons: {\n primary: \"ui-icon-triangle-1-s\"\n },\n text: false\n });\n\n this.menu = this._configureMenu();\n this.menu.hide();\n\n return this;\n },\n\n /**\n * Manage the icon status of the menu to see what columns are displayed or not.\n */\n _manageIcons: function(columnName) {\n this.menu.find(\".\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\") + \" span\").toggleClass(\"phx-icon-planresp-valider\");\n this.menu.find(\".\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\") + \" span\").toggleClass(\"none\");\n this._manageVisibleState(columnName);\n },\n\n /**\n * Show the column in the menu.\n */\n _showMenuOption: function(columnName) {\n this.menu.find(\"li .\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\")).parent().show();\n },\n\n /**\n * Hide a column in the menú.\n */\n _hideMenuOption: function(columnName) {\n this.menu.find(\"li .\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\")).parent().hide();\n },\n\n /**\n * Add the columns to the menu list.\n */\n _configureMenu: function() {\n var $menu = $(\"ul\", this.el);\n _.each(this.dataGrid.currentVue.columns, function(column, index, columns) {\n if (index < columns.length && !this.dataGrid.currentVue._columns[column.property].omitMenu &&\n ((column.title && column.title.length > 0 && index === 0) || index > 0)) {\n var $li = $(\"
    • \");\n var $a = $(\"
      \");\n var $span = $(\"\").addClass(\"phx-icon phx-icon-planresp-valider\");\n $a.append($span);\n var title = (!STR.isBlank(column.menuTitle) && !STR.isBlank(column.menuTitle)) ? column.menuTitle : column.title;\n $a.append(title);\n $li.append($a);\n if (STR.isBlank(title)) { //Only add option to menu if it has some title text\n $li.hide();\n }\n $menu.append($li);\n\n this.visible.push(column.property);\n }\n }, this);\n $menu.menu();\n $menu.css(\"cursor\", \"pointer\");\n return $menu;\n },\n\n /**\n * Manages the column menú click hidding or showing the cilcked column.\n */\n _selectOption: function(event) {\n var columnId = event.currentTarget.className.split(\" \")[0].replace(this.classPrefix, \"\");\n // If there are only one visible column and try to click it the event is not triggered.\n if (this.visible.length > 1 || _.indexOf(this.visible, columnId) === -1) {\n this.dataGrid.model.trigger(\"toggle:column\", columnId);\n }\n this._toggleMenu();\n },\n\n _manageVisibleState: function(columnId) {\n var indexOf = _.indexOf(this.invisible, columnId);\n if (indexOf === -1) {\n this.invisible.push(columnId);\n this.visible.splice(_.indexOf(this.visible, columnId), 1);\n } else {\n this.visible.push(columnId);\n this.invisible.splice(_.indexOf(this.invisible, columnId), 1);\n }\n },\n\n /**\n * Opens or Closes the menú.\n */\n _toggleMenu: function() {\n if (this.menu.is(\":visible\")) {\n this.menu.hide();\n } else {\n var $targetEl = $(this.el);\n this.menu.show().position({\n my: \"right top\",\n at: \"bottom\",\n of: $targetEl\n });\n var self = this;\n $(document).one(\"mousedown\", function(event) {\n var element = $targetEl.find(event.target);\n if (element.length === 0) {\n // mousedown out of the button\n self._toggleMenu();\n }\n });\n }\n //\t\t}\n },\n\n /**\n * Called when backbone removes the view.\n */\n remove: function() {\n this.dataGrid = null;\n\n var visibleLength = this.visible.length;\n this.visible.splice(0, visibleLength);\n delete this.visible;\n\n var invisibleLength = this.invisible.length;\n this.invisible.splice(0, invisibleLength);\n delete this.invisible;\n\n Backbone.View.prototype.remove.call(this);\n this.$el.empty();\n },\n\n /**\n * Set the text of an item of the menu\n *\n */\n setMenuItemTitle: function(property, title) {\n var $entry = $(\".\" + this.classPrefix + property, this.$el);\n if ($entry && $entry.length > 0) {\n var $span = $(\"span\", $entry);\n $entry.html($span);\n $entry.append(title);\n if ($entry.parent(\"li\").length > 0 && !$entry.parent(\"li\").is(\":visible\")) {\n $entry.parent(\"li\").removeClass(\"ui-menu-divider\");\n $entry.parent(\"li\").addClass(\"ui-menu-item\");\n $entry.parent(\"li\").show();\n }\n }\n }\n});","export var DataGridCellThFakeView = Backbone.View.extend({\n\n dummy: \"\",\n tagName: \"th\",\n\n /**\n * View of the Headers Fake Cells, only for resize an fill no data headers.\n */\n initialize: function(options) {\n this.hIndex = options.hIndex;\n this.cellIndex = options.cellIndex;\n this.last = options.last;\n },\n\n /**\n * Makes the columns resizeables.\n */\n resizable: function(brother) {\n var column = $(this.el).find(\"div\");\n column.resizable({\n handles: \"e\",\n minWidth: 25,\n resize: function(event, ui) {\n var newWidth = ui.size.width + \"px\";\n ui.helper.parent().css(\"width\", newWidth);\n $(brother.el).width(newWidth);\n }\n });\n },\n\n /**\n * Renders the View.\n */\n render: function() {\n $(this.el).addClass(\"phx-th\" + this.hIndex + this.cellIndex + \" ui-grid-th\");\n if (this.last !== true) {\n $(this.el).addClass(\"ui-grid-th-RightBorder\");\n }\n\n return this;\n }\n\n});","import { LOG } from '../../../utils/log.js';\n\nexport var DataGridCellThView = Backbone.View.extend({\n\n dummy: \"\",\n tagName: \"th\",\n\n /**\n * Event when click on a column header.\n */\n /**\n * Event when click on a checkbox on the header of the multisel column.\n */\n events: {\n \"click\": \"_clickListener\",\n \"click .ui-resizable-handle\": function() {\n // If I'm trying to resize and I do a silly click then it nothing happens.\n return false;\n },\n \"click .phx-tristate-box\": \"_selectUnselectAll\"\n },\n\n /**\n * View of the Headers Cells.\n */\n initialize: function(options) {\n this.text = options.text;\n this.hIndex = options.hIndex;\n this.cellIndex = options.cellIndex;\n this.last = options.last;\n this.dataGrid = options.dataGrid;\n this.columnCode = options.columnCode;\n this.sortButton = null;\n this.sortButtonIcon = null;\n this.multiselection = options.multiselection ? true : false;\n this.listenTo(this.dataGrid.model, \"rows:checked\", this._manageChecking);\n this.minWidth = options.minWidth || 45;\n this.minWidthMode = options.minWidthMode;\n },\n\n /**\n * Manages the Header click and sorting if is enabled for that column.\n */\n _clickListener: function() {\n if (this.columnCode !== \"phx-last\") {\n var currentColumn = this.dataGrid.currentVue._columns[this.columnCode];\n\n if (currentColumn.sortable) {\n if (!_.isNull(currentColumn.sort)) {\n this.sortButton.toggleClass(\"phx-sort-state-desc\");\n this.sortButtonIcon.toggleClass(\"ui-icon-triangle-1-s\");\n this.sortButton.toggleClass(\"phx-sort-state-asc\");\n this.sortButtonIcon.toggleClass(\"ui-icon-triangle-1-n\");\n currentColumn.sort = !currentColumn.sort;\n } else {\n var otherColumns = null;\n\n this.dataGrid.currentVue._columns[this.columnCode].sort = true;\n this.sortButton.show();\n otherColumns = _.difference(_.keys(this.dataGrid.currentVue._columns), [this.columnCode]);\n _.each(otherColumns, function(column) {\n this.dataGrid.currentVue._columns[column].sort = null;\n }, this);\n }\n }\n this.trigger(\"click\", this.columnCode);\n }\n },\n\n /**\n * Hide the Sorting button.\n */\n hideSortButton: function() {\n if (this.sortButton && _.isNull(this.dataGrid.currentVue._columns[this.columnCode].sort)) {\n this.sortButton.hide();\n this.sortButton.addClass(\"phx-sort-state-asc\");\n this.sortButtonIcon.addClass(\"ui-icon-triangle-1-n\");\n this.sortButton.removeClass(\"phx-sort-state-desc\");\n this.sortButtonIcon.removeClass(\"ui-icon-triangle-1-s\");\n }\n },\n\n /**\n * Makes the columns resizeables.\n */\n resizable: function(brother) {\n var column = $(this.el).find(\"div\");\n var datagrid = this.dataGrid;\n var self = this;\n\n column.resizable({\n handles: \"e\",\n minWidth: self.minWidth,\n resize: function(event, ui) {\n var newWidth = ui.size.width + \"px\";\n ui.helper.parent().css(\"width\", newWidth);\n $(brother.el).width(newWidth);\n },\n stop: function(event, ui) {\n var difference = ui.size.width - ui.originalSize.width;\n var minWidhtText = $(\".phx-grid-scroll table.ui-grid-table\", datagrid.el).css(\"min-width\");\n var minWidth = parseInt(minWidhtText.substring(0, minWidhtText.length - 2)) + difference;\n datagrid._setTableMinWidth(minWidth);\n if (self.minWidthMode) {\n var parentModified = $(ui.element).closest('th').toArray();\n var headerNodesSelection = $(\".phx-grid-header-scroll table\", datagrid.el).find(\"tr th\").toArray();\n\n var index = _.findIndex(headerNodesSelection, function(item) {\n return (parentModified[0].isEqualNode(item));\n })\n if (index !== -1) {\n $(\".phx-grid-scroll table.ui-grid-table\", datagrid.el).find(\"thead tr th\").get(index).style.minWidth = ui.size.width + 'px';\n }\n\n }\n //\t\t\t\t$(\"table\",datagrid.el).css(\"min-width\",minWidth+\"px\");\n LOG.info(difference + \" \" + minWidhtText + \" \" + minWidth + \"px\");\n }\n });\n },\n\n /**\n * Renders the header view.\n */\n render: function() {\n var content = $(\"
      \");\n\n $(this.el).addClass(\"phx-th\" + this.hIndex + this.cellIndex + \" ui-grid-th\");\n if (this.multiselection) {\n content.append(\"
      \");\n } else {\n var alignment = (this.dataGrid.currentVue._columnsAlign && this.dataGrid.currentVue._columnsAlign[this.columnCode]) ? this.dataGrid.currentVue._columnsAlign[this.columnCode] : \"left\";\n\n switch (alignment) {\n case \"right\":\n content.css(\"text-align\", \"right\");\n break;\n case \"center\":\n content.css(\"text-align\", \"center\");\n break;\n default:\n content.css(\"text-align\", \"left\");\n break;\n }\n content.append($(\"\" + _.result(this, \"text\") + \"\"));\n content.css(\"width\", \"100%\");\n this.sortButton = $(\"\");\n this.sortButton.css(\"border\", \"none\");\n this.sortButton.addClass(\"phx-sort-button\");\n this.sortButtonIcon = $(\"\");\n this.sortButtonIcon.addClass(\"ui-icon\");\n this.sortButton.append(this.sortButtonIcon);\n content.append(this.sortButton);\n this.sortButton.hide();\n this.sortButton.addClass(\"phx-sort-state-asc\");\n this.sortButtonIcon.addClass(\"ui-icon-triangle-1-n\");\n }\n $(this.el).append(content);\n if (this.last !== true) {\n $(this.el).addClass(\"ui-grid-th-RightBorder\");\n } else {\n content.css(\"position\", \"relative\");\n }\n // Manage the selection checkbox\n this._manageChecking();\n //accessibility\n this.$el.attr({ \"role\": \"columnheader\" });\n //Set all inputs of the header to -1 to avoid tab selection\n this.$el.find(\"a\").is(\"a\") ? this.$el.find(\"a\").attr(\"tabindex\", \"-1\") : null;\n this.$el.find(\"select\").is(\"select\") ? this.$el.find(\"select\").attr(\"tabindex\", \"-1\") : null;\n this.$el.find(\":input\").is(\":input\") ? this.$el.find(\"input\").attr(\"tabindex\", \"-1\") : null;\n this.$el.find(\"button\").is(\"button\") ? this.$el.find(\"button\").attr(\"tabindex\", \"-1\") : null;\n\n return this;\n },\n\n /**\n * Manages when click on the header checkbox on multiselection grid.\n */\n _manageChecking: function() {\n if (this.multiselection) {\n if (this.dataGrid.model.multiselectColl.length === 0) {\n this._setTristateUnchecked();\n } else if (this.dataGrid.model.multiselectColl.length !== this.dataGrid.model.coll.totalRecords) {\n this._setTristateUndefined();\n } else {\n this._setTristateChecked();\n }\n }\n },\n\n /**\n * Sets the Tristate checkbox to Checked state.\n */\n _setTristateChecked: function() {\n var jQtarget = this.$el.find(\".phx-tristate-box\");\n\n jQtarget.html('');\n jQtarget.addClass(\"phx-tristate-checked\");\n jQtarget.removeClass(\"phx-tristate-unchecked\");\n jQtarget.removeClass(\"phx-tristate-undefined\");\n },\n\n /**\n * Sets the Tristate checkbox to Unchecked state.\n */\n _setTristateUnchecked: function() {\n var jQtarget = this.$el.find(\".phx-tristate-box\");\n\n jQtarget.html('');\n jQtarget.removeClass(\"phx-tristate-checked\");\n jQtarget.addClass(\"phx-tristate-unchecked\");\n jQtarget.removeClass(\"phx-tristate-undefined\");\n },\n\n /**\n * Sets the Tristate checkbox to Undefined state.\n */\n _setTristateUndefined: function() {\n var jQtarget = this.$el.find(\".phx-tristate-box\");\n\n jQtarget.html('');\n jQtarget.removeClass(\"phx-tristate-checked\");\n jQtarget.removeClass(\"phx-tristate-unchecked\");\n jQtarget.addClass(\"phx-tristate-undefined\");\n },\n\n /**\n * Perform a Selection/Unselection on all rows in a multiselectable grid.\n */\n _selectUnselectAll: function(event) {\n var state = $(event.currentTarget).hasClass(\"phx-tristate-unchecked\");\n\n if (state) {\n this.dataGrid.selectAllRows();\n } else {\n this.dataGrid.clearSelectedRows();\n }\n this.dataGrid.model.trigger(\"tristate:checked\", state);\n },\n\n /**\n * Set the text of the header\n *\n */\n setHeaderTitle: function(title) {\n var $span = $(\"span.title\", this.$el);\n\n if ($span && $span.length > 0) {\n $span.html(title);\n }\n }\n});","import { i18n } from '../../../i18n.js';\nimport { ReadOnlyModel } from '../../models/readOnly.model.js';\nimport { STR } from '../../../utils/str.js';\nimport { LOG } from '../../../utils/log.js';\nimport TPL_common_table_main_menu from './table_main_menu.tpl.html';\n\nexport var MainChooserView = Backbone.View.extend({\n\n dummy: \"\",\n\n className: \"phx-grid-nemu ui-grid-th\",\n\n /**\n * View of the menu used to select a view for the table and to toggle the columns.\n */\n initialize: function(options) {\n this.template = TPL_common_table_main_menu;\n this.model = new ReadOnlyModel({\n defaults: {\n mode: \"\"\n }\n });\n this.dataGrid = options.dataGrid;\n /**\n * Visible columns for this table view\n */\n this.visible = [];\n /**\n * Invisible columns for this table view\n */\n this.invisible = [];\n\n this.listenTo(this.dataGrid.model, \"toggle:column\", this._manageIcons);\n this.listenTo(this.dataGrid.model, \"lock:column\", this._hideMenuOption);\n this.listenTo(this.dataGrid.model, \"unlock:column\", this._showMenuOption);\n this.listenTo(this.dataGrid.model, \"block:column\", this._hideMenuOption);\n this.listenTo(this.dataGrid.model, \"unblock:column\", this._showMenuOption);\n this.listenTo(this.dataGrid.model, \"buttonVueChanged:click\", this._changeVueSelected);\n // common class prefix\n this.classPrefix = \"phx-grid-menu-\";\n\n },\n\n /**\n * Event when click on triangle to toggle menu.\n */\n /**\n * Event when click on a link to select the column.\n */\n /**\n * Event when click on a link to select a view.\n */\n /**\n * Event when click on a link to select a option in the main menu (selectionner vue o seleccionner column)\n */\n events: {\n \"click .phx-hd-main-btn > button\": \"_toggleMenu\",\n \"click .phx-hd-main-btn ul.phx-grid-column-chooser li a\": \"_selectColumn\",\n \"click .phx-hd-main-btn ul.phx-grid-vues-chooser li a\": \"_selectVue\",\n \"click .phx-hd-main-btn > ul > li > a\": \"_selectOption\"\n },\n /**\n *\n * Manage the icon status of the menu to see what columns are displayed or not.\n */\n _manageIcons: function(columnName) {\n this.subMenuCols.find(\".\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\") + \" span\").toggleClass(\"phx-icon-planresp-valider\");\n this.subMenuCols.find(\".\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\") + \" span\").toggleClass(\"none\");\n this.dataGrid.currentVue._columns[columnName].radioOff = !this.dataGrid.currentVue._columns[columnName].radioOff;\n },\n\n /**\n * Show the column in the menu.\n */\n _showMenuOption: function(columnName) {\n this.subMenuCols.find(\"li .\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\")).parent().show();\n this.dataGrid.currentVue._columns[columnName].omitMenu = false;\n\n },\n\n /**\n * Hide a column in the menú.\n */\n _hideMenuOption: function(columnName) {\n this.subMenuCols.find(\"li .\" + this.classPrefix + columnName.replace(\".\", \"\\\\.\")).parent().hide();\n if (this.dataGrid.currentVue._columns[columnName]) {\n this.dataGrid.currentVue._columns[columnName].omitMenu = true;\n } else {\n LOG.warn(\"error, you try to hide the column without existing\");\n }\n\n },\n /**\n * Initiallize visibility information\n */\n resetVisibility: function() {\n this.visible = [];\n this.invisible = [];\n },\n\n render: function() {\n\n var dynamic = { text: \"\", \"i18nCom\": i18n };\n $(this.el).html(this.template(dynamic));\n $(\"button\", this.el).button({\n icons: {\n primary: \"ui-icon-triangle-1-s\"\n },\n text: false\n });\n\n this.menu = this._configureMenu();\n this.menu.hide();\n\n return this;\n },\n\n /**\n * Add the columns to the menu list.\n */\n _configureMenu: function() {\n var menu = $(\".phx-hd-main-btn > ul\", this.el);\n var self = this;\n\n var subMenuCols = $(\"ul.phx-grid-column-chooser\", this.el);\n _.each(this.dataGrid.currentVue.columns, function(column, index, columns) {\n if (index < columns.length && !this.dataGrid.currentVue._columns[column.property].omitMenu &&\n ((column.title.length > 0 && index === 0) || index > 0)) {\n //var li = this.make(\"li\", {});\n var li = $(\"
    • \");\n var a = $(\"\");\n\n var span;\n if (this.dataGrid.currentVue._columns[column.property].radioOff === true) {\n span = $(\"\").addClass(\"phx-icon none\");\n } else {\n span = $(\"\").addClass(\"phx-icon phx-icon-planresp-valider\");\n }\n\n a.append(span);\n var title = (!STR.isBlank(column.menuTitle) && !STR.isBlank(column.menuTitle)) ? column.menuTitle : column.title;\n a.append(title);\n li.append(a);\n if (STR.isBlank(title)) { //Only add option to menu if it has some title text\n li.hide();\n }\n subMenuCols.append(li);\n this.visible.push(column.property);\n }\n }, this);\n this.subMenuCols = subMenuCols;\n\n var subMenuVues = $(\"ul.phx-grid-vues-chooser\", this.el);\n var vuesLength = Object.keys(this.dataGrid.vues).length;\n _.each(_.keys(this.dataGrid.vues), function(key, index) {\n if (index < vuesLength) {\n //var li = this.make(\"li\", {});\n var li = $(\"
    • \");\n var a = $(\"\");\n var span;\n if (key !== self.dataGrid.defaultVue) {\n span = $(\"\").addClass(\"phx-icon none\");\n } else {\n span = $(\"\").addClass(\"phx-icon phx-icon-planresp-valider\");\n }\n a.append(span);\n var menuName = key;\n if (!STR.isBlank(self.dataGrid.vues[key].menuName)) {\n menuName = self.dataGrid.vues[key].menuName;\n }\n\n a.append(menuName);\n\n li.append(a);\n subMenuVues.append(li);\n }\n }, this);\n this.subMenuVues = subMenuVues;\n\n menu.menu({ icons: { submenu: \"none\" } });\n menu.css(\"cursor\", \"pointer\");\n\n //Delete blank space icons in menu\n var spanNone = menu.find(\"a.phx-grid-menu-selectionner-colonnes .ui-menu-icon.ui-icon.none\");\n spanNone.removeClass(\"ui-menu-icon\").removeClass(\"ui-icon\").removeClass(\"none\");\n var spanNoneVues = menu.find(\"a.phx-grid-menu-selectionner-vue .ui-menu-icon.ui-icon.none\");\n spanNoneVues.removeClass(\"ui-menu-icon\").removeClass(\"ui-icon\").removeClass(\"none\");\n\n return menu;\n },\n /**\n * Select an option\n */\n _selectOption: function(event) {\n event.currentTarget.className.split(\" \")[0].replace(this.classPrefix, \"\");\n },\n /**\n * Select a column\n */\n _selectColumn: function(event) {\n var columnId = event.currentTarget.className.split(\" \")[0].replace(this.classPrefix, \"\");\n // If there are only one visible column and try to click it the event is not triggered.\n if (this.visible.length > 1 || _.indexOf(this.visible, columnId) === -1) {\n var indexOf = _.indexOf(this.invisible, columnId);\n if (indexOf === -1) {\n this.invisible.push(columnId);\n this.visible.splice(_.indexOf(this.visible, columnId), 1);\n } else {\n this.visible.push(columnId);\n this.invisible.splice(_.indexOf(this.invisible, columnId), 1);\n }\n this.dataGrid.model.trigger(\"toggle:column\", columnId);\n this._toggleMenu();\n }\n\n },\n /**\n * Select a view\n */\n _selectVue: function(event) {\n var vueName = event.currentTarget.className.split(\" \")[0].replace(this.classPrefix, \"\");\n this._toggleMenu();\n this._changeVueSelected(vueName);\n },\n\n _changeVueSelected: function(vueName) {\n // If there are only one visible column and try to click it the event is not triggered.\n this.dataGrid.model.trigger(\"change:currentVue\", vueName);\n this._manageVueIcons(vueName);\n },\n /**\n *\n * Manage the icon status of the menu of Views.\n */\n _manageVueIcons: function(vueName) {\n\n var self = this;\n\n if (!STR.isBlank(this.dataGrid.vues)) {\n _.each(_.keys(this.dataGrid.vues), function(key) {\n\n if (!STR.isBlank(self.subMenuVues)) {\n self.subMenuVues.find(\".\" + self.classPrefix + key.replace(\".\", \"\\\\.\") + \" span.phx-icon\").removeClass(\"phx-icon-planresp-valider\");\n self.subMenuVues.find(\".\" + self.classPrefix + key.replace(\".\", \"\\\\.\") + \" span.phx-icon\").addClass(\"none\");\n } else {\n $(self.el).find(\".phx-grid-menu-\" + key.replace(\".\", \"\\\\.\") + \" span.phx-icon\").removeClass(\"phx-icon-planresp-valider\");\n $(self.el).find(\".phx-grid-menu-\" + key.replace(\".\", \"\\\\.\") + \" span.phx-icon\").addClass(\"none\");\n }\n\n });\n\n if (STR.isBlank(self.subMenuVues)) {\n $(this.el).find(\".phx-grid-menu-\" + vueName.replace(\".\", \"\\\\.\") + \" span.phx-icon\").removeClass(\"none\");\n $(this.el).find(\".phx-grid-menu-\" + vueName.replace(\".\", \"\\\\.\") + \" span.phx-icon\").addClass(\"phx-icon-planresp-valider\");\n } else {\n\n this.subMenuVues.find(\".\" + this.classPrefix + vueName.replace(\".\", \"\\\\.\") + \" span.phx-icon\").removeClass(\"none\");\n this.subMenuVues.find(\".\" + this.classPrefix + vueName.replace(\".\", \"\\\\.\") + \" span.phx-icon\").addClass(\"phx-icon-planresp-valider\");\n }\n\n }\n },\n\n /**\n * Opens or Closes the menú.\n */\n _toggleMenu: function() {\n if (this.menu.is(\":visible\")) {\n this.menu.hide();\n } else {\n var targetEl = $(this.el);\n this.menu.show().position({\n my: \"right top\",\n at: \"bottom\",\n of: targetEl\n });\n var self = this;\n $(document).one(\"mousedown\", function(event) {\n var element = $(targetEl).find(event.target);\n if (element.length === 0) {\n // mousedown out of the button\n self._toggleMenu();\n }\n });\n }\n },\n\n remove: function() {\n this.dataGrid = null;\n\n var visibleLength = this.visible.length;\n this.visible.splice(0, visibleLength);\n delete this.visible;\n\n var invisibleLength = this.invisible.length;\n this.invisible.splice(0, invisibleLength);\n delete this.invisible;\n\n Backbone.View.prototype.remove.call(this);\n this.$el.empty();\n }\n});\n","import { ActionBarView } from '../../controls/actionBar.view.js';\nimport { ColumnsChooserView } from './columnsChooser.view.js';\nimport { DataGridCellThFakeView } from '../data_grid/dataGridCellThFake.view.js';\nimport { DataGridCellThView } from '../data_grid/dataGridCellTh.view.js';\nimport { DataGridRowView } from '../data_grid/dataGridRow.view.js';\nimport { HABILITATION } from '../../../utils/habilitation.js';\nimport { i18n } from '../../../i18n.js';\nimport { InternColumnModel } from './internColumn.model.js';\nimport { InternVueModel } from './internVue.model.js';\nimport { LOG } from '../../../utils/log.js';\nimport { MainChooserView } from './mainChooser.view.js';\nimport { objs } from '../../../objectsRepository.js';\nimport { STR } from '../../../utils/str.js';\nimport { UTILS } from '../../../utils/utils.js';\nimport TPL_common_table from './table.tpl.html';\n\nexport var BaseGridView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Event launched by the parent class to reload any table\n *\n */\n\n /**\n * Default grid columns width\n */\n DEFAULT_COL_WIDTH: 100,\n /**\n * Default grid columns width\n */\n DEFAULT_MIN_COL_WIDTH: 100,\n /**\n * Default grid height\n */\n DEFAULT_HEIGHT: 350,\n /**\n * Default grid width, format: Number%\n */\n DEFAULT_WIDTH: \"100%\",\n /**\n * Rows per page quantity if height can't be calculated\n */\n DEFAULT_ROWS_PER_PAGE: 12,\n /**\n * Name of the Grid by default\n */\n DEFAULT_NANE: \"Base\",\n\n /**\n * Parameter to indicate if update is allowed by habilitations.\n */\n habilitationUpdate: true,\n\n /**\n * Parameter that indicate that the table has been globally locked by an external habilitation (see function lockTable).\n */\n lockedByHabilitations: false,\n\n /**\n * Parameter to indicate if this table is editable.\n */\n editable: false,\n\n /**\n * Parameter that tells if the table allows multi selection.\n */\n multiselection: false,\n\n /**\n * Indicates an attribute to filter rows that can be selected\n */\n filterSelection: \"\",\n\n /**\n * Indicates an attribute to filter rows that can be selected\n */\n filterSelectionFunction: undefined,\n\n /**\n * parameter that tells if the rows are selectable\n */\n selectable: true,\n\n /**\n * Parameter that paint the column chooser btn\n */\n columnsChooser: true,\n\n /**\n * Defines how the height of the grid should be calculated.\n * posible values : statique, auto, nolimite\n */\n gridHeightType: \"statique\",\n\n /**\n * Minimum rows visible (just to have a consistent grid representation when there is less than x rows --> nolimite.\n */\n minVisibleRows: 3,\n\n /**\n * Maximum rows visible (just to have a consistent grid representation when there is more than x rows --> auto\n */\n maxVisibleRows: null,\n\n /**\n * In case the grid is inside a dialog we can pass the dialog to calculate table size.\n */\n parentContainer: null,\n\n /**\n * In this case the buttons omit the qualification attributes\n */\n omitHabilitationAttributes: false,\n\n /**\n * push the new button in left o right the actionBar default buttons\n */\n positionNewButtonsOnLeft: false,\n\n /**\n * Remove grid style\n */\n removeGridStyle: false,\n\n /**\n * Constructor\n * View underlying a generic grid\n * \tex: {property: \"nature\", title: \"Nature\", width: 50}\n * \tcan be one of these: \"statique\", \"auto\", \"nolimite\".\n */\n initialize: function(options) {\n var self = this;\n\n this.height = this.DEFAULT_HEIGHT;\n this.width = this.DEFAULT_WIDTH;\n this.cellRenderers = {}; //Allow the definition of custom cell renderer per column\n\n this.minWidthMode = (options.minWidthMode) ? options.minWidthMode : false;\n\n // habilitation\n this.habilitations = options.habilitations;\n\n //habilitation in mode M\n this.habModeM = false;\n if (options && options.habModeM) {\n this.habModeM = options.habModeM;\n }\n\n if (options && options.defaultHeight && _.isNumber(options.defaultHeight)) {\n this.height = options.defaultHeight;\n }\n\n // set the title of the table\n this.title = options.title;\n this.showFilteredRowsInTitle = options.showFilteredRowsInTitle;\n this._isRowUpdatable = true;\n\n this.rowHeight = null; // It used to be on the outside as class variable\n this.gridHeight = null;\n\n this.template = TPL_common_table;\n\n if (options && _.isBoolean(options.selectable)) {\n this.selectable = options.selectable;\n }\n\n this.selectInSorting = true;\n if (options && !STR.isBlank(options.selectInSorting)) {\n this.selectInSorting = options.selectInSorting;\n }\n\n //showButtonsMultipleVues decides if buttons that allow to change vue selected are going to be shown\n if (options && !STR.isBlank(options.showButtonsMultipleVues)) {\n this.showButtonsMultipleVues = options.showButtonsMultipleVues;\n } else {\n this.showButtonsMultipleVues = false;\n }\n\n //showLevierMultipleViews decides if buttons that allow to change vue selected are going to be shown\n if (options && !STR.isBlank(options.showLevierMultipleViews)) {\n this.showLevierMultipleViews = options.showLevierMultipleViews;\n } else {\n this.showLevierMultipleViews = false;\n }\n\n //Create a standard vue if vue does not exist\n if (!options.vues) { //Initialize this.vues an this.currentVue when only one view is going to be used\n this.vues = {};\n //columns definition\n if (!options.columns) {\n throw new Error(\"You must define the columns attribute to use a \" + this.DEFAULT_NANE + \"GridView\");\n }\n\n if (options.minWidthMode) {\n options.columns.forEach(function(column) {\n if (!Object.prototype.hasOwnProperty.call(column, \"minWidth\")) {\n throw new Error(\"You must define the columns minWidth attribute for each column in , min-width-mode\");\n }\n })\n }\n\n var vue = new InternVueModel(null, options);\n this.defaultVue = \"CURRENT\";\n vue.columns = options.columns;\n this.vues[\"CURRENT\"] = vue;\n this.currentVue = this.vues[\"CURRENT\"];\n\n } else { //Initialize this.vues an this.currentVue when there are many views defined for this table\n if (options.defaultVue) {\n this.defaultVue = options.defaultVue;\n } else {\n throw new Error(\"You must define a default vue to use a \" + this.DEFAULT_NANE + \"GridView\");\n }\n this.vues = {};\n _.each(_.keys(options.vues), function(key) {\n if (!options.vues[key].columns) {\n throw new Error(\"You must define the columns attribute for each vue to use a \" + self.DEFAULT_NANE + \"GridView\");\n } else {\n // self.vues[key] = new InternVueModel(key, options.vues[key].columns, options.vues[key].nongroupee, options.vues[key].menuName, options.vues[key].buttonText, options.vues[key].beforeFetchCallback);\n self.vues[key] = new InternVueModel(key, options.vues[key]);\n }\n }, this);\n\n if (Object.keys(options.vues).length > 0) {\n this.currentVue = this.vues[this.defaultVue];\n if (this.showButtonsMultipleVues === true) {\n this._initializeVuesButtonBar();\n }\n } else {\n throw new Error(\"You must define at least one vue to use a \" + this.DEFAULT_NANE + \"GridView\");\n }\n\n this.model.on(\"change:currentVue\", this._manageVueChange, this);\n }\n this.emptyMessage = \"\";\n if (options && options.emptyMessage) {\n this.emptyMessage = options.emptyMessage;\n }\n\n // check if there is only one column to hide the column chooser button\n if (this.currentVue.columns.length === 1 && Object.keys(this.vues).length === 1) {\n this.columnsChooser = false;\n } else {\n if (!_.isUndefined(options.columnsChooser)) {\n this.columnsChooser = options.columnsChooser;\n }\n }\n\n this.forceHideChooserMenu = (options.forceHideChooserMenu === true);\n\n this.multiselection = (options.multiselection === true);\n // add multi-selection column\n if (this.multiselection) {\n _.each(this.vues, function(vue) {\n vue.columns.splice(0, 0, { title: \"\", property: \"phx-multiselect\", width: 32 });\n });\n this.model.multiselectColl.on(\"add\", this._manageMultiSelection, this);\n this.model.multiselectColl.on(\"remove\", this._manageMultiSelection, this);\n\n //filter the selection\n if (options.filterSelection) {\n this.filterSelection = options.filterSelection;\n var obj = {};\n obj[this.filterSelection] = true;\n this.filterMultiSelectColl = obj;\n }\n\n //filter the selection\n if (options.filterSelectionFunction) {\n this.filterSelectionFunction = options.filterSelectionFunction;\n }\n }\n\n // add the action column\n if (this.editable && this.selectable) {\n _.each(this.vues, function(vue) {\n if (!self.minWidthMode) {\n vue.columns.push({ title: \"\", property: \"phx-action\", width: 36 });\n } else {\n vue.columns.push({ title: \"\", property: \"phx-action\", width: 36, \"minWidth\": 36 });\n }\n });\n }\n // add an empty last column\n _.each(this.vues, function(vue) {\n if (!self.minWidthMode) {\n vue.columns.push({ title: \"\", property: \"phx-last\", width: 1 });\n } else {\n vue.columns.push({ title: \"\", property: \"phx-last\", width: 18, \"minWidth\": 18 });\n }\n });\n\n // Initializes private columns\n _.each(this.vues, function(vue) {\n _.each(vue.columns, function(column) {\n vue._columns[column.property] = new InternColumnModel();\n if (self.minWidthMode) {\n column.width = '100%';\n vue._columns[column.property].width = column.width;\n vue._columns[column.property].minWidth = column.minWidth;\n } else {\n column.width = UTILS.getTextWidth(column.width);\n vue._columns[column.property].width = column.width;\n }\n });\n });\n\n // configure checkbox, action and last column for every vue\n _.each(_.keys(this.vues), function(key) {\n self.setOmittedColumns([\"phx-multiselect\", \"phx-action\", \"phx-last\"], key);\n });\n\n _.each(this.vues, function(vue) {\n if (vue._columns[\"phx-action\"]) {\n vue._columns[\"phx-action\"].sortable = false;\n vue._columns[\"phx-action\"].visible = true;\n }\n if (vue._columns[\"phx-multiselect\"]) {\n vue._columns[\"phx-multiselect\"].sortable = false;\n vue._columns[\"phx-multiselect\"].visible = true;\n }\n\n });\n\n // repaint rows when a reset event is fired on the collection\n this.model.coll.on(\"reset\", this._paintRows, this);\n\n // Show/hide columns\n this.model.on(\"toggle:column\", this.toggleColumn, this);\n // Lock/unlock columns\n this.model.on(\"lock:column\", this._lockColumn, this);\n this.model.on(\"unlock:column\", this._unlockColumn, this);\n\n // Reset rowHeight\n this.model.on(\"reset:rowHeight\", this._resetRowHeight, this);\n\n //scroll utility\n this.model.on(\"scroll:to\", this._scrollToIndex, this);\n this.model.on(\"scroll:toIfHidden\", this._scrollToIndexIfHidden, this);\n this.model.on(\"focus:header\", this._focusHeader, this);\n\n // Control pagination limits\n this.lastPage = false;\n this.firstPage = true;\n\n this.columnsChooserView = null;\n\n if (options && options.columnsChooserOverridedView) {\n this.columnsChooserOverridedView = options.columnsChooserOverridedView;\n }\n\n if (this.model.enableSelectionOnDblclick === true) {\n this.enableSelectionOnDblclick = true;\n }\n // refresh row index on select / unselect\n this.listenTo(this.model.coll, \"row:select\", this._showSelectedRowIndex);\n this.listenTo(this.model.coll, \"row:unselect\", this._showSelectedRowIndex);\n\n // table height options\n if (options.gridHeightType) {\n this.gridHeightType = options.gridHeightType;\n this.parentContainer = options.parentContainer;\n if (this.gridHeightType !== \"statique\" && this.gridHeightType !== \"auto\" && this.gridHeightType !== \"nolimite\") {\n this.gridHeightType = \"statique\";\n }\n }\n if (!STR.isBlank(options.minVisibleRows) && options.minVisibleRows >= 0) {\n this.minVisibleRows = options.minVisibleRows;\n }\n\n if (options.maxVisibleRows && options.maxVisibleRows > 0) {\n this.maxVisibleRows = options.maxVisibleRows;\n }\n\n this.useMaxVisibleRows = false;\n if (this.gridHeightType === \"nolimite\" && options.maxVisibleRows) {\n this.useMaxVisibleRows = true;\n }\n\n if (this.gridHeightType === \"auto\") {\n this.listenTo(objs.appRt.workflow, \"resize\", function() {\n if (self.$el.is(\":visible\")) {\n self._resizeGrid();\n }\n });\n }\n\n // event used to fix a bug in IE with the scrolls\n this.listenTo(objs.appRt.workflow, \"fixScrollPosition\", function() {\n if (self.$el.is(\":visible\")) {\n self._fixScrollPosition();\n }\n });\n\n if (options && options.omitHabilitationAttributes) {\n this.omitHabilitationAttributes = options.omitHabilitationAttributes;\n }\n\n if (options && options.positionNewButtonsOnLeft) {\n this.positionNewButtonsOnLeft = options.positionNewButtonsOnLeft;\n }\n\n if (options && _.isBoolean(options.removeGridStyle)) {\n this.removeGridStyle = options.removeGridStyle;\n }\n },\n /**\n * Initialize the button bar that will be used to change the selected vue\n */\n _initializeVuesButtonBar: function() {\n /**\n * ButtonBar\n */\n this.vuesButtonBar = new ActionBarView({});\n this.model.vuesBtnBarModel = this.vuesButtonBar.model;\n this.model.vuesBtnBarModel.set(\"mode\", \"C\");\n },\n\n /* EVO 537 */\n _addButtonSwitchVues: function() {\n var selectedOption = {},\n selectedText = \"\",\n selectedTextContainer = $(\"\");\n\n if (this.currentVue && this.currentVue.vueName) {\n selectedText = this.currentVue.vueName;\n } else {\n selectedOption = this.vues[Object.keys(this.vues)[0]];\n selectedText = selectedOption.vueName;\n }\n\n selectedText = i18n.t('common:grid.vue').toLowerCase() + \" \" + selectedText.toLowerCase();\n selectedTextContainer.append(selectedText);\n\n $(\".phx-grid-title-bar-rowsNumber\", this.el).after(\", \");\n var container = $(\".phx-grid-title-barContent\", this.el);\n var menuContainer = $(\"\");\n var btn = $(\"\")\n .append(selectedTextContainer)\n .append(\n $(\"\")\n .addClass(\"ui-icon\")\n .addClass(\"ui-icon-triangle-1-s\")\n .css(\"display\", \"inline-block\")\n .css(\"vertical-align\", \"middle\")\n );\n var menuBtn = this._addMenuSwitchVues(selectedOption);\n\n menuContainer.append(btn);\n menuContainer.append(menuBtn);\n container.append(menuContainer);\n\n btn\n .click(function() {\n var menu = menuBtn.show().position({\n my: \"left top\",\n at: \"left bottom\",\n of: this\n });\n $(document).one(\"click\", function() {\n menu.hide();\n });\n return false;\n });\n },\n\n _addMenuSwitchVues: function(selectedOption) {\n // var options = [{ text: \"Vue simple\", code: \"simple\" }];\n var self = this;\n var options = this.vues;\n\n var $menu = $(\"
        \");\n _.each(options, function(value) {\n var $li = $(\"
      • \");\n var $a = $(\"\");\n\n if (value.code === selectedOption.code) {\n var selectedFlag = $(\"\").addClass(\"phx-icon phx-icon-planresp-valider\");\n $a.append(selectedFlag);\n }\n\n $a.html(i18n.t('common:grid.vue') + \" \" + value.vueName.toLowerCase());\n $a.attr(\"data-code\", value.vueName);\n $li.append($a);\n $menu.append($li);\n $li.click(function(event) {\n var target = event.target;\n var vueName = $(target).data(\"code\");\n self.model.trigger(\"change:currentVue\", vueName)\n });\n }, this);\n $menu.menu();\n $menu.css(\"cursor\", \"pointer\");\n $menu.css(\"width\", \"150px\");\n $menu.css(\"position\", \"absolute\");\n $menu.css(\"z-index\", \"100\");\n $menu.hide();\n\n return $menu;\n },\n\n // END EVO 537\n\n /**\n * Enables/Disables the Grid\n */\n enabled: function(enable) {\n this.editable = enable && this.habilitationUpdate;\n if (enable) {\n $(this.el).find(\".phx-grid\").removeClass(\"ui-state-disabled\");\n $(this.el).find(\".phx-grid-disabled\").width(0);\n $(this.el).find(\".phx-grid-disabled\").height(0);\n } else {\n $(this.el).find(\".phx-grid\").addClass(\"ui-state-disabled\");\n var width = $(this.el).find(\".phx-grid\").width();\n var height = $(this.el).find(\".phx-grid\").height();\n $(this.el).find(\".phx-grid-disabled\").width(width);\n $(this.el).find(\".phx-grid-disabled\").height(height);\n }\n\n },\n\n setHeight: function(height) {\n this.height = height;\n },\n\n /**\n * Locks the grid forbidding the access to buttons or editable rows.\n */\n lockTable: function() {\n this.lockedByHabilitations = true;\n\n this.applyHabilitations();\n\n if (this.lockedByHabilitations === true) {\n this.buttonBar.model.trigger(\"hab.hide:all\");\n this.habilitationUpdate = false;\n this.editable = false;\n }\n },\n\n /**\n * Unlocks the grid allowing the access to buttons or editable rows.\n */\n unLockTable: function() {\n this.lockedByHabilitations = false;\n\n this.buttonBar.model.trigger(\"hab.show:all\");\n this.habilitationUpdate = true;\n this.editable = true;\n\n this.applyHabilitations();\n },\n\n /**\n * Event launched when press any key.\n */\n events: {\n 'keydown .phx-grid-scroll': 'keyEvent',\n 'keydown .ui-grid-header': 'keyEventHeader',\n \"click th\": \"_clickListenerHeader\"\n },\n\n keyEventHeader: function(e) {\n var ret = true;\n if (e.keyCode === 40) { // down 1 row\n this._selectAdjacentRow(e, \"th\", \"next\");\n ret = false;\n }\n if (e.keyCode === 39) { // right\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), 1, null, \"th\");\n ret = false;\n }\n if (e.keyCode === 37) { // left\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), -1, null, \"th\");\n ret = false;\n }\n if (e.keyCode === 35) { // end, moves to the last cell in the current row\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), -1, this.currentVue.columns.length - 1, \"th\");\n ret = false;\n }\n if (e.keyCode === 36) { // home, moves to the first cell in the current row\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), 1, -1, \"th\");\n ret = false;\n }\n if (e.keyCode === 38) { // up. This is just to avoid the movement of the screen\n ret = false;\n }\n if (e.keyCode === 33 || e.keyCode === 34) { // up 1 page\n ret = false;\n }\n if (e.keyCode === 13 || e.keyCode === 32) { // enter or space\n $(e.target).click();\n ret = false;\n }\n //return false to avoid the movement of the window when we press an arrow key\n return ret;\n },\n\n /**\n * Manage the keypress events on the grid.\n */\n keyEvent: function(e) {\n var ret = true;\n var silent = false;\n\n if (this.model.get('mode') !== \"E\") {\n e.stopImmediatePropagation();\n if (STR.isBlank(this.rowsPerPage)) {\n this._calculateRowsPerPage();\n }\n\n if (e.keyCode === 38) { // up 1 row\n //Accessibility\n this._selectAdjacentRow(e, \"td\", \"prev\");\n\n this.model.selectPreviousRow();\n this._scrollIntoView();\n ret = false;\n }\n if (e.keyCode === 33) { // up 1 page\n if (!$(e.target).parents(\"tr:first\").siblings().andSelf().first().hasClass(\"phx-selected\") ||\n !(this.$el.find(\".phx-grid-scroll-extra1\").height() === 0)) {\n silent = $(e.target).parents(\"tr:first\").is(\".phx-selected\") === true ? false : true;\n this.model.selectFirstRow(silent);\n this._scrollIntoView();\n }\n\n ret = false;\n\n //Accessibility\n this._selectAdjacentRow(e, \"td\", \"first\");\n }\n if (e.keyCode === 40) { // down 1 row\n this._selectAdjacentRow(e, \"td\", \"next\");\n this.model.selectNextRow();\n this._scrollIntoView();\n ret = false;\n }\n if (e.keyCode === 34) { // down 1 page\n if (!$(e.target).parents(\"tr:first\").siblings().andSelf().last().hasClass(\"phx-selected\")) {\n silent = $(e.target).parents(\"tr:first\").is(\".phx-selected\") === true ? false : true;\n this.model.selectLastRow(silent);\n this._scrollIntoView();\n }\n ret = false;\n\n //Accessibility\n this._selectAdjacentRow(e, \"td\", \"last\");\n }\n\n //Accessibility\n if (e.keyCode === 39) { // right\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), 1, null, \"td\");\n ret = false;\n }\n if (e.keyCode === 37) { // left\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), -1, null, \"td\");\n ret = false;\n }\n if (e.keyCode === 35) { // end, moves to the last cell in the current row\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), -1, this.currentVue.columns.length - 1, \"td\");\n ret = false;\n }\n if (e.keyCode === 36) { // home, moves to the first cell in the current row\n this._selectAdjacentCell($(e.currentTarget).find(\"[tabindex=0]\").parents(\"tr:first\").children(), 1, -1, \"td\");\n ret = false;\n }\n if (e.keyCode === 13 || e.keyCode === 113) { // enter or F2\n var cell = $(e.currentTarget).find(\".grid-cell-focus\");\n var tr = $(e.currentTarget).find(\".phx-selected\");\n this.model.coll.editModeCellSelected = tr.children().index(cell);\n }\n if (e.keyCode === 32) {\n ret = false;\n }\n }\n //return false if event was managed overwise return true\n return ret;\n },\n\n /**\n * return true if column name starts with \"phx-\", in that case is a special column.\n */\n _specialColumns: function(columnId) {\n return columnId.indexOf(\"phx-\") === 0;\n },\n\n /**\n * Show/Hide the column if isn't a special column.\n */\n toggleColumn: function(columnId) {\n if (this._specialColumns(columnId)) {\n return;\n }\n if (!this.currentVue._columns[columnId]) {\n return;\n }\n this._toggleColumn(columnId);\n this.currentVue._columns[columnId].visible = !this.currentVue._columns[columnId].visible;\n },\n\n /**\n * Performs the Show/Hide Column action.\n */\n _toggleColumn: function(columnId) {\n var self = this;\n var totalWidth = null;\n\n if (this._specialColumns(columnId)) {\n return;\n }\n if (!this.currentVue._columns[columnId]) {\n return;\n }\n var keys = _.keys(this.currentVue._columns);\n\n if (this.minWidthMode) {\n this._resetWidthsHeadersColumns();\n }\n\n // Hide\n if (this.currentVue._columns[columnId].visible) {\n // Two types of 'hide' method depending browser (reason: rendering problems in Chrome browser)\n this.currentVue._columns[columnId].hide();\n /*if (!UTILS.isFirefox() && !UTILS.isIE()) {\n this.currentVue._columns[columnId].hide_in_chrome();\n } else {\n this.currentVue._columns[columnId].hide();\n }*/\n\n //apply accessibility visibility\n _.each(this.currentVue._columns[columnId].cells, function(cell) {\n cell.$el.attr(\"aria-hidden\", true);\n }, this);\n\n if (!this.minWidthMode) {\n // Reduce the table min-width\n totalWidth = $(this.el).find(\".phx-grid-scroll table\").css(\"min-width\");\n totalWidth = parseInt(totalWidth.substring(0, totalWidth.length - 2)) - this.currentVue._columns[columnId].width;\n this._setTableMinWidth(totalWidth);\n } else {\n totalWidth = $(this.el).find(\".phx-grid-scroll table\").css(\"min-width\");\n totalWidth = parseInt(totalWidth.substring(0, totalWidth.length - 2)) - this.currentVue._columns[columnId].minWidth;\n this._setTableMinWidth(totalWidth);\n\n }\n //\t\t\t$(this.el).find(\"table\").css(\"min-width\",totalWidth+\"px\");\n\n } else { // Show\n // Two types of 'show' method depending browser (reason: rendering problems in Chrome browser)\n this.currentVue._columns[columnId].show();\n /*if (!UTILS.isFirefox() && !UTILS.isIE()) {\n this.currentVue._columns[columnId].show_in_chrome();\n } else {\n this.currentVue._columns[columnId].show();\n }*/\n\n //apply accessibility visibility\n _.each(this.currentVue._columns[columnId].cells, function(cell) {\n cell.$el.attr(\"aria-hidden\", false);\n }, this);\n\n if (!this.minWidthMode) {\n // Reduce the table min-width\n totalWidth = $(this.el).find(\".phx-grid-scroll table\").css(\"min-width\");\n totalWidth = parseInt(totalWidth.substring(0, totalWidth.length - 2)) + this.currentVue._columns[columnId].width;\n this._setTableMinWidth(totalWidth);\n //\t\t\t$(this.el).find(\"table\").css(\"min-width\",totalWidth+\"px\");\n } else {\n totalWidth = $(this.el).find(\".phx-grid-scroll table\").css(\"min-width\");\n totalWidth = parseInt(totalWidth.substring(0, totalWidth.length - 2)) + this.currentVue._columns[columnId].minWidth;\n this._setTableMinWidth(totalWidth);\n }\n }\n\n },\n _resetWidthsHeadersColumns: function() {\n var self = this;\n $.each(self.currentVue._columns, function(key) {\n self.currentVue._columns[key].header.$el.width(\"100%\");\n self.currentVue._columns[key].header.$el.find(\"> .ui-resizable\").width(\"100%\").css(\"min-width\", self.currentVue._columns[key].minWidth);\n self.currentVue._columns[key].headerFake.$el.width(\"100%\").css(\"min-width\", self.currentVue._columns[key].minWidth);\n });\n },\n /**\n * If the column is visible when lock it, perform a toggle to hide it.\n */\n _lockColumn: function(columnId) {\n if (this.currentVue._columns[columnId] && this.currentVue._columns[columnId].visible) {\n this.model.trigger(\"toggle:column\", columnId);\n }\n },\n\n /**\n * If the column is not visible when unlock it, perform a toggle to show it.\n */\n\n _unlockColumn: function(columnId) {\n if (this.currentVue._columns[columnId] && !this.currentVue._columns[columnId].visible) {\n this.model.trigger(\"toggle:column\", columnId);\n }\n },\n\n /**\n * Scroll the grid to the row of the selected index.\n */\n _scrollToIndex: function(index) {\n var self = this;\n var $scrollDiv = $(\".phx-grid-scroll\", this.el);\n var counter = 0;\n var interval = setInterval(function() {\n counter++;\n if ($scrollDiv.is(\":visible\") || counter > 5) {\n $scrollDiv.scrollTop(index * self.rowHeight);\n clearInterval(interval);\n }\n }, 300);\n },\n\n /**\n * Scroll the grid to the row of the selected index if is not visible.\n */\n _scrollToIndexIfHidden: function(index, increment) {\n // recalculate index\n var l_index = index + increment;\n\n var rowTopOffset = this.$el.find(\"tr.ui-grid-row\").eq(l_index).offset().top;\n var tableTopOffset = this.$el.find(\".phx-grid-scroll\").offset().top;\n var tableHeight = this.$el.find(\".phx-grid-scroll\").height();\n\n var rowIndex = this.$el.find(\"tr.ui-grid-row\").eq(l_index)[0].rowIndex;\n var extraHeight = this.$el.find(\".phx-grid-scroll-extra1\").height();\n\n var rowNumber = Math.floor((extraHeight) / this.rowHeight) + rowIndex;\n\n if (increment < 0 && rowTopOffset < tableTopOffset) {\n $(\".phx-grid-scroll\", this.el).scrollTop((rowNumber - 1) * this.rowHeight);\n } else if (increment > 0 && (rowTopOffset + this.rowHeight) > (tableHeight + tableTopOffset)) {\n var currentScroll = $(\".phx-grid-scroll\", this.el).scrollTop();\n $(\".phx-grid-scroll\", this.el).scrollTop(currentScroll + this.rowHeight);\n }\n },\n\n /**\n * Calculate the rows per page for the current grid,\n * using the row Height and the grid Height set\n */\n _calculateRowsPerPage: function() {\n this.$el.find(\".ui-grid-table\").show();\n\n if (_.isUndefined(this.rowHeight) || _.isNull(this.rowHeight) || this.rowHeight <= 0) {\n var $rows = $('tbody tr', this.el);\n this.rowHeight = $rows.is(':visible') ? $rows.outerHeight() : $rows.getHiddenDimensions().outerHeight;\n\n this.gridHeight = 0;\n if ($rows && $rows.length) {\n for (var i = 0; i < $rows.length && i < this.maxVisibleRows; i++) {\n this.gridHeight += $($rows[i]).outerHeight();\n }\n }\n }\n /**\n * The rows per page quantity\n */\n this.rowsPerPage = this.DEFAULT_ROWS_PER_PAGE;\n if (this.rowHeight > 0) {\n this.rowsPerPage = parseInt(this.height / this.rowHeight, 10);\n }\n\n if (this.model.coll.length === 0) {\n this.$el.find(\".ui-grid-table\").hide();\n }\n },\n\n /**\n * Prints the row index with the total on the footer of the table\n */\n _showSelectedRowIndex: function() {\n\n var totalRecords = this.model.coll.totalRecords;\n if (this.model.coll.paginated === false) {\n totalRecords = this.model.coll.length;\n }\n\n var rowNumber = totalRecords;\n // if selection\n var row = $(\".phx-grid-scroll tr > .ui-state-active\", this.el);\n\n if (row.length > 0 && this.rowHeight > 0) {\n var rowIndex = row.parent()[0].rowIndex;\n var extraHeight = this.$el.find(\".phx-grid-scroll-extra1\").height();\n\n rowNumber = Math.floor((extraHeight) / this.rowHeight) + rowIndex;\n }\n $(\".phx-grid-footer-right\", this.el).html(rowNumber + \"/\" + totalRecords);\n\n //Manage the visibility of the rows\n if (this.model.coll.length === 0) {\n this.$el.find(\".ui-grid-table\").hide();\n } else {\n this.$el.find(\".ui-grid-table\").show();\n }\n },\n\n /**\n * Show/Hide table footer.\n */\n setTotalRowsVisible: function(visible) {\n if (!STR.isBlank(visible)) {\n if (visible === true) {\n $(\".phx-grid-footer-right\", this.el).show();\n } else {\n $(\".phx-grid-footer-right\", this.el).hide();\n }\n }\n },\n\n /**\n * Function that renders the header of the grid.\n */\n _renderHead: function() {\n var self = this;\n var totalWidth = 0;\n var l_cont = 0;\n var colWidth = this.DEFAULT_COL_WIDTH;\n var minWidth = this.DEFAULT_COL_WIDTH;\n\n // Iterates over the 2 headers the visible and the fake one\n $(this.el).find(\"thead\").each(function(index, thead) {\n //var row = $(self.make(\"tr\"));\n var row = $(\"\");\n $(thead).append(row);\n if (index === 0) {\n // Create a th for every header and store it\n _.each(self.currentVue.columns, function(column, cellIndex, columns) {\n var lastHeader = (cellIndex === (columns.length - 1)),\n options = {\n hIndex: index,\n cellIndex: cellIndex,\n text: column.title,\n last: lastHeader,\n dataGrid: self,\n columnCode: column.property,\n multiselection: (column.property === \"phx-multiselect\")\n };\n if (self.minWidthMode) {\n _.extend(options, { \"minWidth\": column.minWidth, \"minWidthMode\": true });\n }\n\n var thCell = new DataGridCellThView(options);\n row.append(thCell.render().el);\n\n /* @property {Boolean} wordSpacing - Adjustment of header's text of table.The text will wrap when necessary*/\n\n // Configure widths and remove border right of the last header column\n if (!lastHeader) {\n\n colWidth = (column.width) ? column.width : self.DEFAULT_COL_WIDTH;\n $(thCell.el).css(\"width\", colWidth);\n\n if (!STR.isBlank(column.wordSpacing)) {\n var colwidthspacing = 5;\n $(thCell.el).find(\".title\").css(\"white-space\", \"normal\");\n $(thCell.el).find(\".title\").css(\"word-spacing\", colwidthspacing + \"px\");\n $(thCell.el).find(\".title\").css(\"text-align\", \"center\");\n }\n } else {\n //\t\t\t\t\t\tthis.columnsChooserView = new ColumnsChooserView({dataGrid:this});\n //\t\t\t\t\t\trow.append(this.columnsChooserView.render().el);\n }\n\n if (self.minWidthMode) {\n minWidth = (column.minWidth) ? column.minWidth : self.DEFAULT_COL_WIDTH;\n $(thCell.el).css(\"min-width\", minWidth);\n $(thCell.el).css(\"width\", colWidth);\n }\n\n // Stores the headers\n self.currentVue._columns[column.property].header = thCell;\n self.listenTo(thCell, \"click\", self._manageSorting);\n\n if (!self.minWidthMode) {\n if (column.width) {\n totalWidth += column.width;\n } else {\n totalWidth += self.DEFAULT_MIN_COL_WIDTH;\n }\n } else {\n if (column.minWidth) {\n totalWidth += column.minWidth;\n } else {\n totalWidth += self.DEFAULT_MIN_COL_WIDTH;\n }\n }\n });\n } else {\n // Create a th for every header and store it\n _.each(self.currentVue.columns, function(column, cellIndex, columns) {\n var lastHeader = (cellIndex === (columns.length - 1));\n var thCell = new DataGridCellThFakeView({ hIndex: index, cellIndex: cellIndex, last: lastHeader });\n row.append(thCell.render().el);\n // Configure widths\n if (!lastHeader) {\n colWidth = (column.width) ? column.width : self.DEFAULT_COL_WIDTH;\n $(thCell.el).css(\"width\", colWidth);\n }\n\n if (self.minWidthMode) {\n minWidth = (column.minWidth) ? column.minWidth : self.DEFAULT_COL_WIDTH;\n $(thCell.el).css(\"min-width\", minWidth);\n }\n\n // Stores the fake headers\n self.currentVue._columns[column.property].headerFake = thCell;\n });\n }\n });\n\n // set min-width\n //\t\t$(this.el).find(\"table\").css(\"min-width\",totalWidth+\"px\");\n this._setTableMinWidth(totalWidth);\n\n var header = null;\n var headerFake = null;\n\n // Configure resizable columns\n _.each(this.currentVue.columns, function(column, cellIndex, columns) {\n if (cellIndex < columns.length - 1) {\n header = self.currentVue._columns[column.property].header;\n headerFake = self.currentVue._columns[column.property].headerFake;\n if (!STR.isBlank(header)) {\n header.resizable(headerFake);\n headerFake.resizable(header);\n }\n }\n });\n\n if (!STR.isBlank(header)) {\n // set title\n this._renderTitle();\n //Le nombre de colonnes peut inclure deux de contrôle \"phx-action\" et \"phx-last\" que nous ne devons pas raconter\n //pour \"show/hide\" le menu de colonnes\n l_cont = 0;\n if (this.currentVue.columns.length > 0) {\n _.each(this.currentVue.columns, function(item) {\n if (item && item.property !== \"phx-action\" && item.property !== \"phx-last\") {\n l_cont++;\n }\n });\n }\n //Update columnsChooser for this view\n if (this.currentVue.columns.length === 1 || l_cont === 1) {\n this.columnsChooser = false;\n } else if (STR.isBlank(this.forceHideChooserMenu) || this.forceHideChooserMenu === false) {\n this.columnsChooser = true;\n }\n // render column chooser\n if (Object.keys(this.vues).length > 1) {\n if (!(this.columnsChooser === false)) {\n //Only initialize columnschooserview, the first time the vue renders\n if (STR.isBlank(this.columnsChooserView)) {\n this.columnsChooserView = new MainChooserView({ dataGrid: this, el: $(\".phx-grid-main-chooser\", this.el) });\n }\n this.columnsChooserView.resetVisibility();\n this.columnsChooserView.render();\n }\n } else {\n if (!(this.columnsChooser === false)) {\n if (this.columnsChooserOverridedView) {\n this.columnsChooserView = new this.columnsChooserOverridedView({ dataGrid: this, el: $(\".phx-grid-main-chooser\", this.el) });\n this.columnsChooserView.render();\n } else {\n this.columnsChooserView = new ColumnsChooserView({ dataGrid: this, el: $(\".phx-grid-main-chooser\", this.el) });\n this.columnsChooserView.render();\n }\n\n }\n }\n\n // make special two columns not resizeable\n this.currentVue._columns[\"phx-last\"].hideResizeable();\n if (this.currentVue._columns[\"phx-action\"]) {\n this.currentVue._columns[\"phx-action\"].hideResizeable();\n }\n }\n\n },\n\n /**\n * Clean the header of the grid and renders it.\n */\n reRenderHead: function() {\n var thead = $(this.el).find(\"thead\");\n if (thead.length > 0) {\n thead.empty();\n }\n this._renderHead();\n },\n /**\n * Render the button bar to change vue selected\n */\n _renderVuesButtonBar: function() {\n var self = this;\n if (this.showButtonsMultipleVues) {\n _.each(_.keys(this.vues), function(key) {\n if (!STR.isBlank(self.vues[key].buttonText)) {\n self.vuesButtonBar.addButton(self.vues[key].buttonText, key, false, null);\n self.vuesButtonBar.setButtonVisibleInModeC(key, true);\n } else {\n throw new Error(\"buttonText must be defined in vues when showButtonsMultipleVues is true\");\n }\n });\n $(\".phx-grid-title-bar-action\", this.el).prepend(this.vuesButtonBar.render().el);\n this.vuesButtonBar.$el.css(\"display\", \"inline-block\");\n if (this.buttonBar) {\n this.buttonBar.$el.css(\"display\", \"inline-block\");\n }\n //Hide buttons\n this.model.vuesBtnBarModel.trigger(\"hab.hide:new\");\n this.model.vuesBtnBarModel.trigger(\"hab.hide:copy\");\n this.model.vuesBtnBarModel.trigger(\"hab.hide:delete\");\n this.model.vuesBtnBarModel.trigger(\"hab.hide:save\");\n this.model.vuesBtnBarModel.trigger(\"hab.hide:revert\");\n _.each(_.keys(this.vues), function(key) {\n if (self.currentVue === self.vues[key]) {\n self.model.vuesBtnBarModel.trigger(\"hab.hide:\" + key);\n }\n });\n\n //Liste to\n this.model.vuesBtnBarModel.off(\"btn:click\");\n this.model.vuesBtnBarModel.on(\"btn:click\", this._vueButtonBarAction, this);\n }\n },\n _toggleVuesButtons: function() {\n var self = this;\n\n if (this.showButtonsMultipleVues) {\n _.each(_.keys(this.vues), function(key) {\n if (self.currentVue === self.vues[key]) {\n self.model.vuesBtnBarModel.trigger(\"hab.hide:\" + key);\n } else {\n self.model.vuesBtnBarModel.trigger(\"hab.show:\" + key);\n self.model.vuesBtnBarModel.trigger(\"show:\" + key);\n }\n });\n }\n },\n _toggleVuesLevier: function() {\n if (this.showLevierMultipleViews) {\n $(\".vuesLevierSelected\", this.$el).text(i18n.t('common:grid.vue').toLowerCase() + \" \" + this.currentVue.vueName.toLowerCase());\n }\n },\n\n _vueButtonBarAction: function(buttonId) {\n this.model.trigger(\"buttonVueChanged:click\", buttonId);\n },\n /**\n *\n * Manages change of view launched from menu\n */\n _manageVueChange: function(vueName) {\n var self = this;\n\n //When vue has changed\n if (this.currentVue !== this.vues[vueName]) {\n this.currentVue = this.vues[vueName];\n this.reRenderHead();\n this._toggleVuesButtons();\n this._toggleVuesLevier();\n //Hide header for columns that are not visible\n _.each(this.currentVue._columns, function(column) {\n if (column.visible === false) {\n column.hideHeader();\n }\n });\n this.model.trigger(\"vue:change\", vueName);\n if (this.currentVue.beforeFetchCallback) {\n this.currentVue.beforeFetchCallback(function() { self._manageVueChangeCallback() });\n } else {\n this._manageVueChangeCallback();\n }\n }\n },\n\n refreshVueColumns: function(vueName, tblColumns) {\n var _self = this;\n\n // Remove tables with empty titles\n this.vues[vueName].columns = _.filter(tblColumns, function(item) {\n return item.title !== \"\" || _self._specialColumns(item.property);\n });\n\n if (vueName === this.currentVue.vueName) {\n this.reRenderHead();\n this._toggleVuesButtons();\n this._toggleVuesLevier();\n }\n\n //Hide header for columns that are not visible\n _.each(this.vues[vueName]._columns, function(column, key) {\n var columnDefinition = _.find(_self.vues[vueName].columns, function(item) {\n return item.property === key;\n });\n if (!columnDefinition && !_self._specialColumns(key)) {\n _self.vues[vueName]._columns[key].remove();\n delete _self.vues[vueName]._columns[key];\n } else if (column.visible === false) {\n column.hideHeader();\n }\n });\n this.positionHeader();\n },\n\n _manageVueChangeCallback: function() {\n var self = this;\n\n this.model.coll.fetch({\n success: function() {\n if (!STR.isBlank(self.model.get(\"value\"))) {\n self.model.selectRow(self.model.get(\"value\"));\n }\n\n }\n });\n },\n\n /**\n * Manage the Sortig when click on a Column header\n * ordering by the columns and refreshing the table\n */\n _manageSorting: function(columnCode, callback, silent, collection) {\n var self = this;\n\n if (this.currentVue._columns[columnCode].sortable) {\n var coll = this.model.coll;\n if (!STR.isBlank(collection)) {\n coll = collection;\n }\n this.currentVue._columns[columnCode].header.$el.find(\".title\").addClass(\"phx-state-sort\");\n\n var keys = _.difference(_.keys(this.currentVue._columns), [columnCode]);\n _.each(keys, function(key) {\n self.currentVue._columns[key].header.hideSortButton();\n self.currentVue._columns[key].header.$el.find(\".title\").removeClass(\"phx-state-sort\");\n });\n if (!_.isNull(this.currentVue._columns[columnCode].sort)) {\n coll.sortings = {};\n //Look if exist customized column codes for sort / support arrays of sortable columns\n if (!_.isUndefined(this.currentVue._sortableCustomNames[columnCode])) {\n var singular = !_.isArray(this.currentVue._sortableCustomNames[columnCode]);\n var sortableColumnCode = singular ? [this.currentVue._sortableCustomNames[columnCode]] : _.clone(this.currentVue._sortableCustomNames[columnCode]);\n for (var i = 0, l = sortableColumnCode.length; i < l; i++) {\n coll.sortings[sortableColumnCode[i]] = this.currentVue._columns[columnCode].sort;\n }\n } else {\n coll.sortings[columnCode] = this.currentVue._columns[columnCode].sort;\n }\n\n coll.fetch({\n success: function(result) {\n if (result.models.length > 0 && silent !== true && self.selectInSorting === true) {\n self.model.selectRow(result.models[0]);\n }\n if (callback) {\n callback(result);\n }\n },\n silent: silent\n });\n }\n }\n },\n\n _fixScrollPosition: function() {\n $(\".phx-grid-scroll\", this.el).scrollTop(this._lastScrollPosition);\n LOG.debug(\"called _fixScrollPosition after view becomes visible to fix the positionof the scroll - IE bug\");\n },\n\n /**\n * Scroll Handler used by the views taht extend this base view.\n * Calculate if pagination is needded.\n */\n _scrollControl: function() {\n var self = this;\n var newStartIndex = null;\n var fistCellPosition = this.$el.find(\".phx-grid-scroll-extra1\").offset().top + this.$el.find(\".phx-grid-scroll-extra1\").height() + (this.rowHeight / 3); // Adjusted with 1/3 of the first cell just in case\n var lastCellPosition = this.$el.find(\".phx-grid-scroll-extra2\").offset().top - (this.rowHeight / 3); // Adjusted with 1/3 of the last cell just in case\n var scrollStartPosition = this.$el.find(\".phx-grid-scroll\").offset().top;\n var scrollEndPosition = this.$el.find(\".phx-grid-scroll\").offset().top + this.$el.find(\".phx-grid-scroll\").height();\n\n if (this.model.coll.length === this.model.coll.totalRecords ||\n this.model.coll.totalRecords <= this.model.coll.pagination.size) {\n // No pagination is needed. This is done so to support not paginated collections\n return;\n }\n var scrollPosition = $(\".phx-grid-scroll\", this.el).scrollTop();\n if (this._lastScrollPosition !== scrollPosition) {\n var rowsBefore = Math.floor(this.model.coll.pagination.size / 6);\n var rowsAfter = rowsBefore;\n var rowsShowed = Math.floor(this.$el.find(\".phx-grid-scroll\").height() / this.rowHeight);\n var gap = this.model.coll.pagination.size - rowsShowed - rowsAfter;\n var scrollDown = true;\n\n if (scrollPosition < this._lastScrollPosition) {\n scrollDown = false;\n }\n\n this._lastScrollPosition = scrollPosition;\n var rowNumber = Math.floor(scrollPosition / this.rowHeight);\n this.rowNumber = rowNumber;\n var startIndex = this.model.coll.pagination.startIndex;\n // scroll up\n if (scrollDown && lastCellPosition <= scrollEndPosition) {\n\n if (startIndex === this.model.coll.totalRecords) {\n //Avoid indexOutOfBounds\n return;\n }\n newStartIndex = rowNumber - rowsBefore;\n this.lastPage = ((startIndex + this.model.coll.pagination.size) >= this.model.coll.totalRecords);\n if (!this.lastPage) {\n\n if (Math.abs(newStartIndex - startIndex) >= gap - 1) {\n newStartIndex = Math.min(newStartIndex, this.model.coll.totalRecords);\n this.isPaginating = true;\n this.model.coll.goTo(newStartIndex, function() {\n self.isPaginating = false;\n var value = self.model.get(\"value\");\n var newValue = self.model.coll.get(value);\n if (!STR.isBlank(newValue)) {\n $(\".phx-grid-scroll\", self.el).focus();\n self.model._manageRowSelection(newValue);\n }\n });\n }\n }\n // scroll down\n } else if (!scrollDown && fistCellPosition > scrollStartPosition) {\n if (startIndex === 0) {\n //Avoid indexOutOfBounds\n return;\n }\n\n newStartIndex = rowNumber - gap;\n this.firstPage = (startIndex === 0);\n //if(!this.firstPage){}\n LOG.debug(\"startIndex: \" + startIndex + \" -> newStartIndex: \" + newStartIndex);\n\n if (Math.abs(newStartIndex - startIndex) >= gap - 1) {\n this.isPaginating = true;\n newStartIndex = Math.max(newStartIndex, 0);\n this.model.coll.goTo(newStartIndex, function() {\n self.isPaginating = false;\n var value = self.model.get(\"value\");\n var newValue = self.model.coll.get(value);\n if (!STR.isBlank(newValue)) {\n $(\".phx-grid-scroll\", self.el).focus();\n self.model._manageRowSelection(newValue);\n }\n });\n }\n //}/*!this.firstPage*/\n } else if ( // scroll over the table\n (((fistCellPosition < scrollStartPosition) && (lastCellPosition <= scrollStartPosition)) ||\n ((fistCellPosition >= scrollEndPosition) && (lastCellPosition > scrollStartPosition))) &&\n this.isPaginating === true\n ) {\n\n /*// variables for LOG\n var a = (fistCellPosition < scrollStartPosition) && (lastCellPosition <= scrollStartPosition) ;\n var b = (fistCellPosition >= scrollEndPosition) && (lastCellPosition > scrollStartPosition) ;\n var c = this.isPaginating === true;\n LOG.debug(\"a: \"+a+\",b: \"+b+\",c: \"+c+\" row: \"+rowNumber);\n // end LOG*/\n\n if (Math.abs(rowNumber - startIndex) >= gap - 1) {\n //LOG.debug(\"%%%%%> goto: \"+rowNumber);\n this.model.coll.goTo(rowNumber, function() {\n var value = self.model.get(\"value\");\n var newValue = self.model.coll.get(value);\n if (!STR.isBlank(newValue)) {\n $(\".phx-grid-scroll\", self.el).focus();\n self.model._manageRowSelection(newValue);\n }\n });\n }\n } // end scroll over the table\n }\n },\n\n /**\n * Set the text of a column\n *\n */\n setColumnTitle: function(property, title) {\n var thCell = this.currentVue._columns[property].header;\n if (thCell) {\n thCell.setHeaderTitle(title);\n }\n if (this.columnsChooserView) {\n this.columnsChooserView.setMenuItemTitle(property, title);\n }\n },\n\n /**\n * Sets the minimum width of the grid\n */\n _setTableMinWidth: function(totalWidth) {\n var extraspace = 18;\n if (this.minWidthMode) {\n $(this.el).find(\".phx-grid-header-scroll table\").css({ \"min-width\": (totalWidth) + \"px\", \"table-layout\": \"auto\" });\n $(this.el).find(\".phx-grid-scroll table.ui-grid-table\").css({ \"min-width\": totalWidth + \"px\", \"table-layout\": \"auto\" });\n $(this.el).find(\".phx-grid-scroll .phx-grid-no-title-message\").css({ \"min-width\": totalWidth + \"px\", \"table-layout\": \"auto\" });\n } else {\n $(this.el).find(\".phx-grid-header-scroll table\").css(\"min-width\", (totalWidth + extraspace) + \"px\");\n $(this.el).find(\".phx-grid-scroll table.ui-grid-table\").css(\"min-width\", totalWidth + \"px\");\n $(this.el).find(\".phx-grid-scroll .phx-grid-no-title-message\").css(\"min-width\", totalWidth + \"px\");\n }\n },\n\n /**\n * Renders the rows of the current grid.\n */\n _paintRows: function() {\n var tbody = $(this.el).find(\"tbody.ui-grid-body\");\n if (tbody.length === 0) {\n // Avoid an initial call during Workflow setUp before the page is rendered\n return;\n }\n\n var scrollTop = $(\".phx-grid-scroll\", this.el).scrollTop();\n\n if (this.rows) {\n for (var r = 0; r < this.rows.length; r++) {\n this.rows[r].remove();\n this.rows[r] = null;\n }\n this.rows.length = 0;\n } else {\n this.rows = [];\n }\n tbody.empty();\n _.each(this.currentVue._columns, function(column) {\n if (column && column.cells) {\n for (var c = 0; c < column.cells.length; c++) {\n column.cells[c].remove();\n column.cells[c] = null;\n }\n column.cells = [];\n }\n });\n\n for (var i = 0; i < this.model.coll.length; i++) {\n var rModel = this.model.coll.at(i);\n var rowView = new DataGridRowView({ model: rModel, dataGrid: this });\n var row = rowView.render().el;\n if (!this.removeGridStyle) {\n $(row).addClass(\"ui-grid-row\");\n if (i % 2 === 1) {\n $(row).addClass(\"ui-grid-row-alt\");\n }\n }\n // select the first cell of the first row when the table is at detail section and has not select row by default.\n if (i === 0 && !STR.isBlank($(row).children()[0]) && STR.isBlank(this.model.coll.editModeCellSelected)) {\n if ($(row).children().eq(0).find(\":input\").is(\":input\")) {\n $(row).children().eq(0).find(\":input\").attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\");\n } else {\n $(row).children().eq(0).attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\");\n }\n }\n tbody.append(row);\n this.rows.push(rowView);\n }\n\n // Toggle control\n // Hide the columns that must be hidden by default.\n if (this.currentVue._visibleColumns.length > 0) {\n _.each(_.difference(_.keys(this.currentVue._columns), this.currentVue._visibleColumns), function(key) {\n if (key.indexOf(\"phx-\") !== 0) {\n this.model.trigger(\"toggle:column\", key);\n }\n }, this);\n this.currentVue._visibleColumns = [];\n }\n\n // Hide the columns that must be hidden by default.\n if (this.currentVue._lockedColumns.length > 0) {\n _.each(this.currentVue._lockedColumns, function(key) {\n this.model.trigger(\"lock:column\", key);\n }, this);\n this.currentVue._lockedColumns = [];\n }\n // Adjust scroll\n if (!this.rowHeight || this.rowHeight === 0) {\n this._calculateRowsPerPage();\n }\n\n var totalRecords = this.model.coll.totalRecords;\n var startIndex = this.model.coll.pagination.startIndex;\n var size = this.model.coll.pagination.size;\n var endIndex = Math.min(startIndex + size, totalRecords);\n\n if (this.model.coll.paginated === false) {\n totalRecords = this.model.coll.length;\n endIndex = totalRecords;\n startIndex = 0;\n }\n\n var extraHeight = (totalRecords - endIndex) * this.rowHeight;\n $(\".phx-grid-scroll-extra2\", this.el).height(extraHeight);\n\n var preHeight = (startIndex) * this.rowHeight;\n $(\".phx-grid-scroll-extra1\", this.el).height(preHeight);\n\n $(\".phx-grid-scroll\", this.el).scrollTop(scrollTop);\n\n $(\".phx-grid-footer-right\", this.el).html(endIndex + \"/\" + totalRecords);\n\n if (totalRecords === 0 &&\n (!this.overrideFilteredRowsInTitle || (this.overrideFilteredRowsInTitle && this.overrideFilteredRowsInTitle(totalRecords) === \"\"))) {\n this.setCustomMessageTable();\n } else {\n //Unavailable message for tab focus\n this.$el.find(\".phx-grid-no-title-message\").hide();\n this.$el.find(\".phx-grid-no-title-message\").find(\"span\").attr(\"tabindex\", -1);\n }\n\n this._renderFilteredRowsInTitle();\n\n if (this.multiselection) {\n this.currentVue._columns[\"phx-multiselect\"].header._manageChecking();\n this._manageMultiSelection();\n }\n\n // dynamic resize heigth of grid\n this._resizeGrid();\n },\n\n /**\n * Set an aux Message to the table.\n */\n setCustomMessageTable: function(title) {\n var messageDiv = this.$el.find(\".phx-grid-no-title-message\");\n var divHelper = $(\"
        \").addClass(\"phx-grid-no-title-message-helper\").css({\n \"text-align\": \"center\",\n \"display\": \"inline-block\",\n \"vertical-align\": \"middle\",\n \"height\": \"100%\"\n });\n\n if (!STR.isBlank(title)) {\n messageDiv.html(title);\n } else {\n //Unavailable message for tab focus\n var emptyMessage = !STR.isBlank(this.emptyMessage) ? this.emptyMessage : i18n.t('common:grid_no_item_title');\n var span = $(\"\").html(emptyMessage).attr({ \"tabindex\": \"0\" });\n messageDiv.html(span);\n }\n\n messageDiv.css({\n \"text-align\": \"center\",\n \"display\": \"inline-block\",\n \"vertical-align\": \"middle\",\n \"height\": \"100%\",\n \"width\": \"100%\"\n }).append(divHelper).show();\n },\n\n /**\n * Show/Hide Custom Message\n */\n manageCustomMessageVisibility: function(isVisible) {\n if (isVisible === true) {\n this.$el.find(\".phx-grid-no-title-message\").show();\n } else {\n this.$el.find(\".phx-grid-no-title-message\").hide();\n }\n },\n\n /**\n * Dynamically resize the height of the grid as needed\n */\n _resizeGrid: function() {\n var availableHeight = null;\n var minHeight = 57;\n var l_tmp = 0;\n\n if (this.maxVisibleRows && this.rowHeight && this.rowHeight > 0) {\n availableHeight = this.rowHeight * this.maxVisibleRows;\n }\n\n if (this.minVisibleRows && this.rowHeight && this.rowHeight > 0) {\n minHeight = (this.rowHeight * this.minVisibleRows) + 3;\n }\n\n // auto ajustable grid\n if (this.gridHeightType === \"auto\") {\n var topOffset = $(this.el).offset().top;\n var height = $(this.el).height();\n var scrollHeight = $(\".phx-grid-scroll\", this.el).height();\n\n var windowsHeight = 0;\n /*if (this.parentContainer) {\n windowsHeight = $(this.parentContainer.el).height();\n topOffset = topOffset - $(this.parentContainer.el).offset().top;\n } else {\n windowsHeight = $(\"#phx-wrap\").height();\n }*/\n if (this.parentContainer) {\n windowsHeight = $(this.parentContainer.el).height();\n topOffset = topOffset - $(this.parentContainer.el).offset().top;\n } else {\n if (this.$el.parents(\".phx-grid-container\").length > 0) {\n windowsHeight = this.$el.parents(\".phx-grid-container\").height();\n topOffset = topOffset - this.$el.parents(\".phx-grid-container\").offset().top + 10;\n } else {\n windowsHeight = $(\"#phx-wrap\").height();\n }\n }\n\n //Adjustement for tables under filter\n var filterHeigth = 0;\n if (this.$el.parents(\"div[class*='phx-panelA']\").length > 0) {\n filterHeigth = 1;\n }\n l_tmp = height - scrollHeight;\n if (l_tmp < 0) {\n l_tmp = 0;\n }\n availableHeight = Math.max(windowsHeight - topOffset - l_tmp, minHeight) - filterHeigth - 5;\n\n if (this.maxVisibleRows && this.rowHeight && this.rowHeight > 0) {\n if (this.model.coll.length > 0) {\n availableHeight = Math.min(this.rowHeight * this.model.coll.length, this.rowHeight * this.maxVisibleRows);\n } else {\n availableHeight = Math.min(availableHeight, this.rowHeight * this.maxVisibleRows);\n }\n } else if (this.model.coll.length === 0 && !this.rowHeight) {\n //If rowHeight has not value because the collection is empty set the minHeight\n availableHeight = minHeight;\n }\n availableHeight = Math.max(availableHeight + 2, minHeight);\n }\n\n // grid with infinite height and minimum visible rows\n if (this.gridHeightType === \"nolimite\" && this.model.coll.paginated === false) {\n if (this.model.coll.length >= this.minVisibleRows) {\n availableHeight = \"auto\";\n } else {\n availableHeight = minHeight;\n }\n }\n\n if (this.gridHeightType === \"nolimite\" && this.useMaxVisibleRows === true && this.gridHeight > minHeight) {\n availableHeight = this.gridHeight;\n }\n\n if (availableHeight) {\n if ($(\".phx-grid-scroll\", this.el).height() !== availableHeight) {\n $(\".phx-grid-scroll\", this.el).height(availableHeight);\n }\n }\n },\n\n /**\n * Scroll the table to make the selected item in the table visible\n *\n * The selected item must be marked with class phx-selected\n * The div containing the table must be marked with class phx-grid-scroll\n */\n _scrollIntoView: function() {\n var element = this.$el.find(\"tbody .phx-selected\");\n if (!STR.isBlank(element[0])) {\n // gets the scrollable container containing the selected row\n var parent = $(element).parents(\".phx-grid-scroll\");\n // current position of the scroll\n var scrollTop = $(parent).scrollTop();\n // table height\n var tableHeight = $(parent).height();\n // offset of the selected row with respect to the top of the table\n var elementOffset = scrollTop + $(element).offset().top - $(parent).offset().top;\n\n // check if selected row is out of view\n if (elementOffset < scrollTop) {\n // to maintain selected row on top of the table\n $(parent).scrollTop(elementOffset);\n } else if (elementOffset > (scrollTop + tableHeight - element.height())) {\n // to maintain selected row on bottom of the table\n $(parent).scrollTop(elementOffset + element.height() - tableHeight);\n }\n }\n },\n\n /**\n * Manages the multiSelection for the grid.\n */\n _manageMultiSelection: function() {\n if (this.model.multiselectColl.length > 0) {\n $(\".phx-grid-footer-left\", this.el).html(i18n.t('common:selectedRows') + this.model.multiselectColl.length);\n } else {\n $(\".phx-grid-footer-left\", this.el).empty();\n }\n // trigger event with the number of row checked for multiselection\n this.model.trigger(\"rows:checked\", this.model.multiselectColl.length);\n },\n\n /**\n * Custom Backbone remove function that removes the View.\n */\n remove: function() {\n delete this.height;\n delete this.width;\n\n if (this.rows) {\n for (var r = 0; r < this.rows.length; r++) {\n this.rows[r].remove();\n this.rows[r] = null;\n }\n this.rows.length = 0;\n }\n\n this.stopListening();\n _.each(this.vues, function(vue) {\n _.each(vue.cellRenderers, function(cellRenderer) {\n if (typeof cellRenderer === Object && cellRenderer.remove) {\n cellRenderer.remove();\n }\n });\n });\n _.each(_.keys(this.vues), function(keyVue) {\n var keys = _.keys(this.vues[keyVue].cellRenderers);\n for (var key in keys) {\n delete this.vues[keyVue].cellRenderers[keys[key]];\n }\n delete this.vues[keyVue].cellRenderers;\n\n keys = _.keys(this.vues[keyVue]._columnsAlign);\n for (var key in keys) {\n delete this.vues[keyVue]._columnsAlign[keys[key]];\n }\n delete this.vues[keyVue]._columnsAlign;\n\n _.each(this.vues[keyVue]._columns, function(column) {\n column.remove();\n });\n\n keys = _.keys(this.vues[keyVue]._columns);\n for (var key in keys) {\n delete this.vues[keyVue]._columns[keys[key]];\n }\n delete this.vues[keyVue]._columns;\n\n keys = _.keys(this.vues[keyVue]._sortableCustomNames);\n for (var key in keys) {\n delete this.vues[keyVue]._sortableCustomNames[keys[key]];\n }\n delete this.vues[keyVue]._sortableCustomNames;\n\n var visibleColumnsLength = this.vues[keyVue]._visibleColumns.length;\n this.vues[keyVue]._visibleColumns.splice(0, visibleColumnsLength);\n delete this.vues[keyVue]._visibleColumns;\n\n var lockedColumnsLength = this.vues[keyVue]._lockedColumns.length;\n this.vues[keyVue]._lockedColumns.splice(0, lockedColumnsLength);\n delete this.vues[keyVue]._lockedColumns;\n\n var columnsLength = this.vues[keyVue].columns.length;\n this.vues[keyVue].columns.splice(0, columnsLength);\n delete this.vues[keyVue].columns;\n\n delete this.vues[keyVue];\n }, this);\n\n delete this.currentVue;\n delete this.vues;\n\n delete this.template;\n\n delete this.multiselection;\n delete this.selectable;\n delete this.lastPage;\n delete this.firstPage;\n\n if (!STR.isBlank(this.columnsChooserView)) {\n this.columnsChooserView.remove();\n delete this.columnsChooserView;\n }\n if (this.model && this.model.coll) {\n this.model.coll.reset(null, { silent: true });\n }\n\n Backbone.View.prototype.remove.call(this);\n this.$el.empty();\n },\n\n /**\n * Sets the Visible columns.\n */\n setVisibleColumns: function(columnsName, vueName) {\n if (STR.isBlank(vueName)) {\n this.currentVue._visibleColumns = columnsName;\n } else {\n this.vues[vueName]._visibleColumns = columnsName;\n }\n },\n\n /**\n * Sets the Lockeds columns.\n */\n setLockedColumns: function(columnsName, vueName) {\n if (STR.isBlank(vueName)) {\n this.currentVue._lockedColumns = columnsName;\n } else {\n this.vues[vueName]._lockedColumns = columnsName;\n }\n },\n\n /**\n * Sets the Omitted columns.\n */\n setOmittedColumns: function(columnsName, vueName) {\n var key = null;\n var keys = null;\n if (STR.isBlank(vueName)) {\n _.each(columnsName, function(columnName) {\n if (this.currentVue._columns[columnName]) {\n this.currentVue._columns[columnName].omitMenu = true;\n }\n }, this);\n keys = _.keys(this.currentVue._columns);\n for (key in keys) {\n if (key.indexOf(\"phx-\") === 0) {\n this.currentVue._columns[key].omitMenu = true;\n }\n }\n } else {\n _.each(columnsName, function(columnName) {\n if (this.vues[vueName]._columns[columnName]) {\n this.vues[vueName]._columns[columnName].omitMenu = true;\n }\n }, this);\n keys = _.keys(this.vues[vueName]._columns);\n for (key in keys) {\n if (key.indexOf(\"phx-\") === 0) {\n this.vues[vueName]._columns[key].omitMenu = true;\n }\n }\n }\n\n },\n\n /**\n * Set the alignment of the columns. The default aligment is left, to override this\n * behavior you must specify the correct aligment like { \"columnName\" : \"left|right|center\",...}.\n */\n setColumnsAlignment: function(columnsAlignment, vueName) {\n if (STR.isBlank(vueName)) {\n this.currentVue._columnsAlign = columnsAlignment;\n } else {\n this.vues[vueName]._columnsAlign = columnsAlignment;\n }\n },\n\n /**\n * Sets the Sortable columns.\n */\n setSortableColumns: function(columnsName, vueName) {\n var keys = null;\n //Standard use when there is only one vue for the table\n if (STR.isBlank(vueName)) {\n // Reset values\n _.each(_.keys(this.currentVue._columns), function(columnName) {\n this.currentVue._columns[columnName].sortable = true;\n }, this);\n\n _.each(_.difference(_.keys(this.currentVue._columns), columnsName), function(columnName) {\n this.currentVue._columns[columnName].sortable = false;\n }, this);\n\n keys = _.keys(this.currentVue._columns);\n for (var key in keys) {\n if (key.indexOf(\"phx-\") === 0) {\n this.currentVue._columns[key].sortable = false;\n }\n }\n } else { //Modified use for a table with many vues\n // Reset values\n _.each(_.keys(this.vues[vueName]._columns), function(columnName) {\n this.vues[vueName]._columns[columnName].sortable = true;\n }, this);\n\n _.each(_.difference(_.keys(this.vues[vueName]._columns), columnsName), function(columnName) {\n this.vues[vueName]._columns[columnName].sortable = false;\n }, this);\n\n keys = _.keys(this.currentVue._columns);\n for (var key2 in keys) {\n if (key2.indexOf(\"phx-\") === 0) {\n this.vues[vueName]._columns[key2].sortable = false;\n }\n }\n }\n\n },\n\n /**\n * Customize the names of the columns when call rest for sorting\n * ex: niveau.code >> niveau => { \"niveau.code\" : \"niveau_ordre\",... }\n */\n setSortableCustomNames: function(sortableNames, vueName) {\n if (STR.isBlank(vueName)) {\n this.currentVue._sortableCustomNames = sortableNames;\n } else {\n this.vues[vueName]._sortableCustomNames = sortableNames;\n }\n },\n\n /**\n * Resets the row and the grid Height\n */\n _resetRowHeight: function() {\n this.rowHeight = 0;\n this.gridHeight = 0;\n },\n\n /**\n * Manage the habilitations of the grid hidding the not allowed actions\n */\n applyHabilitations: function() {\n var self = this;\n if (!STR.isBlank(this.habilitations)) {\n if ((this.omitHabilitationAttributes && !HABILITATION.canView(this.habilitations)) || (!this.omitHabilitationAttributes && !HABILITATION.canCreate(this.habilitations))) {\n this.buttonBar.model.trigger(\"hab.hide:new\");\n this.buttonBar.model.trigger(\"hab.hide:copy\");\n }\n if ((this.omitHabilitationAttributes && !HABILITATION.canView(this.habilitations)) || (!this.omitHabilitationAttributes && !HABILITATION.canDelete(this.habilitations))) {\n this.buttonBar.model.trigger(\"hab.hide:delete\");\n }\n if ((this.omitHabilitationAttributes && !HABILITATION.canView(this.habilitations)) || (!this.omitHabilitationAttributes && !HABILITATION.canUpdate(this.habilitations))) {\n this.habilitationUpdate = false;\n this.editable = false;\n }\n if ((this.omitHabilitationAttributes && !HABILITATION.canView(this.habilitations)) || (!this.omitHabilitationAttributes && !HABILITATION.canCreate(this.habilitations) && !HABILITATION.canUpdate(this.habilitations))) {\n this.buttonBar.model.trigger(\"hab.hide:save\");\n }\n if (this.habModeM === true && !this.omitHabilitationAttributes && !HABILITATION.canUpdate(this.habilitations)) {\n this.buttonBar.model.trigger(\"hab.hide:new\");\n this.buttonBar.model.trigger(\"hab.hide:copy\");\n this.buttonBar.model.trigger(\"hab.hide:delete\");\n }\n if (this.omitHabilitationAttributes && !HABILITATION.canView(this.habilitations) && this.buttonBar.newButtons) {\n _.each(this.buttonBar.newButtons, function(button) {\n self.buttonBar.model.trigger(\"hab.hide:\" + button.buttonAction);\n });\n }\n }\n },\n\n /**\n * Set and renders the grid title.\n */\n setTitle: function(title) {\n this.title = title;\n this._renderTitle();\n this._renderFilteredRowsInTitle();\n },\n\n /**\n * Renders the title of the grid.\n */\n _renderTitle: function() {\n $(\".phx-grid-title-bar-text\", this.el).html(this.title);\n },\n\n /**\n * Renders the filtered rows number on the title with the total.\n */\n _renderFilteredRowsInTitle: function() {\n if (this.showFilteredRowsInTitle === true) {\n this._renderTitle();\n var totalRecords = this.model.coll.totalRecords;\n if (this.model.coll.paginated === false) {\n totalRecords = this.model.coll.length;\n }\n // this method can be defined from our usecase if we need special treatment\n if ((this.overrideFilteredRowsInTitle) && (this.overrideFilteredRowsInTitle(totalRecords) !== \"\")) {\n totalRecords = this.overrideFilteredRowsInTitle(totalRecords);\n }\n $(\".phx-grid-title-bar-rowsNumber\", this.el).html(\" (\" + totalRecords + \")\");\n }\n },\n\n /**\n * Refresh the number of filtered rows in the title of the grid.\n */\n recalculateFilteredRowsInTitle: function() {\n this._renderFilteredRowsInTitle();\n },\n\n /**\n * Indicates if row can be saved\n */\n _allowRowUpdate: function(allowed) {\n this._isRowUpdatable = allowed;\n },\n\n /**\n * Gets all rows marked for selection if in multiselection, otherwise return the active row.\n */\n getSelectedRows: function() {\n var self = this;\n if (this.multiselection === true) {\n if (!STR.isBlank(this.filterSelection)) {\n this.model.multiselectColl.models = this.model.multiselectColl.where(this.filterMultiSelectColl);\n } else {\n if (this.filterSelectionFunction) {\n this.model.multiselectColl.models = _.filter(this.model.multiselectColl.models, function(model) {\n return self.filterSelectionFunction(model);\n })\n }\n }\n return this.model.multiselectColl;\n } else {\n return this.getCurrentRow();\n }\n },\n\n /**\n * Get active row (row selected but not marked for selection.\n */\n getCurrentRow: function() {\n return this.model.get(\"value\");\n },\n\n /**\n * Clear all selected rows.\n */\n clearSelectedRows: function() {\n this.model.multiselectColl.reset(null);\n this.model.coll.forEach(function(model) {\n model.trigger(\"row:unchecked\");\n });\n this._manageMultiSelection();\n\n },\n\n /**\n * Select all rows on the grid\n */\n selectAllRows: function() {\n var self = this;\n this.model.multiselectColl.reset(null, { silent: true });\n var clonedCollection = this.model.coll.clone();\n\n clonedCollection.setHabContext(this.model.coll.getHabContext());\n clonedCollection.url = this.model.coll.url;\n clonedCollection.params = this.model.coll.params;\n\n if (this.model.coll.paginated === false) {\n if (!STR.isBlank(this.filterSelection)) {\n clonedCollection.models = clonedCollection.where(this.filterMultiSelectColl);\n } else if (this.filterSelectionFunction) {\n var that = this;\n clonedCollection.models = _.filter(clonedCollection.models, function(model) {\n return that.filterSelectionFunction(model);\n })\n }\n this.model.multiselectColl.add(clonedCollection.models);\n this.model.coll.forEach(function(model) {\n model.trigger(\"row:checked\");\n });\n this._manageMultiSelection();\n } else {\n clonedCollection.paginated = false;\n clonedCollection.fetch({\n success: function() {\n if (!STR.isBlank(self.filterSelection)) {\n clonedCollection.models = clonedCollection.where(self.filterMultiSelectColl);\n } else if (self.filterSelectionFunction) {\n var that = self;\n clonedCollection.models = _.filter(self.clonedCollection.models, function(model) {\n return that.filterSelectionFunction(model);\n })\n }\n self.model.multiselectColl.add(clonedCollection.models);\n self.model.coll.forEach(function(model) {\n model.trigger(\"row:checked\");\n });\n self._manageMultiSelection();\n }\n });\n }\n },\n\n _selectedCellIsVisible: function() {\n var offsetCell = $(this.el).find(\".ui-grid-row.phx-selected\").offset();\n var offsetTable = this.$el.find(\".phx-grid-scroll\").offset();\n var heightTable = this.$el.find(\".phx-grid-scroll\").height();\n var lb_rtn = false;\n\n if (offsetCell && offsetTable && heightTable) {\n if (offsetCell.top >= offsetTable.top && offsetCell.top <= (offsetTable.top + heightTable)) {\n lb_rtn = true;\n } else {\n lb_rtn = false;\n }\n }\n return lb_rtn;\n },\n\n // ACCESIBILITY FUNCTIONS\n //Select the adjacent cell (header and table)\n _selectAdjacentCell: function(container, operation, position, tag) {\n var numberCells = this.currentVue.columns.length;\n var currentCell = $(this.el).find(\".grid-cell-focus\");\n var nextCellPosition = null;\n var nextCell = null;\n\n //obtain the position of the new cell. if it is an input we need to focus the input not the cell.\n if (currentCell.is(\"td\") || currentCell.is(\"th\")) {\n nextCellPosition = !STR.isBlank(position) ? position : currentCell.parent().children().index(currentCell);\n } else {\n nextCellPosition = !STR.isBlank(position) ? position : currentCell.parents(tag + \":first\").parent().children().index(currentCell.parents(tag + \":first\"));\n }\n\n //obtain the new cell\n do {\n nextCellPosition = nextCellPosition + operation;\n nextCell = !STR.isBlank(container[nextCellPosition]) ? container[nextCellPosition] : null;\n } while ((STR.isBlank(nextCell) && nextCellPosition >= 0 && nextCellPosition < numberCells) || (!STR.isBlank(nextCell) && !$(nextCell).is(\":visible\")));\n\n //select the new cell\n if (!STR.isBlank(nextCell) && this._selectedCellIsVisible()) { //$(nextCell).is(\":visible\")){\n this.cellSelected = nextCellPosition;\n currentCell.attr({ \"tabindex\": \"-1\" }).removeAttr(\"aria-selected\").removeClass(\"grid-cell-focus\");\n if ($(nextCell).find(\":input\").is(\":input\")) {\n $(nextCell).find(\":input\").attr({ \"tabindex\": \"0\" }).addClass(\"grid-cell-focus\").focus();\n } else {\n $(nextCell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n }\n }\n },\n\n //horizontal selection inside the table\n _selectAdjacentRow: function(e, tag, adjacent) {\n var currentCell = $(e.currentTarget).find(\".grid-cell-focus\");\n var nextCellPosition = null;\n var nextCell = null;\n\n //if it is an input we need to focus the input not the cell.\n if (currentCell.is(\":input\")) {\n nextCellPosition = currentCell.parents(tag + \":first\").parent().children().index(currentCell.parents(tag + \":first\"));\n } else {\n nextCellPosition = currentCell.parent().children().index(currentCell);\n }\n\n //tag == \"th\" ----> header -> table movement\n if (tag === \"th\") {\n var firstRowTable = $(this.el).find(\".ui-grid-table .ui-grid-body\").children()[0];\n nextCell = $(firstRowTable).children()[nextCellPosition];\n } else {\n switch (adjacent) {\n case \"next\":\n //key down\n nextCell = $(e.target).parents(\"tr:first\").next().children()[nextCellPosition];\n break;\n\n case \"prev\":\n // key up\n nextCell = $(e.target).parents(\"tr:first\").prev().children()[nextCellPosition];\n\n if (STR.isBlank(nextCell) && this.$el.find(\".phx-grid-scroll-extra1\").height() === 0) {\n this._focusHeader();\n }\n break;\n\n case \"first\":\n //re pag\n nextCell = $(e.currentTarget).find(\"table tbody tr:first\").children()[nextCellPosition];\n break;\n\n case \"last\":\n //av pag\n nextCell = $(e.currentTarget).find(\"table tbody tr:last\").children()[nextCellPosition];\n break;\n default:\n break;\n }\n }\n\n if (!STR.isBlank(nextCell)) {\n currentCell.attr({ \"tabindex\": \"-1\" }).removeAttr(\"aria-selected\").removeClass(\"grid-cell-focus\");\n if ($(nextCell).find(\":input\").is(\":input\")) {\n $(nextCell).find(\":input\").attr(\"tabindex\", \"0\").addClass(\"grid-cell-focus\").focus();\n } else {\n $(nextCell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n }\n }\n },\n\n //focus header when we navigate table -> header\n _focusHeader: function() {\n var headerRow = $(this.el).find(\".phx-grid-header-scroll table thead tr\");\n var currentCell = $(this.el).find(\".grid-cell-focus\");\n var index = null;\n var nextCell = null;\n\n if (currentCell.is(\":input\")) {\n index = currentCell.parents(\"tr:first\").children().index(currentCell.parents(\"td:first\"));\n } else {\n index = currentCell.parents(\"tr:first\").children().index(currentCell);\n }\n nextCell = headerRow.children()[index];\n\n if (!STR.isBlank(nextCell)) {\n currentCell.attr({ \"tabindex\": \"-1\" }).removeAttr(\"aria-selected\").removeClass(\"grid-cell-focus\");\n if ($(nextCell).find(\":input\").is(\":input\")) {\n $(nextCell).find(\":input\").attr(\"tabindex\", \"0\").addClass(\"grid-cell-focus\").focus();\n } else {\n $(nextCell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n }\n }\n\n if (this.model.get(\"value\")) {\n this.model._manageRowSelection(this.model.get(\"value\"));\n }\n },\n\n _clickListenerHeader: function(e) {\n var headerRow = $(this.el).find(\".phx-grid-header-scroll table thead tr\");\n var currentCell = $(this.el).find(\".grid-cell-focus\");\n var index = headerRow.find(\"th\").index(e.currentTarget);\n this.model.coll.editModeCellSelected = index;\n this.cellSelected = index;\n var nextCell = headerRow.children()[index];\n\n if (!STR.isBlank(nextCell)) {\n currentCell.attr({ \"tabindex\": \"-1\" }).removeAttr(\"aria-selected\").removeClass(\"grid-cell-focus\");\n if ($(nextCell).find(\":input\").is(\":input\")) {\n $(nextCell).find(\":input\").attr(\"tabindex\", \"0\").addClass(\"grid-cell-focus\").focus();\n } else {\n $(nextCell).attr({ \"tabindex\": \"0\", \"aria-selected\": \"true\" }).addClass(\"grid-cell-focus\").focus();\n }\n }\n },\n\n positionHeader: function() {\n var self = this;\n var interval = setInterval(function() {\n if (self.$el.parents(\"body\").length > 0) {\n var calculateMargin = function() {\n $(\".phx-grid-title-bar\", self.el).css({ \"position\": \"absolute\", \"top\": \"0px\", \"width\": \"100%\" });\n var margin = $(\".phx-grid-title-bar\", self.el).eq(0).outerHeight(true);\n $(\".phx-grid-header-scroll\", self.el).css(\"margin-top\", margin);\n self._resizeGrid(); // prevents extra right scrollbar\n clearInterval(interval);\n self._resizeGrid();\n };\n if (self.$el.is(\":hidden\")) {\n if (self.$el.css(\"display\") === \"none\") {\n self.$el.show();\n calculateMargin();\n self.$el.hide();\n } else if (self.$el.parents().filter(function(index, element) { return $(element).css(\"display\") === \"none\"; }).length > 0) {\n var parent = self.$el.parents().filter(function(index, element) { return $(element).css(\"display\") === \"none\"; });\n parent.show();\n calculateMargin();\n parent.hide();\n }\n } else {\n calculateMargin();\n }\n }\n }, 100);\n },\n resetSorting: function() {\n //Hide the sort buttons of all columns\n var keys = _.keys(this.currentVue._columns),\n self = this,\n i = 0,\n key = null;\n\n for (; i < keys.length; i++) {\n key = keys[i];\n\n if (self.currentVue._columns[key].sortable) {\n self.currentVue._columns[key].sort = null;\n self.currentVue._columns[key].header.hideSortButton();\n self.currentVue._columns[key].header.$el.find(\".title\").removeClass(\"phx-state-sort\");\n\n self.orderedData[key] = null;\n }\n }\n }\n});\n","import { SelecteurCheminColl } from './selecteurChemin.collection.js';\nimport { STR } from '../../../utils/str.js';\n\n/**\n * Selecteur Chemin Model\n */\nexport var SelecteurCheminModel = Backbone.Model.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * Default data model\n *\tcode : null,\n * libelle : \"\",\n * codef : \"\",\n * niveau : null,\n * datedebut : \"\",\n * datefin : \"\",\n * debsitu : \"\",\n * finsitu : \"\",\n * feuille : false,\n * selectionnable : true,\n * datespartielles : []\n * }\n */\n defaults: {\n code: null,\n libelle: \"\",\n codef: \"\",\n niveau: null,\n datedebut: \"\",\n datefin: \"\",\n debsitu: \"\",\n finsitu: \"\",\n feuille: false,\n selectionnable: true,\n datespartielles: []\n },\n\n /**\n * Process to manage the response\n */\n parse: function(response) {\n if (STR.isBlank(response.id) && !STR.isBlank(response.code)) {\n response.id = response.code;\n }\n\n if (response.enfants) {\n this.set(\"enfants\", new SelecteurCheminColl(response.enfants, { parse: true }));\n }\n delete response.enfants;\n return response;\n }\n\n});\n","import { BaseCollection } from '../../models/base.collection.js';\nimport { PaginatedCollection } from '../../models/paginated.collection.js';\nimport { GLOBAL_DATA } from '../../../globalData.js';\nimport { SelecteurCheminModel } from './selecteurChemin.model.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var SelecteurCheminColl = PaginatedCollection.extend({\n\n dummy: \"\",\n\n model: SelecteurCheminModel,\n habilitationV: \"N\",\n habilitationG: \"N\",\n usecase: \"app\",\n /**\n * Constructor\n * Selecteur Chemin Collection\n */\n initialize: function(params) {\n PaginatedCollection.prototype.initialize.call(this);\n this.localParams = \"\";\n this.search = \"\";\n this.nbrang = \"\";\n this.sorted = \"\";\n\n //Pagination\n this.paginated = true ;\n this.pagination.size = !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"TNodeSize\")) && !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"TNodeSize\").get(\"valeur\")) ? GLOBAL_DATA.paramDivers.get(\"TNodeSize\").get(\"valeur\") : 75;\n\n if (params) {\n\n if (!STR.isBlank(params.structid)) {\n this.structid = params.structid;\n }\n if (!STR.isBlank(params.parentcode)) {\n this.parentcode = params.parentcode;\n }\n if (!STR.isBlank(params.parentdebsitu)) {\n this.parentdebsitu = params.parentdebsitu;\n }\n if (!STR.isBlank(params.parentfinsitu)) {\n this.parentfinsitu = params.parentfinsitu;\n }\n if (!STR.isBlank(params.datedebut)) {\n this.datedebut = params.datedebut;\n }\n if (!STR.isBlank(params.datefin)) {\n this.datefin = params.datefin;\n }\n if (!STR.isBlank(params.complet)) {\n this.complet = params.complet;\n } else {\n this.complet = false;\n }\n if (!STR.isBlank(params.niveau)) {\n this.niveau = params.niveau;\n }\n if (!STR.isBlank(params.multiple)) {\n this.multiple = params.multiple;\n }\n if (!STR.isBlank(params.selectionnes)) {\n this.selectionnes = params.selectionnes;\n }\n if (!STR.isBlank(params.intermediaire)) {\n this.intermediaire = params.intermediaire;\n }\n if (!STR.isBlank(params.partial)) {\n this.partial = params.partial;\n }\n if (!STR.isBlank(params.racine)) {\n this.racine = params.racine;\n }\n if (!STR.isBlank(params.nonrattachable)) {\n this.nonrattachable = params.nonrattachable;\n }\n if (!STR.isBlank(params.nonrattactiv)) {\n this.nonrattactiv = params.nonrattactiv;\n }\n if (!STR.isBlank(params.elementcode)) {\n this.elementcode = params.elementcode;\n }\n if (!STR.isBlank(params.ecran)) {\n this.usecase = params.ecran;\n }\n if (!STR.isBlank(params.selectpopu)) {\n this.selectpopu = params.selectpopu;\n }\n if (!STR.isBlank(params.exclure_collab)) {\n this.exclure_collab = params.exclure_collab;\n }\n if (!STR.isBlank(params.structval)) {\n this.structval = params.structval;\n } else {\n this.structval = null;\n }\n }\n },\n /**\n * Build the URL by the params\n */\n _buildURL: function() {\n var existParam = false;\n this.localParams = \"\";\n\n if (!STR.isBlank(this.structid)) {\n existParam = true;\n this.localParams += \"structid=\" + this.structid;\n }\n if (!STR.isBlank(this.parentcode)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"parentcode=\" + this.parentcode;\n }\n if (!STR.isBlank(this.parentdebsitu)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"parentdebsitu=\" + this.parentdebsitu;\n }\n if (!STR.isBlank(this.parentfinsitu)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"parentfinsitu=\" + this.parentfinsitu;\n }\n if (!STR.isBlank(this.datedebut)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"datedebut=\" + this.datedebut;\n }\n if (!STR.isBlank(this.datefin)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"datefin=\" + this.datefin;\n }\n if (!STR.isBlank(this.complet)) {\n if (this.complet === true) {\n this.mode = \"complet\";\n } else {\n this.mode = \"simple\";\n }\n }\n if (!STR.isBlank(this.niveau)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"niveau=\" + this.niveau;\n }\n if (!STR.isBlank(this.multiple)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"multiple=\" + this.multiple;\n } else {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n this.localParams += \"multiple=false\";\n }\n if (!STR.isBlank(this.selectionnes)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"selectionnes=\" + this.selectionnes;\n }\n if (!STR.isBlank(this.intermediaire)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"intermediaire=\" + this.intermediaire;\n } else {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n this.localParams += \"intermediaire=true\";\n }\n if (!STR.isBlank(this.partial)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"partial=\" + this.partial;\n } else {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n this.localParams += \"partial=true\";\n }\n if (!STR.isBlank(this.racine)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"racine=\" + this.racine;\n }\n if (!STR.isBlank(this.nonrattachable)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"nonrattachable=\" + this.nonrattachable;\n }\n if (!STR.isBlank(this.nonrattactiv)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"nonrattactiv=\" + this.nonrattactiv;\n }\n if (!STR.isBlank(this.elementcode)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"elementcode=\" + this.elementcode;\n }\n if (!STR.isBlank(this.selectpopu)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"selectpopu=\" + this.selectpopu;\n }\n if (!STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") === \"1\" && this.structid == this.structval) {\n if (!STR.isBlank(this.exclure_collab)) {\n if (existParam === true) {\n this.localParams += \"&\";\n }\n existParam = true;\n this.localParams += \"exclure_collab=\" + this.exclure_collab;\n }\n }\n\n if (existParam === true) {\n this.localParams = \"?tri=libelle,codef&\" + this.localParams;\n this.sorted = true;\n }\n },\n\n /**\n * Set niveau and build params\n */\n setNiveau: function(niveau) {\n this.niveau = niveau;\n this._buildURL();\n },\n\n /**\n * Set parent code and build params\n */\n setParentCode: function(parentcode) {\n this.parentcode = parentcode;\n this._buildURL();\n },\n\n /**\n * Adds mode params and search to build URL\n */\n url: function() {\n this._buildURL();\n var urlFin = Configuration.restRoot + \"/rest/cheminstructure/\" + this.mode + this.localParams + this.search;\n return urlFin;\n },\n\n /**\n * Adds mode params and search to build URL\n */\n clone: function() {\n var temp = Backbone.Collection.prototype.clone.call(this);\n temp.complet = this.complet;\n temp.racine = this.racine;\n temp.nonrattachable = this.nonrattachable;\n temp.nonrattactiv = this.nonrattactiv;\n return temp;\n }\n\n});\n","import TPL_common_selecteur_chemin_item from './selecteur_chemin_item.tpl.html';\n\nexport var SelecteurCheminResultItemView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-chemin-item ui-corner-all\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"span\",\n\n /**\n * Event launched when the item is clicked\n *\n */\n\n events: {\n \"click\": \"_removeItem\"\n },\n\n /**\n * Constructor\n * View underlying a selecteur de chemin result item\n */\n initialize: function(params) {\n /**\n * HTML template of the view\n */\n this.template = TPL_common_selecteur_chemin_item;\n this.readonly = false;\n if (params && params.readonly === true) {\n this.readonly = true;\n }\n },\n\n /**\n * Paints the row view of the selecteur de chemin result item\n */\n render: function() {\n var json = { readonly: this.readonly, model: this.model.attributes };\n\n $(this.el).html(this.template(json));\n\n return this;\n },\n\n /**\n * Method which removes an existing item\n */\n _removeItem: function() {\n if (this.readonly == false) {\n this.model.trigger(\"click:item\", this.model);\n }\n }\n\n});","import { AutocompleteColl } from '../combo/autocomplete.collection.js';\nimport { i18n } from '../../../i18n.js';\nimport { SelecteurCheminColl } from './selecteurChemin.collection.js';\nimport { SelecteurCheminResultItemView } from './selecteurCheminResultItem.view.js';\nimport { STR } from '../../../utils/str.js';\nimport { SYNC } from '../../../utils/sync.js';\nimport { TreeView } from '../../tree/tree.view.js';\nimport { TYPE } from '../../../tda/tda.js';\nimport TPL_common_selecteur_chemin_dialog from './selecteur_chemin_dialog.tpl.html';\nimport { GLOBAL_DATA } from '../../../globalData.js';\n\nexport var SelecteurCheminDialogView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"span\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-selecteur-chemin-dialog\",\n\n /**\n * Event launched when the find button is clicked\n *\n */\n /**\n * Event launched when the expand menu icon is clicked\n *\n */\n /**\n * Event launched when a menu element is clicked\n *\n */\n /**\n * Event launched when a menu element is clicked\n *\n */\n /**\n * Event launched when a element is selected or deleted\n *\n */\n\n events: {\n \"click .phx_chemin_rechbtn\": \"_doSearch\",\n \"click .phx_chemin_menuicon\": \"_toggleMenu\",\n \"click .phx_chemin_menucontent li\": \"_changeRenderer\",\n \"click .phx_chemin_menucontent span\": \"_changeRenderer\"\n },\n\n /**\n * Constructor\n * Selecteur de chemin mode complet dialog view\n */\n initialize: function(params) {\n /**\n * HTML template of the view\n */\n this.template = TPL_common_selecteur_chemin_dialog;\n var today = TYPE.DATE.parse(TYPE.DATE.dateToStr(SYNC.getServerDate())).val;\n if (params && params.parameters) {\n\n /**\n * Parameters of the initialization\n */\n this.params = params.parameters;\n this.params.complet = true;\n this.habContext = this.params.habContext;\n if (this.params.context && this.params.context.ctxStructureSelpop === true) {\n this.params.selectpopu = true;\n }\n } else {\n this.params = {\n structid: null,\n parentcode: null,\n parentdebsitu: null,\n parentfinsitu: null,\n datedebut: today,\n datefin: today,\n multiple: false,\n intermediaire: true,\n partial: true,\n complet: true,\n selectionnes: \"\",\n niveau: null,\n racine: null,\n nonrattachable: null,\n nonrattactiv: null,\n elementcode: null,\n exclure_collab: null\n };\n }\n\n /**\n * Style of visualization for the list of this view\n */\n this.listRenderStyle = 1;\n if (params && params.listRenderStyle && !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") !== \"1\") {\n this.listRenderStyle = params.listRenderStyle;\n }\n\n if (params.context) {\n this.context = params.context;\n }\n\n // response list filled with user selection\n /**\n * Collection of the current selection\n */\n this.selection = new AutocompleteColl();\n this.selection.itemRenderer = this._getAttrsRenderer();\n this.selection.on(\"click:item\", this._removeItem, this);\n\n // add already selected items\n if (params.currentSelection) {\n _.each(params.currentSelection.models, function(item) {\n var obj = new Backbone.Model(item.toJSON());\n obj.tooltip = item.tooltip;\n this.selection.add(obj);\n }, this);\n\n }\n\n /**\n * Collection of the elements in the selector\n */\n this.coll = new SelecteurCheminColl(this.params);\n this.coll.setHabContext(this.habContext);\n\n },\n\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n },\n /**\n * Called the first time to initialize the context of the combo\n */\n habilitationContext: function(context) {\n if (this.coll) {\n if (STR.isBlank(this.coll.habContext) || !_.isEqual(this.coll.habContext.toJSON(), context.toJSON())) {\n this.clearCache();\n }\n\n this.stopListening();\n this.coll.setHabContext(context);\n this.listenTo(context, \"change\", this.clearCache);\n }\n\n },\n\n clearCache: function() {\n for (var i in this.cache) {\n if (this.cache.hasOwnProperty(i)) {\n this.cache[i].length = 0;\n delete this.cache[i];\n }\n }\n this.cache[\"pendingInUse\"] = this.cache[\"pendingInUse\"] || [];\n },\n\n /**\n * Changes and sets the style of the visualization of the list of elements to show.\n */\n _changeRenderer: function(event) {\n switch (event.target.className.split(\" \")[0]) {\n case \"phx_chemin_opt1\":\n this.listRenderStyle = 1;\n break;\n case \"phx_chemin_opt2\":\n this.listRenderStyle = 2;\n break;\n case \"phx_chemin_opt3\":\n this.listRenderStyle = 3;\n break;\n case \"phx_chemin_opt4\":\n this.listRenderStyle = 4;\n break;\n default:\n break;\n }\n\n this.tree.setRenderer(this._getRenderer());\n\n this.tree.root.repaintLabel(this._getRenderer());\n\n this._formatSelection();\n\n return false;\n },\n\n /**\n * Paints the items of the component depending on their renderers.\n */\n _formatSelection: function() {\n\n _.each(this.selection.models, function(item) {\n var renderer = this._getAttrsRenderer();\n item.set(\"label\", renderer(item.get(\"attrs\")));\n }, this);\n\n this.selection.itemRenderer = this._getAttrsRenderer();\n\n this._paintItems();\n },\n\n /**\n * Expands or collapses the menu\n */\n _toggleMenu: function() {\n var menuContent = $(\".phx_chemin_menucontent\", this.el);\n var menuFonctionContent = $(\".phx_chemin_menucontent\", this.el);\n if (menuContent.is(\":visible\")) {\n menuFonctionContent.hide();\n menuContent.hide();\n } else {\n var menuBtn = $(\".phx_chemin_menuicon\", this.el);\n menuContent.show().position({\n my: \"right top\",\n at: \"right bottom\",\n of: menuBtn\n });\n\n //If you click out of the menu, close the menu.\n var self = this;\n $(document).one(\"mousedown\", function(event) {\n var element = $(self.el).find(event.target);\n if (element.length === 0) {\n self._toggleMenu();\n }\n });\n //If you click in one option, the menu is closed\n $(document).one(\"mouseup\", function(event) {\n var element = $(self.el).find(event.target);\n if (element.length > 0 && event.target.className.split(\" \")[0] !== \"phx_chemin_menuicon\") {\n self._toggleMenu();\n }\n });\n }\n },\n\n /**\n * Returns the render function depending on the render style for every element in the tree\n */\n _getRenderer: function() {\n var result = null,\n self = this;\n switch (this.listRenderStyle) {\n case 1:\n result = function(item) {\n if (!STR.isBlank(self.params) && self.params.ecran === \"coll\" && !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") === \"1\") {\n return item.get(\"libelle\") + \" (\" + item.get(\"codef\") + \")\" + (!STR.isBlank(item.get(\"libelle_structprincipale\")) ? '\\xa0\\xa0' + item.get(\"libelle_structprincipale\") : '');\n } else {\n return item.get(\"libelle\") + \" (\" + item.get(\"codef\") + \")\";\n }\n };\n break;\n case 2:\n result = function(item) {\n return item.get(\"codef\") + \" (\" + item.get(\"libelle\") + \")\";\n };\n break;\n case 3:\n result = function(item) {\n return item.get(\"libelle\");\n };\n break;\n case 4:\n result = function(item) {\n return item.get(\"codef\");\n };\n break;\n default:\n break;\n }\n return result;\n },\n\n /**\n * Returns the render function depending on the render style for every element\n */\n _getAttrsRenderer: function() {\n var result = null;\n var l_resultaux = \"\";\n\n switch (this.listRenderStyle) {\n case 1:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.libelle + \" (\" + item.codef + \")\";\n }\n return l_resultaux;\n };\n break;\n case 2:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.codef + \" (\" + item.libelle + \")\";\n }\n return l_resultaux;\n };\n break;\n case 3:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.libelle;\n }\n return l_resultaux;\n };\n break;\n case 4:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.codef;\n }\n return l_resultaux;\n };\n break;\n default:\n break;\n }\n return result;\n },\n\n /**\n * Does the search in the chemin dialog components view\n */\n _doSearch: function() {\n var term = this.$el.find(\".phx-chemin-strinp\").val();\n if (STR.isBlank(term)) {\n this._paintTree();\n } else {\n var structColl = new SelecteurCheminColl(this.params);\n structColl.search = \"&search=\" + term;\n structColl.setHabContext(this.coll.getHabContext());\n\n var self = this;\n structColl.fetch({\n success: function(fresh) {\n self.tree.setColl(structColl);\n self.tree.model.on(\"nodeSelected\", self._setSelection, self);\n self.tree.model.on(\"nodeChoosen\", self._chooseSelection, self);\n self.tree.root.empty();\n self.tree.root.render();\n if (fresh.models.length > 0) {\n self.tree.root.fillSubTree(fresh.models[0].get(\"enfants\"));\n }\n }\n });\n }\n },\n\n /**\n * Paints the tree for the dialog component\n */\n _paintTree: function() {\n var term = this.$el.find(\".phx-chemin-strinp\").val();\n\n //Gets the collection to build the tree\n var structColl = new SelecteurCheminColl(this.params);\n structColl.setHabContext(this.coll.getHabContext());\n if (!STR.isBlank(term)) {\n structColl.search = \"&search=\" + term;\n }\n\n var self = this;\n\n if (!this.tree) {\n //Create the tree\n /**\n * Tree view of the dialog component\n */\n this.tree = new TreeView({\n coll: null,\n name: null,\n draggable: false,\n rootModel: this.racineModel,\n buildUrlColl: function(parentNiveau, node, collection) {\n collection.setNiveau(parentNiveau + 1);\n collection.setParentCode(node.get(\"code\"));\n collection.parentdebsitu = node.get(\"debsitu\");\n collection.parentfinsitu = node.get(\"finsitu\");\n collection.datedebut = self.params.datedebut;\n collection.datefin = self.params.datefin;\n collection.selectpopu = self.params.selectpopu;\n },\n renderer: this._getRenderer(),\n tooltipRenderer: function(model, view) {\n var text = \"\";\n //add tooltip icon\n var label = $(view.$el.find(\".phx-treenode-label\")[0]).text();\n //(●)= (●)\n var tooltipIcon = \" (●)\";\n if (model.get(\"datespartielles\").length > 0) {\n view.$el.find(\".phx-treenode-label\").html(label + tooltipIcon);\n var tooltip = view.$el.find(\".tree-tooltip-icon\").tooltip({ content: \"\" });\n var first = true;\n for (var i = 0; i < model.get(\"datespartielles\").length; i++) {\n if (first === false) {\n text += \"
        \";\n }\n if (model.get(\"datespartielles\")[i].datedebut === model.get(\"datedebut\")) {\n //bold\n text += \"[\" + TYPE.DATE.format(model.get(\"datespartielles\")[i].datedebut) + \" - \" + TYPE.DATE.format(model.get(\"datespartielles\")[i].datefin) + \"]\";\n } else {\n text += \"[\" + TYPE.DATE.format(model.get(\"datespartielles\")[i].datedebut) + \" - \" + TYPE.DATE.format(model.get(\"datespartielles\")[i].datefin) + \"]\";\n }\n first = false;\n }\n tooltip.tooltip(\"option\", \"content\", text);\n } else {\n var displayIcon = false;\n if (model.get(\"datedebut\") <= self.params.datedebut && model.get(\"datefin\") < self.params.datefin) {\n text += \"[... - \" + TYPE.DATE.format(model.get(\"datefin\")) + \"]\";\n displayIcon = true;\n } else if (model.get(\"datedebut\") > self.params.datedebut && model.get(\"datefin\") >= self.params.datefin) {\n text += \"[\" + TYPE.DATE.format(model.get(\"datedebut\")) + \" - ...]\";\n displayIcon = true;\n } else if (model.get(\"datedebut\") > self.params.datedebut && model.get(\"datefin\") < self.params.datefin) {\n text += \"[\" + TYPE.DATE.format(model.get(\"datedebut\")) + \" - \" + TYPE.DATE.format(model.get(\"datefin\")) + \"]\";\n displayIcon = true;\n }\n if (displayIcon) {\n view.$el.find(\".phx-treenode-label\").html(label + tooltipIcon);\n var tooltip = view.$el.find(\".tree-tooltip-icon\").tooltip({ content: \"\" });\n tooltip.tooltip(\"option\", \"content\", text);\n }\n }\n },\n\n selectableNode: function(model) {\n\n var lb_selectable = true;\n\n if (self.params.selRacineAuto === false && model.get(\"niveau\") === 0) {\n lb_selectable = false;\n }\n\n if (self.params.selNoeudChemin === false && model.get(\"niveau\") !== 0 && model.get(\"feuille\") !== true) {\n lb_selectable = false;\n }\n\n if (model.get(\"selectionnable\") !== true) {\n lb_selectable = false;\n }\n\n if (!STR.isBlank(this.collection.models)) {\n if (_.isArray(this.collection.models) && this.collection.models.length > 0) {\n // init with one or more elements in arrays\n for (var i = 0; i < this.collection.models.length; i++) {\n if (!STR.isBlank(this.collection.models[i].get(\"selectionnable\") && this.collection.models[i].get(\"selectionnable\") === true)) {\n lb_selectable = true;\n } else {\n lb_selectable = false;\n }\n }\n }\n }\n\n return lb_selectable\n\n }\n });\n\n this.$el.find(\".phx_chemin_tree\").html(this.tree.el);\n }\n this.tree.setSortFunction(this._sortTree);\n this.tree.setColl(structColl);\n this.tree.model.on(\"nodeSelected\", this._setSelection, this);\n this.tree.model.on(\"nodeChoosen\", this._chooseSelection, this);\n this.tree.render();\n },\n\n /**\n * Compares two elements from the tree and returns 1 if a>b, 0 if a=b or -1 if a compB) ? 1 : 0;\n if (comp === 0) {\n // comparing with datedeb de validité\n compA = a.model.node.get(\"datedebut\");\n compB = b.model.node.get(\"datedebut\");\n comp = (compA < compB) ? 1 : (compA > compB) ? -1 : 0;\n }\n return comp;\n },\n\n /**\n * Sets the current selection\n */\n _chooseSelection: function(model) {\n this._setSelection(model);\n },\n\n /**\n * Sets the current selection\n */\n _setSelection: function(model) {\n if (this.params && this.params.context && this.params.context.ctxStructureSelpop == true) {\n this.setSelectionTraversalComponentPopulation(model);\n } else {\n this.setSelectionCommon(model)\n }\n },\n\n setSelectionCommon: function(model) {\n var renderer = model.root.renderer;\n var node = model.node;\n //Provisional hasta ver si el atributo NivStructSelPopActiv se corresponde con node.selectionnable\n if (this.params.multiple === false || node.get(\"niveau\") === 0 || (this.selection.length === 1 && this.selection.models[0].get(\"attrs\").niveau === 0)) {\n this.selection.reset();\n }\n\n this.selection.add([node.attributes], { parse: true });\n var label = \"\";\n\n if (this.params.multiple === false) {\n var end = false;\n var actualModel = node;\n\n if (node.get(\"niveau\") === 0) {\n label = i18n.t('common:chemin.structurecomp');\n } else {\n while (!end) {\n if (STR.isBlank(actualModel.parent)) {\n end = true;\n label = label.substring(1, label.length);\n } else {\n label = \"/\" + renderer.call(this, actualModel) + label;\n actualModel = actualModel.parent;\n }\n }\n }\n this.$el.find(\".phx-chemin-selval\").text(label);\n } else {\n this._paintItems();\n }\n this.trigger(\"response\", this.selection);\n return this.selection;\n },\n\n setSelectionTraversalComponentPopulation: function(model) {\n var renderer = model.root.renderer;\n var node = model.node;\n //Provisional hasta ver si el atributo NivStructSelPopActiv se corresponde con node.selectionnable\n if (node.get('selectionnable') == true) {\n if (this.params.multiple === false || node.get(\"niveau\") === 0 || (this.selection.length === 1 && this.selection.models[0].get(\"attrs\").niveau === 0)) {\n this.selection.reset();\n }\n\n this.selection.add([node.attributes], { parse: true });\n var label = \"\";\n\n if (this.params.multiple === false) {\n var end = false;\n var actualModel = node;\n\n if (node.get(\"niveau\") === 0) {\n label = i18n.t('common:chemin.structurecomp');\n } else {\n while (!end) {\n if (STR.isBlank(actualModel.parent)) {\n end = true;\n label = label.substring(1, label.length);\n } else {\n label = \"/\" + renderer.call(this, actualModel) + label;\n actualModel = actualModel.parent;\n }\n }\n }\n this.$el.find(\".phx-chemin-selval\").text(label);\n } else {\n this._paintItems();\n }\n }\n this.trigger(\"response\", this.selection);\n return this.selection;\n },\n /**\n * Paints every element of the dialog component\n */\n _paintItems: function() {\n $(this.el).find(\".phx-chemindlg-selection\").empty();\n\n var self = this;\n\n if (this.params.multiple) {\n\n _.each(this.selection.models, function(value) {\n var itemView = new SelecteurCheminResultItemView({ model: value });\n $(self.el).find(\".phx-chemindlg-selection\").append(itemView.render().el);\n\n $(itemView.el).tooltip({ content: value.tooltip });\n\n });\n\n if (this.selection.models.length === 0) {\n this.$el.find(\".phx-chemindlg-selection\").css(\"display\", \"inherit\");\n } else {\n this.$el.find(\".phx-chemindlg-selection\").css(\"display\", \"\");\n }\n\n this.$el.find(\".phx-chemindlg-selection\").position({\n my: \"left center\",\n at: \"right center\",\n of: self.$el.find(\".phx_chemin_sellbl\")\n });\n }\n },\n\n /**\n * Deletes an element from the dialog component list\n */\n _removeItem: function(model) {\n // remove item from collection\n this.selection.remove(model);\n\n this.trigger(\"response\", this.selection);\n // repaint\n this._paintItems();\n },\n\n /**\n * Paints the view of the selecteur de chemin dialog component\n */\n render: function() {\n var json = {\n \"i18n\": i18n,\n \"context\": this.params.context\n };\n var self = this;\n\n $(this.el).append(this.template(json));\n\n //Buttons\n this.$el.find(\".phx_chemin_rechbtn\").button();\n\n if (this.params.datedebut === this.params.datefin) {\n this.$el.find(\".phx_chemin_restitle\").text(i18n.t('common:chemin.dlgresultat', { \"0\": TYPE.DATE.format(this.params.datedebut), interpolation: { escapeValue: false } }));\n } else {\n this.$el.find(\".phx_chemin_restitle\").text(i18n.t('common:chemin.dlgresultatper', { \"0\": TYPE.DATE.format(this.params.datedebut), \"1\": TYPE.DATE.format(this.params.datefin), interpolation: { escapeValue: false } }));\n }\n\n //paint the structure type label\n var parameters = {\n structid: this.params.structid,\n parentcode: this.params.parentcode,\n parentdebsitu: this.params.parentdebsitu,\n parentfinsitu: this.params.parentfinsitu,\n datedebut: this.params.datedebut,\n datefin: this.params.datefin,\n multiple: this.params.multiple,\n intermediaire: this.params.intermediaire,\n partial: this.params.partial,\n complet: true,\n selectionnes: this.params.selectionnes,\n niveau: 0,\n racine: this.params.racine,\n nonrattachable: this.params.nonrattachable,\n nonrattactiv: this.params.nonrattactiv,\n elementcode: this.params.elementcode,\n selectpopu: this.params.selectpopu,\n exclure_collab: this.params.exclure_collab\n };\n var racineColl = new SelecteurCheminColl(parameters);\n racineColl.setHabContext(this.coll.getHabContext());\n this.$el.find(\".phx_chemin_rechbtn\").attr(\"disabled\", \"disabled\");\n racineColl.fetch({\n success: function(fresh) {\n if (fresh.models && fresh.models.length > 0) {\n var label = fresh.models[0].get(\"libelle\");\n label = label.replace(\"[\", \"\");\n label = label.replace(\"]\", \"\");\n self.$el.find(\".phx_chemin_strlbl\").text(label);\n self.racineModel = racineColl.models[0];\n self._paintTree();\n self.$el.find(\".phx_chemin_rechbtn\").removeAttr(\"disabled\");\n }\n }\n });\n\n //Build the menu\n var menuContent = $(\".phx_chemin_menucontent\", this.el);\n menuContent.menu().css(\"width\", \"150px\");\n menuContent.hide();\n\n var pDiversSPEValideu = GLOBAL_DATA.paramDivers.get(\"SPEValideu\");\n\n if (!STR.isBlank(pDiversSPEValideu) && pDiversSPEValideu.get(\"valeur\") === \"1\") {\n this.$el.find(\".phx_chemin_menuicon\").hide();\n }\n\n this._paintItems();\n\n return this;\n }\n\n});\n","import { PaginatedCollection } from '../../models/paginated.collection.js';\nimport { SelecteurCheminModel } from './selecteurChemin.model.js';\nimport { STR } from '../../../utils/str.js';\nimport { GLOBAL_DATA } from '../../../globalData.js';\n\nexport var SelecteurCheminModeSimpleColl = PaginatedCollection.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n habilitationV: \"N\",\n habilitationG: \"N\",\n usecase: \"app\",\n\n model: SelecteurCheminModel,\n /**\n * Constructor\n * Selecteur ModeSimple Collection\n */\n initialize: function(params) {\n PaginatedCollection.prototype.initialize.call(this);\n this.params = \"\";\n this.search = \"\";\n if (params) {\n if (!STR.isBlank(params.structid)) {\n this.structid = params.structid;\n }\n if (!STR.isBlank(params.parentcode)) {\n this.parentcode = params.parentcode;\n }\n if (!STR.isBlank(params.parentdebsitu)) {\n this.parentdebsitu = params.parentdebsitu;\n }\n if (!STR.isBlank(params.parentfinsitu)) {\n this.parentfinsitu = params.parentfinsitu;\n }\n if (!STR.isBlank(params.datedebut)) {\n this.datedebut = params.datedebut;\n }\n if (!STR.isBlank(params.datefin)) {\n this.datefin = params.datefin;\n }\n if (!STR.isBlank(params.complet)) {\n this.complet = params.complet;\n } else {\n this.complet = false;\n }\n if (!STR.isBlank(params.niveau)) {\n this.niveau = params.niveau;\n }\n if (!STR.isBlank(params.multiple)) {\n this.multiple = params.multiple;\n }\n if (!STR.isBlank(params.selectionnes)) {\n this.selectionnes = params.selectionnes;\n }\n if (!STR.isBlank(params.intermediaire)) {\n this.intermediaire = params.intermediaire;\n }\n if (!STR.isBlank(params.partial)) {\n this.partial = params.partial;\n }\n if (!STR.isBlank(params.racine)) {\n this.racine = params.racine;\n }\n if (!STR.isBlank(params.nonrattachable)) {\n this.nonrattachable = params.nonrattachable;\n }\n if (!STR.isBlank(params.nonrattactiv)) {\n this.nonrattactiv = params.nonrattactiv;\n }\n if (!STR.isBlank(params.elementcode)) {\n this.elementcode = params.elementcode;\n }\n if (!STR.isBlank(params.exclure_collab)) {\n this.exclure_collab = params.exclure_collab;\n }\n if (!STR.isBlank(params.structval)) {\n this.structval = params.structval;\n } else {\n this.structval = null;\n }\n }\n },\n /**\n * Sets the period for this collection\n */\n setDates: function(datedebut, datefin) {\n if (!STR.isBlank(datedebut)) {\n this.datedebut = datedebut;\n }\n if (!STR.isBlank(datefin)) {\n this.datefin = datefin;\n }\n },\n\n /**\n * Build params URL for server call\n */\n _buildURL: function() {\n var existParam = false;\n this.params = \"\";\n\n if (!STR.isBlank(this.structid)) {\n existParam = true;\n this.params += \"structid=\" + this.structid;\n }\n if (!STR.isBlank(this.parentcode)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"parentcode=\" + this.parentcode;\n }\n if (!STR.isBlank(this.parentdebsitu)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"parentdebsitu=\" + this.parentdebsitu;\n }\n if (!STR.isBlank(this.parentfinsitu)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"parentfinsitu=\" + this.parentfinsitu;\n }\n if (!STR.isBlank(this.datedebut)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"datedebut=\" + this.datedebut;\n }\n if (!STR.isBlank(this.datefin)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"datefin=\" + this.datefin;\n }\n if (!STR.isBlank(this.complet)) {\n if (this.complet === true) {\n this.mode = \"complet\";\n } else {\n this.mode = \"simple\";\n }\n }\n if (!STR.isBlank(this.niveau)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"niveau=\" + this.niveau;\n }\n if (!STR.isBlank(this.multiple)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"multiple=\" + this.multiple;\n } else {\n if (existParam === true) {\n this.params += \"&\";\n }\n this.params += \"multiple=false\";\n }\n if (!STR.isBlank(this.selectionnes)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"selectionnes=\" + this.selectionnes;\n }\n if (!STR.isBlank(this.intermediaire)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"intermediaire=\" + this.intermediaire;\n } else {\n if (existParam === true) {\n this.params += \"&\";\n }\n this.params += \"intermediaire=true\";\n }\n if (!STR.isBlank(this.partial)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"partial=\" + this.partial;\n } else {\n if (existParam === true) {\n this.params += \"&\";\n }\n this.params += \"partial=true\";\n }\n if (!STR.isBlank(this.racine)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"racine=\" + this.racine;\n }\n if (!STR.isBlank(this.nonrattachable)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"nonrattachable=\" + this.nonrattachable;\n }\n if (!STR.isBlank(this.nonrattactiv)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"nonrattactiv=\" + this.nonrattactiv;\n }\n if (!STR.isBlank(this.elementcode)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"elementcode=\" + this.elementcode;\n }\n if (!STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") === \"1\" && this.structid == this.structval) {\n if (!STR.isBlank(this.exclure_collab)) {\n if (existParam === true) {\n this.params += \"&\";\n }\n existParam = true;\n this.params += \"exclure_collab=\" + this.exclure_collab;\n }\n }\n if (existParam === true) {\n this.params = \"?\" + this.params;\n }\n\n },\n\n /**\n * Set niveau\n */\n setNiveau: function(niveau) {\n this.niveau = niveau;\n this._buildURL();\n },\n\n /**\n * Set parent code\n */\n setParentCode: function(parentcode) {\n this.parentcode = parentcode;\n this._buildURL();\n },\n\n /**\n * Builds URL adding mode params and search\n */\n url: function() {\n this._buildURL();\n var urlFin = Configuration.restRoot + \"/rest/cheminstructure/\" + this.mode + this.params + this.search;\n return urlFin;\n },\n\n /**\n * Adds mode params and search to build URL\n */\n clone: function() {\n var temp = Backbone.Collection.prototype.clone.call(this);\n temp.complet = this.complet;\n temp.racine = this.racine;\n temp.nonrattachable = this.nonrattachable;\n temp.nonrattactiv = this.nonrattactiv;\n return temp;\n }\n\n});\n","import { STR } from '../../../utils/str.js';\n/**\n * Selecteur Chemin Niveau Model\n */\nexport var SelecteurCheminNivModel = Backbone.Model.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * Default data model\n *\tcode : null,\n *\tlibelle : \"\",\n *\tniveau : null,\n *\tabrege : \"\",\n *\tcodestruct : null,\n *\trattcollab : false,\n *\tnbcollab : null\n *}\n */\n defaults: {\n code: null,\n libelle: \"\",\n niveau: null,\n abrege: \"\",\n codestruct: null,\n rattcollab: false,\n nbcollab: null\n },\n\n /**\n * Process to manage the response\n */\n parse: function(response) {\n if (STR.isBlank(response.id) && !STR.isBlank(response.code)) {\n response.id = response.code;\n }\n return response;\n }\n\n});","import { HEADERS } from '../../../utils/headers.js';\nimport { SelecteurCheminNivModel } from './selecteurCheminNiv.model.js';\n\nexport var SelecteurCheminNivColl = Backbone.Collection.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n model: SelecteurCheminNivModel,\n\n /**\n * Constructor\n * Selecteur Chemin Niveau Collection\n */\n initialize: function(params) {\n this.code = \"\";\n if (params && params.code) {\n this.code = params.code;\n }\n },\n\n /**\n * Url for this collection\n */\n url: function() {\n var urlFin = Configuration.restRoot + \"/rest/cheminstructure/\" + this.code + \"/niveau\";\n return urlFin;\n },\n\n fetch: function(options) {\n var options = options || {};\n\n if (this.ecran && !this.habContext) {\n options.headers = HEADERS.habilitationContext(this.ecran, \"N\", \"\");\n }\n return Backbone.Collection.prototype.fetch.call(this, options);\n }\n});","import { AutocompleteColl } from '../combo/autocomplete.collection.js';\n\nimport { DialogView } from '../../views/dialog.view.js';\nimport { FORMS } from '../../../utils/forms.js';\nimport { i18n } from '../../../i18n.js';\nimport { LOG } from '../../../utils/log.js';\nimport { ReadOnlyModel } from '../../models/readOnly.model.js';\nimport { SelecteurCheminDialogView } from './selecteurCheminDialog.view.js';\nimport { SelecteurCheminModeSimpleColl } from './selecteurCheminModeSimple.collection.js';\nimport { SelecteurCheminNivColl } from './selecteurCheminNiv.collection.js';\nimport { SelecteurCheminResultItemView } from './selecteurCheminResultItem.view.js';\nimport { STR } from '../../../utils/str.js';\nimport { SYNC } from '../../../utils/sync.js';\nimport { TYPE } from '../../../tda/tda.js';\nimport { UTILS } from '../../../utils/utils.js';\nimport TPL_common_selecteur_chemin from './selecteur_chemin.tpl.html';\nimport { GLOBAL_DATA } from '../../../globalData.js';\n\nexport var SelecteurCheminView = Backbone.View.extend({\n cache: undefined,\n cacheEventsModel: undefined,\n\n dummy: \"\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"div\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-selecteur-chemin\",\n\n /**\n * Alias for the messages to show in this view\n */\n //REVIEW: \ti18n : phx.i18n.common,\n\n /**\n * Width of the combo list\n */\n listWidth: \"400px\",\n\n /**\n * Minimum string length to do the autocomplete search\n */\n minSearchLength: Configuration.selecteurChemin.minCharactersToSearch,\n\n /**\n * Indicator to know if the multiselection is allowed or not\n */\n multiselection: false,\n\n /**\n * Maximum number of items in the list of results to show\n */\n maxResultItems: Configuration.selecteurChemin.maxResultItems,\n\n /**\n * Indicator to know if the component has dialog for complete view or not\n */\n modeComplet: false,\n\n /**\n * Indicator to know if the component is editable or not\n */\n readonly: false,\n\n /**\n * Indicator to know if the component is show as plain text or not\n */\n plainText: false,\n\n /**\n * Event launched when the detail button is clicked\n *\n */\n /**\n * Event launched when the autocompletion result list is showed\n *\n */\n /**\n * Event launched when an element from the autocompletion result list is selected\n *\n */\n /**\n * Event launched when the mouse is over an element from the autocompletion result list to close any existing tooltip\n *\n */\n /**\n * Event launched when the mouse is over an element from the autocompletion result list to open a new tooltip\n *\n */\n /**\n * Event launched when a new element is selected\n *\n */\n /**\n * Event launched when the autocomplete list is returned to build the tooltips\n *\n */\n /**\n * Event launched when the autocomplete list is focused\n *\n */\n\n events: {\n \"click .phx-chemin-button\": \"_openDetailPopup\",\n \"autocompleteopen\": \"_openlist\",\n \"autocompleteselect\": \"_selectItem\",\n \"tooltipclose .phx-chemin-input\": \"_focused\",\n \"tooltipopen .phx-chemin-input\": \"_focused\",\n \"change .phx-chemin-input\": \"_changeItem\",\n \"autocompleteresponse .phx-chemin-input\": \"_setTooltips\",\n \"autocompletefocus\": \"_keyboardMenuItemFocus\"\n },\n\n /**\n * Constructor\n * Selecteur de chemin mode simple view\n */\n initialize: function(params) {\n\n this.cache = {};\n this.cacheEventsModel = new Backbone.Model();\n\n //Params that come from param.context\n if (!STR.isBlank(params.context)) {\n\n var context = params.context;\n\n if (!STR.isBlank(context.ctxActivSelMultiple)) {\n params.multiple = context.ctxActivSelMultiple\n }\n if (!STR.isBlank(context.ctxStructure)) {\n params.structid = context.ctxStructure;\n }\n if (!STR.isBlank(context.ctxActivModeComplet)) {\n params.modeComplet = context.ctxActivModeComplet;\n }\n if (!STR.isBlank(context.ctxActivModeComplet)) {\n params.modeComplet = context.ctxActivModeComplet;\n }\n if (context.ctxPeriodeRecherche && !STR.isBlank(context.ctxPeriodeRecherche.datedebut)) {\n params.datedebut = context.ctxPeriodeRecherche.datedebut;\n }\n if (context.ctxPeriodeRecherche && !STR.isBlank(context.ctxPeriodeRecherche.datefin)) {\n params.datefin = context.ctxPeriodeRecherche.datefin;\n }\n if (!STR.isBlank(context.ctxAfficheRacine)) {\n params.racine = context.ctxAfficheRacine;\n }\n if (!STR.isBlank(context.ctxStructureCollab)) {\n params.nonrattachable = !context.ctxStructureCollab;\n }\n if (!STR.isBlank(context.ctxStructureActivites)) {\n params.nonrattactiv = !context.ctxStructureActivites;\n }\n if (!STR.isBlank(context.ctxEcran)) {\n params.ecran = context.ctxEcran;\n }\n if (!STR.isBlank(context.ctxConsultation)) {\n params.readonly = context.ctxConsultation;\n }\n if (!STR.isBlank(context.ctxHabilitation)) {\n params.habContext = context.ctxHabilitation;\n }\n //context.ctxSelRacineAuto > root is selectable (default true)\n if (!STR.isBlank(context.ctxSelRacineAuto)) {\n params.selRacineAuto = context.ctxSelRacineAuto;\n }\n //context.ctxSelNoeudChemin > intermediate elements, not leaf or root, are selectable (default true).\n if (!STR.isBlank(context.ctxSelNoeudChemin)) {\n params.selNoeudChemin = context.ctxSelNoeudChemin;\n }\n //context.ctxInitChemins > List consists of one or more structural paths preset in the initial display of the component.\n if (!STR.isBlank(context.ctxInitChemins)) {\n params.initChemins = context.ctxInitChemins;\n }\n\n if (!STR.isBlank(context.ctxCollabExclure)) {\n params.exclure_collab = context.ctxCollabExclure;\n }\n }\n\n this.coll = params.ws;\n /**\n * HTML template of the view\n */\n this.template = TPL_common_selecteur_chemin;\n\n /**\n * Parameters of the initialization\n */\n this.params = params;\n\n if (params && !STR.isBlank(params.multiselection)) {\n\n /**\n * Multiselection indicator\n */\n this.multiselection = params.multiselection;\n }\n var today = TYPE.DATE.parse(TYPE.DATE.dateToStr(SYNC.getServerDate())).val;\n var parameters = {\n structid: null,\n parentcode: null,\n parentdebsitu: null,\n parentfinsitu: null,\n datedebut: today,\n datefin: today,\n multiple: false,\n intermediaire: true,\n partial: true,\n complet: false,\n selectionnes: \"\",\n niveau: null,\n racine: null,\n nonrattachable: null,\n nonrattactiv: null,\n elementcode: null,\n exclure_collab: null,\n structval: null\n };\n\n /**\n * Id of the structure of the component\n */\n this.structid = null;\n if (params && !STR.isBlank(params.structid)) {\n this.structid = params.structid;\n parameters.structid = params.structid;\n } else {\n this.structid = \"\";\n }\n\n parameters.multiple = this.multiselection;\n this.params.multiple = this.multiselection;\n\n this.params.complet = false;\n\n if (params && !STR.isBlank(params.parentcode)) {\n parameters.parentcode = params.parentcode;\n }\n\n if (params && !STR.isBlank(params.parentdebsitu)) {\n this.parentdebsitu = params.parentdebsitu;\n }\n if (params && !STR.isBlank(params.parentfinsitu)) {\n this.parentfinsitu = params.parentfinsitu;\n }\n /**\n * Start date of the component\n */\n this.datedebut = undefined;\n if (params && !STR.isBlank(params.datedebut)) {\n this.datedebut = params.datedebut;\n parameters.datedebut = params.datedebut;\n } else {\n this.datedebut = today;\n this.params.datedebut = today;\n }\n\n /**\n * End date of the component\n */\n this.datefin = undefined;\n if (params && !STR.isBlank(params.datefin)) {\n this.datefin = params.datefin;\n parameters.datefin = params.datefin;\n } else {\n this.params.datefin = today;\n this.datefin = today;\n }\n\n if (params && !STR.isBlank(params.intermediaire)) {\n parameters.intermediaire = params.intermediaire;\n }\n\n if (params && !STR.isBlank(params.partial)) {\n parameters.partial = params.partial;\n }\n\n if (params && !STR.isBlank(params.selectionnes)) {\n parameters.selectionnes = params.selectionnes;\n }\n\n if (params && !STR.isBlank(params.niveau)) {\n parameters.niveau = params.niveau;\n }\n\n if (params) {\n parameters.racine = params.racine;\n parameters.nonrattachable = params.nonrattachable;\n parameters.nonrattactiv = params.nonrattactiv;\n }\n\n if (params && !STR.isBlank(params.ecran)) {\n parameters.ecran = params.ecran;\n }\n\n if (params && !STR.isBlank(params.selRacineAuto)) {\n parameters.selRacineAuto = params.selRacineAuto;\n this.selRacineAuto = params.selRacineAuto;\n }\n if (params && !STR.isBlank(params.selNoeudChemin)) {\n parameters.selNoeudChemin = params.selNoeudChemin;\n this.selNoeudChemin = params.selNoeudChemin;\n }\n\n if (params && !STR.isBlank(params.exclure_collab)) {\n parameters.exclure_collab = params.exclure_collab;\n }\n\n if (params && !STR.isBlank(params.structval)) {\n this.params.structval = params.structval;\n parameters.structval = params.structval;\n } else {\n this.params.structval = null;\n }\n\n /**\n * Collection of elements of the component\n */\n this.coll = new SelecteurCheminModeSimpleColl(parameters);\n\n if (params && !STR.isBlank(params.name)) {\n /**\n * Name of the component\n */\n this.name = params.name;\n }\n\n if (params && params.readonly) {\n /**\n * Readonly indicator\n */\n this.readonly = params.readonly;\n }\n\n if (params && !this.readonly && !STR.isBlank(params.modeComplet)) {\n /**\n * Mode complet indicator\n */\n this.modeComplet = params.modeComplet;\n parameters.complet = this.modeComplet;\n parameters.habContext = params.habContext;\n if (this.modeComplet) {\n /**\n * View for the mode complet dialog\n */\n this.view = SelecteurCheminDialogView;\n }\n }\n\n if (params && !STR.isBlank(params.plainText)) {\n /**\n * PlainText indicator\n */\n this.plainText = params.plainText;\n }\n\n /**\n * Style of rendering of the component elements\n */\n this.listRenderStyle = 1;\n if (params && params.listRenderStyle && !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") != parameters.structval) {\n this.listRenderStyle = params.listRenderStyle;\n }\n\n if (params && params.habContext) {\n this.habilitationContext(params.habContext);\n }\n\n if (params && params.idCache) {\n this.idCache = params.idCache;\n //Initialize Cache\n if (STR.isBlank(this.cache[\"niveau\"]) || STR.isBlank(this.cache[\"item\"])) {\n this.cache[\"niveau\"] = {};\n this.cache[\"item\"] = {};\n }\n //Initialize Niveau and item cache\n if (STR.isBlank(this.cache[\"niveau\"][this.idCache])) {\n this.cache[\"niveau\"][this.idCache] = {};\n }\n if (STR.isBlank(this.cache[\"item\"][this.idCache])) {\n this.cache[\"item\"][this.idCache] = {};\n }\n }\n\n /**\n * Title of the component\n */\n if (params && !_.isUndefined(params.titlePopup)) {\n this.title = i18n.t('messages:GT_2128', { \"1\": params.titlePopup });\n } else {\n this.title = undefined;\n if (this.datedebut && this.datefin) {\n if (!STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") === \"1\" && this.structid == parameters.structval) {\n this.title = i18n.t('common:chemin.dlgtitleValideur');\n } else {\n if (this.datedebut === this.datefin) {\n this.title = i18n.t('common:chemin.dlgtitle');\n } else {\n this.title = i18n.t('common:chemin.dlgtitle');\n }\n }\n } else {\n this.title = \"\";\n }\n }\n\n /**\n * Height of the component\n */\n this.height = undefined;\n if (params && params.height) {\n this.height = params.height;\n } else {\n this.height = 500;\n }\n\n /**\n * Width of the component\n */\n this.width = undefined;\n if (params && params.width) {\n this.width = params.width;\n } else {\n this.width = 800;\n }\n\n /**\n * Width of the input field of the component\n */\n this.fieldWidth = undefined;\n if (params && params.fieldWidth) {\n var l_regxp = /^([0-9\\.]+)[%]?$/g;\n if (l_regxp.test(params.fieldWidth) || params.fieldWidth === \"auto\") {\n this.fieldWidth = params.fieldWidth;\n } else {\n throw new Error(\"the fieldWidth must be numeric (\" + this.name + \")\");\n }\n }\n\n if (params && params.racine) {\n\n /**\n * Indicator of the root element\n */\n this.racine = params.racine;\n }\n if (params && params.nonrattachable) {\n\n /**\n * Indicator of an element \"non rattachable\"\n */\n this.nonrattachable = params.nonrattachable;\n }\n if (params && params.nonrattactiv) {\n\n /**\n * Indicator of an element \"non rattachable activite\"\n */\n this.nonrattactiv = params.nonrattactiv;\n }\n if (params && !STR.isBlank(params.elementcode)) {\n parameters.elementcode = params.elementcode;\n }\n\n if (params && params.keepOldId) {\n this.keepOldId = params.keepOldId;\n } else {\n this.keepOldId = null;\n }\n // called with the selected items\n /**\n * Callback function to execute when an element is added\n */\n this.addItemCallback = params.addItemCallback;\n\n /**\n * Callback function to execute when an element is deleted\n */\n this.removeItemCallback = params.removeItemCallback;\n\n // response list filled with user selection\n /**\n * Selection list of elements of the autocompletion results\n */\n this.selection = new AutocompleteColl();\n this.selection.itemRenderer = this._getAttrsRenderer();\n this.selection.on(\"click:item\", this._removeItem, this);\n\n // initial display of the component.\n this.clearSelection();\n if (!STR.isBlank(params.initChemins)) {\n if (_.isArray(params.initChemins) && params.initChemins.length > 0) {\n // init with one or more elements in arrays\n for (var i = 0; i < params.initChemins.length; i++) {\n if (!STR.isBlank(params.initChemins[i].get(\"elementCode\"))) {\n this.addValue(params.initChemins[i]);\n }\n }\n } else if (!STR.isBlank(params.initChemins.get(\"elementCode\"))) {\n // init with an element in object\n this.addValue(params.initChemins);\n }\n }\n\n },\n\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n },\n /**\n * Called the first time to initialize the context of the combo\n */\n habilitationContext: function(context) {\n if (this.coll) {\n if (STR.isBlank(this.coll.habContext) || !_.isEqual(this.coll.habContext.toJSON(), context.toJSON())) {\n this.clearCache();\n }\n\n this.stopListening();\n this.coll.setHabContext(context);\n this.listenTo(context, \"change\", this.clearCache);\n }\n\n },\n\n clearCache: function() {\n for (var i in this.cache) {\n if (this.cache.hasOwnProperty(i)) {\n this.cache[i].length = 0;\n delete this.cache[i];\n }\n }\n this.cache[\"pendingInUse\"] = this.cache[\"pendingInUse\"] || [];\n },\n\n /**\n * Cleans the selection of the component\n */\n cleanChemin: function() {\n this.$el.find(\".phx-chemin-selection\").empty();\n this.selection.reset();\n },\n\n /**\n * Sets the dates of the component\n */\n setDates: function(datedeb, datefin) {\n var today = TYPE.DATE.parse(TYPE.DATE.dateToStr(SYNC.getServerDate())).val;\n if (!STR.isBlank(datedeb)) {\n this.datedebut = datedeb;\n this.params.datedebut = datedeb;\n } else {\n this.datedebut = today;\n this.params.datedebut = today;\n }\n\n if (!STR.isBlank(datefin)) {\n this.datefin = datefin;\n this.params.datefin = datefin;\n } else {\n this.params.datefin = today;\n this.datefin = today;\n }\n this.coll.setDates(this.params.datedebut, this.params.datefin);\n },\n\n /**\n * Gets the path of an element of the component's list\n */\n _getChemin: function(model, initParent) {\n var result = \"\";\n\n //When there are too many results show according message.\n if (_.isNull(model.code)) {\n return model.libelle;\n }\n if ((model instanceof Backbone.Model) && (!STR.isBlank(model.get(\"attrs\")) && _.isNull(model.get(\"attrs\").code))) {\n return model.libelle;\n }\n\n if (initParent > 0) {\n result += \".../\";\n } else {\n initParent = 1;\n }\n\n if (!STR.isBlank(model)) {\n var parents = [];\n var item = {};\n if (model.parents) {\n parents = model.parents;\n item = new Backbone.Model(model);\n } else {\n if (model.code) {\n //Structure complete\n parents = [];\n item = new Backbone.Model(model);\n } else if (model.get(\"attrs\") && model.get(\"attrs\").parents) {\n parents = model.get(\"attrs\").parents;\n item = new Backbone.Model(model.get(\"attrs\"));\n }\n }\n\n if (parents.length > 1) {\n var first = true;\n for (var i = initParent; i < parents.length; i++) {\n if (first === true) {\n first = false;\n } else {\n result += \"/\";\n }\n var parentModel = new Backbone.Model(parents[i]);\n result += this._getRenderer().call(this, parentModel);\n }\n }\n if (!STR.isBlank(result) && result !== \".../\") {\n result += \"/\";\n }\n result += this._getRenderer().call(this, item);\n }\n return result;\n },\n\n /**\n * Shows the tooltip of an element\n */\n _showTooltip: function(model) {\n var result = \"\";\n\n if (this.datedebut && this.datefin && !STR.isBlank(model)) {\n if (model.datedebut > this.datedebut || model.datefin < this.datefin) {\n //(●)= (●)\n result = \"(●)\";\n }\n }\n\n return result;\n },\n\n /**\n * Method which is executed during the navigation in the menu using the keyboard\n */\n _keyboardMenuItemFocus: function() {\n return false;\n },\n\n /**\n * Method which is executed during the navigation in the menu using the keyboard\n */\n _getLevels: function(callback) {\n var self = this;\n if (this._useCache() && !STR.isBlank(this.cache[\"niveau\"][this.idCache][this.structid])) {\n //Using cache and 2nd time\n if (this.cache[\"niveau\"][this.idCache][this.structid].fetching) {\n this.listenToOnce(this.cacheEventsModel, \"niveau\" + this.idCache + this.structid, function() {\n self.niveauColl = self.cache[\"niveau\"][self.idCache][self.structid].data;\n callback(self.niveauColl.models);\n });\n } else {\n this.niveauColl = this.cache[\"niveau\"][this.idCache][this.structid].data;\n callback(this.niveauColl.models);\n }\n } else {\n if (this.niveauColl && this.niveauColl.models) {\n callback(this.niveauColl.models);\n } else {\n if (this._useCache()) {\n //Using cache and 1st time\n this.cache[\"niveau\"][this.idCache][this.structid] = { fetching: true };\n }\n var coll = new SelecteurCheminNivColl({ code: this.structid });\n if (this.params && this.params.context && !STR.isBlank(this.params.context.ctxEcran)) {\n coll.ecran = this.params.context.ctxEcran;\n }\n if (!STR.isBlank(this.params.context) && this.params.context.ctxStructureSelpop === true) {\n coll.selectpopu = true;\n }\n coll.fetch({\n success: function() {\n if (!self.niveauColl) {\n self.niveauColl = coll;\n if (self._useCache()) {\n self.cache[\"niveau\"][self.idCache][self.structid].data = self.niveauColl;\n self.cache[\"niveau\"][self.idCache][self.structid].fetching = false;\n self.cacheEventsModel.trigger(\"niveau\" + self.idCache + self.structid);\n }\n }\n callback(self.niveauColl.models);\n },\n error: function() {\n callback([]);\n }\n });\n }\n }\n },\n _useCache: function() {\n if (!STR.isBlank(this.idCache)) {\n return true;\n }\n return false;\n },\n /**\n * Sets the readonly flag of the component\n */\n setReadOnly: function(readOnly) {\n this.readonly = readOnly;\n this.render();\n if (this.modeComplet === true) {\n if (readOnly === true) {\n this.$el.find(\".phx-chemin-button\").hide();\n } else {\n this.$el.find(\".phx-chemin-button\").show();\n }\n }\n },\n\n /**\n * Sets the tooltips of the elements of the component\n */\n _setTooltips: function(event, ui) {\n var self = this;\n this._getLevels(function(levels) {\n for (var i = 0; i < ui.content.length; i++) {\n var tooltip = $(ui.content[i].label).tooltip({ content: \"\" });\n if (tooltip.length > 1) {\n var txt = self._tooltipText(ui.content[i], levels, true);\n\n tooltip.tooltip(\"option\", \"content\", txt);\n ui.content[i].label = tooltip;\n }\n }\n });\n },\n\n /**\n * Returns the tooltip text of an element of the component\n */\n _tooltipText: function(model, levels, dateonly) {\n var txt = \"\";\n var header = \"\";\n\n if (model.attrs.datedebut > this.datedebut && model.attrs.datefin >= this.datefin) {\n header = i18n.t('common:chemin.sitpartdu', { \"0\": TYPE.DATE.format(model.attrs.datedebut) });\n }\n if (model.attrs.datedebut <= this.datedebut && model.attrs.datefin < this.datefin) {\n header = i18n.t('common:chemin.sitjusq', { \"0\": TYPE.DATE.format(model.attrs.datefin) });\n }\n if (model.attrs.datedebut > this.datedebut && model.attrs.datefin < this.datefin && model.attrs.datedebut !== model.attrs.datefin) {\n header = i18n.t('common:chemin.sitduau', { \"0\": TYPE.DATE.format(model.attrs.datedebut), \"1\": TYPE.DATE.format(model.attrs.datefin) });\n }\n if (model.attrs.datedebut > this.datedebut && model.attrs.datefin < this.datefin && model.attrs.datedebut === model.attrs.datefin) {\n header = i18n.t('common:chemin.sitdatedu', { \"0\": TYPE.DATE.format(model.attrs.datefin) });\n }\n\n if (header) {\n txt = \"\" + header + \"
        \";\n }\n if (!dateonly) {\n txt += \"\";\n var marginLeft = 0;\n var tabAux = \"\";\n if (model.attrs.parents && model.attrs.parents.length > 0) {\n // paint chemin when node is not a root node\n for (var j = 0; j < model.attrs.parents.length; j++) {\n var tab = \"\";\n if (j === 0) {\n txt += \"\";\n } else {\n var niveau = \"\";\n if (j - 1 < levels.length) {\n niveau = levels[j - 1].get(\"libelle\");\n }\n txt += \"\";\n marginLeft += 10;\n }\n }\n var tab = \"\";\n var niveau = \"\";\n if (j - 1 < levels.length) {\n niveau = levels[j - 1].get(\"libelle\");\n }\n txt += \"\";\n } else {\n // paint chemin when node is a root node\n var tabAux = \"\";\n txt += \"\";\n }\n txt += \"
        \" + model.attrs.parents[j].libelle + \"(\" + model.attrs.parents[j].codef + \")\" + tabAux + i18n.t('common:chemin.structure') + \"
        \" + tab + model.attrs.parents[j].libelle + \"(\" + model.attrs.parents[j].codef + \")\" + tabAux + niveau + \"
        \" + tab + model.attrs.libelle + \"(\" + model.attrs.codef + \")\" + tabAux + niveau + \"
        \" + model.attrs.libelle + \"(\" + model.attrs.codef + \")\" + tabAux + i18n.t('common:chemin.structure') + \"
        \";\n }\n\n return txt;\n },\n\n /**\n * Gets the render function for every element of the list.\n */\n _getListRenderer: function(initParent) {\n var self = this;\n var result = function(model) {\n return self._showTooltip(model) + \"\" + self._getChemin(model, initParent) + \"\";\n };\n return result;\n },\n\n /**\n * Gets the render function depending on the attribute listRenderStyle value\n */\n _getRenderer: function() {\n var result = null,\n self = this;\n switch (this.listRenderStyle) {\n case 1:\n result = function(item) {\n if (!STR.isBlank(self.params) && self.params.ecran === \"coll\" && !STR.isBlank(GLOBAL_DATA.paramDivers.get(\"SPEValideu\")) && GLOBAL_DATA.paramDivers.get(\"SPEValideu\").get(\"valeur\") === \"1\") {\n return item.get(\"libelle\") + \" (\" + item.get(\"codef\") + \")\" + (!STR.isBlank(item.get(\"libelle_structprincipale\")) ? \"  \" + item.get(\"libelle_structprincipale\") : '');\n } else {\n return item.get(\"libelle\") + \" (\" + item.get(\"codef\") + \")\";\n }\n };\n break;\n case 2:\n result = function(item) {\n return item.get(\"codef\") + \" (\" + item.get(\"libelle\") + \")\";\n };\n break;\n case 3:\n result = function(item) {\n return item.get(\"libelle\");\n };\n break;\n case 4:\n result = function(item) {\n return item.get(\"codef\");\n };\n break;\n default:\n break;\n }\n return result;\n },\n\n /**\n * Gets the render function depending on the attribute listRenderStyle value and the element level\n */\n _getAttrsRenderer: function() {\n var result = null;\n var l_resultaux = \"\";\n\n switch (this.listRenderStyle) {\n case 1:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.libelle + \" (\" + item.codef + \")\";\n }\n return l_resultaux;\n };\n break;\n case 2:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.codef + \" (\" + item.libelle + \")\";\n }\n return l_resultaux;\n };\n break;\n case 3:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.libelle;\n }\n return l_resultaux;\n };\n break;\n case 4:\n result = function(item) {\n l_resultaux = \"\";\n if (item.niveau === 0) {\n l_resultaux = i18n.t('common:chemin.structurecomp');\n } else {\n l_resultaux = item.codef;\n }\n return l_resultaux;\n };\n break;\n default:\n break;\n }\n return result;\n },\n\n /**\n * Gets the render function for an element of the list with the path of the element\n */\n getCheminRenderer: function(item) {\n var result = null;\n switch (this.listRenderStyle) {\n case 1:\n result = function() {\n return item.get(\"libelle\") + \" (\" + item.get(\"codef\") + \")\";\n };\n break;\n case 2:\n result = function() {\n return item.get(\"codef\") + \" (\" + item.get(\"libelle\") + \")\";\n };\n break;\n case 3:\n result = function() {\n return item.get(\"libelle\");\n };\n break;\n case 4:\n result = function() {\n return item.get(\"codef\");\n };\n break;\n default:\n break;\n }\n return result;\n },\n\n /**\n * Gets the initial level from the list\n */\n _getInitialNiveau: function(collection) {\n var result = 0;\n var minParents = 0;\n var first = true;\n\n if (!STR.isBlank(collection) && collection.models && collection.models.length > 1) {\n for (var i = 0; i < collection.models.length; i++) {\n if (collection.models[i].get(\"parents\").length < minParents && !first) {\n minParents = collection.models[i].get(\"parents\").length;\n } else if (first === true) {\n first = false;\n minParents = collection.models[i].get(\"parents\").length;\n }\n }\n\n var end = false;\n for (var j = 1; j < minParents && minParents > 1 && !end; j++) {\n var lastParent = null;\n for (var k = 0; k < collection.models.length && !end; k++) {\n if (STR.isBlank(lastParent)) {\n lastParent = collection.models[k].get(\"parents\")[j];\n } else if (collection.models[k].get(\"parents\")[j].code !== lastParent.code) {\n result = j;\n end = true;\n }\n }\n\n if (!end) {\n result = j + 1;\n }\n }\n }\n\n return result;\n },\n\n /**\n * Sets the structure id of the component\n */\n setStructId: function(structId) {\n this.params.structid = structId;\n this.$el.empty();\n this.render();\n },\n\n /**\n * Paints the view of the selecteur de chemin component\n */\n render: function() {\n if (!this.plainText) {\n var self = this;\n\n $(this.el).html(this.template());\n $(this.el).find(\".phx-chemin-input\").prop(\"viewRef\", this);\n // instantiate/configure component\n if (STR.isBlank(this.view)) {\n $(this.el).find(\".phx-chemin-button\").remove();\n }\n $(this.el).find(\".phx-chemin-input\").removeClass(\"phx-chemin-input\").addClass(this.name + \" phx-chemin-input\");\n $(this.el).find(\".chemin-error-container\").css(\"display\", \"table\");\n $(this.el).find(\".chemin-error-container\").removeClass(\"chemin-error-container\").addClass(this.name + \"-error-container\");\n\n if (!this.readonly) {\n this.appended = false;\n this.input = $(this.el).find(\".phx-chemin-input\").autocomplete({\n minLength: this.minSearchLength,\n source: function(request, response) {\n //Delete current tooltip\n $(self.el).find(\".phx-chemin-input\").tooltip({ content: \"\" });\n $(self.el).find(\".phx-chemin-input\").trigger(\"mouseout\");\n var term = request.term;\n if (self.coll) {\n self.coll.params = \"\";\n self.coll.pagination.size = self.maxResultItems;\n self.coll.search = \"&search=\" + term;\n if (!STR.isBlank(self.params.context) && self.params.context.ctxStructureSelpop === true) {\n self.coll.params = {};\n self.coll.params.selectpopu = true;\n }\n self.coll.fetch({\n success: function() {\n var collection = new AutocompleteColl();\n\n var initParent = self._getInitialNiveau(self.coll);\n self.listRenderer = self._getListRenderer(initParent);\n collection.itemRenderer = self.listRenderer;\n\n // add message to list if more results exists\n if (self.coll.totalRecords > self.maxResultItems) {\n\n var message = \"\";\n if (self.modeComplet === true) {\n message = i18n.t('messages:GL_1007');\n } else {\n message = i18n.t('messages:GL_1006');\n }\n var info = new ReadOnlyModel({ code: null, libelle: message });\n collection.add([info.toJSON()], { parse: true });\n } else {\n collection.add(self.coll.toJSON(), { parse: true });\n }\n //order the collection\n collection.comparator = function(model) {\n if (model.get(\"attrs\").libelle === i18n.t('common:chemin.structurecomp')) {\n return \"!\";\n } else {\n var initParent = self._getInitialNiveau(self.coll);\n return self._getChemin(model, initParent);\n }\n\n };\n collection.sort();\n\n response(collection.toJSON());\n }\n });\n }\n },\n position: {\n my: \"left top\",\n at: \"left bottom\",\n //of : $(this.el) //Without this option the menu is aligned correctly\n collision: \"flipfit\"\n },\n open: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n menu.activeMenu.addClass(\"phx-chemin-autocomplete-menu\");\n $('.ui-autocomplete').css('width', 'auto');\n //var menu = $(this).data(\"ui-autocomplete\").menu;\n menu.activeMenu.addClass(\"phx-selecteur-chemin-autocomplete-menu\");\n self._registerOneWheelEvent();\n },\n close: function() {\n $(document).off(\"wheel.\" + self.cid);\n $(document).off(\"mousedown.\" + self.cid);\n this.searching = false;\n\n $(this).data('ui-autocomplete').term = null;\n if (self.cache[\"current\"] && self.autocompleteMode === true) {\n self._setItem(self.cache[\"current\"].attrs);\n }\n\n if (self.multiselection === true && self._setInputValue !== undefined) {\n self._setInputValue(\"\");\n }\n return false;\n },\n create: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n $(menu.activeMenu).css(\"position\", \"fixed\");\n $(this).data('ui-autocomplete')._resizeMenu = function() {\n if (self.appended === false) {\n //AppendTo option in order to let jquery recalculate z-index for each element\n $(self.input).autocomplete(\"option\", \"appendTo\", null);\n self.appended = true;\n }\n\n //\n var tab_contaner_height = 0;\n\n $(\".ui-tabs-nav\").each(function() {\n if (tab_contaner_height < $(this)[0].offsetHeight) {\n tab_contaner_height = $(this)[0].offsetHeight;\n }\n });\n\n //Get the limit container\n var limit_container = $(\"#phx-container\");\n\n if (this.element[0] && $(this.element[0]) && limit_container && $(this.element[0]).offset()) {\n var scrollTop = $(window).scrollTop(),\n scrollBot = scrollTop + $(window).height(),\n elTop = limit_container.offset().top,\n elBottom = elTop + limit_container.outerHeight(),\n visibleTop = elTop < scrollTop ? scrollTop : elTop,\n visibleBottom = elBottom > scrollBot ? scrollBot : elBottom;\n\n this.menu.element[0].style.maxHeight = \"\"; //set default heiht\n\n var distance_from_input_to_top_container = $(this.element[0]).offset().top - (limit_container.offset().top + tab_contaner_height);\n var distance_from_input_to_buttom = (visibleBottom - visibleTop - tab_contaner_height) - distance_from_input_to_top_container;\n var height_of_select_despl = this.menu.element[0].offsetHeight;\n var height_of_the_input = this.element[0].offsetHeight;\n\n distance_from_input_to_buttom -= height_of_the_input;\n\n if (distance_from_input_to_buttom < height_of_select_despl) {\n if (distance_from_input_to_buttom > distance_from_input_to_top_container) {\n var maxHeight = distance_from_input_to_buttom - 15;\n if (maxHeight < 20) {\n maxHeight = 20;\n }\n this.menu.element[0].style.maxHeight = maxHeight + \"px\";\n } else {\n this.menu.element[0].style.maxHeight = (distance_from_input_to_top_container - 15) + \"px\";\n }\n }\n }\n };\n }\n });\n // color search term in result list\n $(this.input).data(\"ui-autocomplete\")._renderItem = function(ul, item) {\n var keywords = $.trim(this.term);\n var output = item.label;\n var output2 = \"\";\n try {\n if (item.label[1] && item.label[1].textContent) {\n output = item.label[1].textContent.replace(new RegExp(\"(\" + keywords + \")\", \"gi\"),\n '$1');\n output2 = item.label[0];\n } else {\n output = item.label.replace(new RegExp(\"(\" + keywords + \")\", \"gi\"),\n '$1');\n }\n } catch (err) {\n //nothing\n }\n\n if (STR.isBlank(item.attrs.id)) {\n return $(\"
      • \").addClass(\"ui-state-disabled\").html('' + item.label + '').appendTo(ul);\n }\n return $(\"
      • \").append($(\"\").html(output2).append(output)).appendTo(ul);\n };\n if (!STR.isBlank(this.keepOldId)) {\n this.input.attr(\"id\", this.keepOldId);\n }\n\n } else {\n this.$el.find(\".phx-chemin-input\").attr(\"readonly\", true);\n var fieldset = this.$el.find(\".phx-chemin-wrap\");\n FORMS.setInputFieldReadonly(fieldset, this.name, true);\n }\n\n //apply width to the component wrapper\n this.$el.find(\".phx-chemin-wrap\").css(\"width\", this.fieldWidth);\n\n //apply width class to the input and remove button if not complete mode\n if (this.modeComplet) {\n if ((this.fieldWidth + \"\").indexOf(\"%\") === -1) {\n this.$el.find(\".phx-chemin-input\").css(\"width\", this.fieldWidth - 22 + \"px\");\n } else {\n this.$el.find(\".phx-chemin-input\").css(\"width\", \"calc(\" + this.fieldWidth + \" - 22px)\");\n }\n } else {\n $(this.el).find(\".phx-chemin-button\").remove();\n this.$el.find(\".phx-chemin-input\").css(\"width\", \"calc(100% - 4px)\");\n }\n\n $(this.el).find(\".phx-chemin-input\").tooltip({ content: \"\" });\n\n if (!this.multiselection) {\n this.$el.find(\".phx-chemin-selection\");\n } else {\n this.$el.find(\".phx-chemin-selection\").css(\"display\", \"inherit\");\n }\n }\n\n return this;\n },\n\n /**\n * Close autocomplete dropdown when scrolling outside.\n */\n _registerOneWheelEvent: function() {\n var self = this;\n\n $(document).one(\"wheel.\" + this.cid, function(event) {\n self.shouldCloseMenu = false;\n\n // wheel on the list\n try {\n if ($(event.target).attr(\"id\") === $(self.input).autocomplete(\"widget\").attr(\"id\") || $(self.input).autocomplete(\"widget\").find(event.target).length > 0) {\n self._registerOneWheelEvent();\n return;\n } else if ($(self.input).autocomplete(\"widget\").find(event.target).length === 0) {\n if ($(self.input).autocomplete(\"widget\").is(\":visible\")) {\n $(self.input).autocomplete(\"close\");\n if (STR.isBlank(self.currentCode)) {\n self._paintItems();\n }\n }\n self.shouldCloseMenu = false;\n }\n } catch (e) {\n LOG.error(\"Autocomplete__registerOneWheelEvent: \" + e);\n }\n });\n },\n\n /**\n * Clears the current selection of the component\n */\n clearSelection: function() {\n this.selection.reset();\n var $input = this.$el.find(\".phx-chemin-input\");\n if ($input.data('ui-tooltip')) {\n $input.tooltip('destroy');\n }\n\n this._paintItems();\n },\n\n // item is a backbone model representing a chemin structure\n /**\n * Adds a value to the component\n */\n addValue: function(item, callback) {\n var self = this;\n var itemid = \"\";\n var response = \"\";\n\n if (!STR.isBlank(item.get(\"elementCode\"))) {\n itemid = item.get(\"structid\") + \",\" + item.get(\"date\") + \",\" + item.get(\"elementCode\");\n } else if (!STR.isBlank(item.get(\"chemin\"))) {\n itemid = item.get(\"structid\") + \",\" + item.get(\"date\") + \",\" + item.get(\"chemin\");\n }\n if (this._useCache() && !STR.isBlank(this.cache[\"item\"][this.idCache]) && !STR.isBlank(this.cache[\"item\"][this.idCache][itemid])) {\n //cache is using and 2nd time\n if (this.cache[\"item\"][this.idCache][itemid].fetching) {\n this.listenToOnce(this.cacheEventsModel, \"item\" + this.idCache + itemid, function() {\n //Paint items when event is triggered\n response = self.cache[\"item\"][self.idCache][itemid].data;\n self.selection.add(response.toJSON(), { parse: true });\n self._paintItems();\n if (callback) {\n callback(response);\n }\n });\n } else {\n //Paint items when data is already loaded\n response = this.cache[\"item\"][this.idCache][itemid].data;\n self.selection.add(response.toJSON(), { parse: true });\n\n self._paintItems();\n if (callback) {\n callback(response);\n }\n }\n } else {\n if (this._useCache()) {\n //First time using cache initialize object\n this.cache[\"item\"][self.idCache][itemid] = { fetching: true };\n }\n item.fetch({\n success: function(resp) {\n if (self._useCache()) {\n self.cache[\"item\"][self.idCache][itemid].data = resp;\n self.cache[\"item\"][self.idCache][itemid].fetching = false;\n self.cacheEventsModel.trigger(\"item\" + self.idCache + itemid);\n }\n\n self.selection.add(resp.toJSON(), { parse: true });\n\n self._paintItems();\n\n if (callback) {\n callback(resp);\n }\n }\n }, this);\n }\n },\n\n /**\n * Gets the selected values\n */\n getValues: function() {\n return this.selection;\n },\n\n /**\n * Paints every element of the selection\n */\n _paintItems: function() {\n var self = this;\n\n if (this.multiselection) {\n $(this.el).find(\".phx-chemin-selection\").empty();\n var tmpItemViews = [],\n selectionModels = this.selection.models;\n\n _.each(this.selection.models, function(value) {\n var itemView = new SelecteurCheminResultItemView({ \"model\": value, \"readonly\": self.readonly });\n self.once(\"loadedMultipleTooltip\", function(data) {\n tmpItemViews.push({\n \"itemView\": data.item,\n \"tooltip\": data.tooltip\n });\n\n if (tmpItemViews.length == selectionModels) {\n self.trigger(\"generatedTooltip:selectourChemin\", {\n multiple: true,\n \"tooltipsArray\": tmpItemViews\n });\n }\n });\n\n $(self.el).find(\".phx-chemin-selection\").append(itemView.render().el);\n\n if (value.tooltip) {\n $(itemView.el).tooltip({ content: value.tooltip });\n\n self.trigger(\"loadedMultipleTooltip\", {\n \"item\": itemView,\n \"tooltip\": value.tooltip\n });\n\n } else {\n // add tooltip\n self._getLevels(function(levels) {\n value.tooltip = self._tooltipText(value.attributes, levels);\n $(itemView.el).tooltip({ content: value.tooltip });\n\n self.trigger(\"loadedMultipleTooltip\", {\n \"item\": itemView,\n \"tooltip\": value.tooltip\n });\n\n });\n }\n });\n\n if (this.selection.models.length === 0) {\n this.$el.find(\".phx-chemin-selection\").css(\"display\", \"inherit\");\n } else {\n this.$el.find(\".phx-chemin-selection\").css(\"display\", \"table\");\n }\n if (this.$el.find(\".phx-chemin-selection\").length > 0) {\n\n if (_.isUndefined(self.params.paintItemsPosition)) {\n this.$el.find(\".phx-chemin-selection\").position({\n my: \"left top\",\n at: \"left bottom\",\n collision: \"flip flip\",\n of: self.$el.find(\".phx-chemin-wrap\")\n });\n\n } else {\n\n var filterLines = $('.phx-filtres-detail .phx-definitionfiltres-simple-line').toArray();\n var selectionLine;\n filterLines.forEach(function(element) {\n selectionLine = \"\";\n selectionLine = $(element).find('.phx-chemin-selection');\n if (selectionLine.length > 0) {\n $(element).find('.phx-definitionfiltres-simple-btnRemove').position({\n of: $(element).find('.phx-chemin-wrap'),\n my: \"left top\",\n at: \"right top\",\n collision: \"flip flip\"\n });\n var customPosition;\n if (self.params.paintItemsPosition.customCheminPosition) {\n customPosition = self.params.paintItemsPosition.customCheminPosition;\n } else {\n customPosition = self.params.paintItemsPosition;\n }\n $(selectionLine).find(customPosition.targetParent).position({\n of: $(element).find(customPosition.targetElement),\n my: customPosition.my,\n at: customPosition.to,\n collision: customPosition.collision\n });\n }\n });\n\n }\n\n }\n } else {\n\n if (this.selection.length > 0) {\n // render item in input field (no multiselection)\n if (self.plainText) {\n this._getLevels(function(levels) {\n var txt = self._tooltipText(self.selection.at(0).attributes, levels);\n self.$el.attr(\"title\", \"\");\n self.$el.tooltip({ content: txt });\n self.$el.text(self.selection.at(0).get(\"label\"));\n self.trigger(\"generatedTooltip:selectourChemin\", {\n multiple: false,\n \"tooltip\": txt\n });\n\n });\n } else {\n this.$el.find(\".phx-chemin-input\").val(this.selection.at(0).get(\"label\"));\n FORMS.autosizeInput(this.$el.find(\".phx-chemin-input\"));\n this.$el.find(\".phx-chemin-input\").width(this.$el.find(\".phx-chemin-input\").width() + 4);\n if (this.readonly) {\n // add tooltip\n this._getLevels(function(levels) {\n var txt = self._tooltipText(self.selection.at(0).attributes, levels);\n self.$el.find(\"input.\" + UTILS.escapeJQueryString(self.name)).tooltip({ content: txt });\n self.trigger(\"generatedTooltip:selectourChemin\", {\n multiple: false,\n \"tooltip\": txt\n });\n });\n } else {\n // add tooltip\n this._getLevels(function(levels) {\n var txt = self._tooltipText(self.selection.at(0).attributes, levels);\n //Initialize tooltip to prevent errors when tooltip is not initialized\n self.$el.find(\".phx-chemin-input\").tooltip({ content: txt });\n self.$el.find(\".phx-chemin-input\").tooltip(\"option\", \"content\", txt);\n self.trigger(\"generatedTooltip:selectourChemin\", {\n multiple: false,\n \"tooltip\": txt\n });\n });\n\n }\n }\n }\n }\n },\n\n /**\n * Selects a new element in the component\n */\n _selectItem: function(event, ui) {\n this._addItem(ui.item.attrs);\n\n return false;\n },\n\n /**\n * Changes a item in the current selection\n */\n _changeItem: function(event) {\n var value = $(event.target).val();\n if (this.multiselection === false && STR.isBlank(value) && this.addItemCallback) {\n var model = new this.coll.model;\n this.addItemCallback(model.attributes);\n this.selection.reset();\n }\n var $input = $(this.el).find(\".phx-chemin-input\");\n if ($input.data(\"ui-tooltip\") && this.selection.length === 0) {\n $input.tooltip(\"option\", \"content\", \"\");\n }\n },\n\n /**\n * Adds a new element to the selection\n */\n _addItem: function(attrs) {\n //Case Traversal component population\n if (this.params && this.params.context && this.params.context.ctxStructureSelpop) {\n if (attrs.selectionnable == false) {\n return false;\n }\n }\n if (this.multiselection === true) {\n if (attrs.niveau === 0 || (this.selection.length === 1 && this.selection.models[0].get(\"attrs\").niveau === 0)) {\n this.selection.reset();\n }\n\n // clear input field and set focus to it.\n $(this.el).find(\".phx-chemin-input\").val(\"\");\n $(this.el).find(\".phx-chemin-input\").focus();\n } else {\n this.selection.reset();\n }\n\n // add item to selection list\n if (!this.selection.get(attrs.id)) {\n if (attrs.niveau === 0) {\n var rootAttrs = _.clone(attrs);\n rootAttrs.libelle = i18n.t('common:chemin.structurecomp');\n this.selection.add([rootAttrs], { parse: true });\n if (this.addItemCallback) {\n this.addItemCallback(rootAttrs);\n }\n } else {\n this.selection.add([attrs], { parse: true });\n if (this.addItemCallback) {\n this.addItemCallback(attrs);\n }\n }\n\n // paint items\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-chemin-input\").trigger(\"change\");\n }\n\n // retur false to prevent bubbling of event\n return false;\n },\n\n /**\n * Deletes an element from the list of selections of the component\n */\n _removeItem: function(model) {\n // remove item from collection\n this.selection.remove(model);\n\n if (this.removeItemCallback) {\n this.removeItemCallback(model.attributes.attrs);\n }\n\n // repaint\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-chemin-input\").trigger(\"change\");\n },\n\n /**\n * Opens the detail popup view\n */\n _openDetailPopup: function() {\n var self = this;\n if (this.popup !== undefined) {\n this.popup.remove();\n this.popup = null;\n }\n this.popup = new DialogView({\n view: this.view,\n viewData: { parameters: this.params, listRenderStyle: this.listRenderStyle, currentSelection: this.selection }\n });\n this.popup.setHeight(this.height);\n this.popup.setWidth(this.width);\n this.popup._eventsBB = function(event, value) {\n if (event === \"response\") {\n self.popupResponse = value;\n }\n };\n\n // set buttons\n var btn = [{\n text: i18n.t('common:apply'),\n click: function() {\n var populationSelector = false,\n checkedDescendents;\n if (self._isSelectorPopulationContext()) {\n populationSelector = true;\n checkedDescendents = $(\".phx-selecteur-chemin-dialog input.populationDescendence\").is(\":checked\");\n }\n\n $(this).dialog(\"close\");\n if (populationSelector == true) {\n self._popupResponseCallback(\"y\", checkedDescendents);\n } else {\n self._popupResponseCallback(\"y\");\n }\n }\n }, {\n text: i18n.t('common:cancel'),\n click: function() {\n $(this).dialog(\"close\");\n self._popupResponseCallback(\"n\");\n }\n }];\n try {\n this.popup.open();\n } catch (err) {\n LOG.debug(\"chemin: \" + err);\n }\n this.popup.dialog.dialog(\"option\", \"buttons\", btn);\n this.popup._setTitle(this.title);\n },\n\n /**\n * Callback function to be executed after close the detail popup view\n */\n _isSelectorPopulationContext: function() {\n var populationSelector = false;\n if (this.params && this.params.context && this.params.context.ctxStructureSelpop == true) {\n populationSelector = true;\n }\n return populationSelector;\n },\n _popupResponseCallback: function(action, populationDescendence) {\n var self = this;\n if (action === \"y\" && !STR.isBlank(this.popupResponse)) {\n var list = this.popupResponse;\n if (this.popupResponse instanceof Backbone.Collection) {\n list = this.popupResponse.models;\n } else {\n if (!_.isArray(list)) {\n list = list ? [list] : [];\n }\n }\n this.clearSelection();\n _.each(list, function(item) {\n this._addItem(item.get(\"attrs\"));\n }, this);\n\n if (self._isSelectorPopulationContext()) {\n self._setPopulationDescendence(populationDescendence);\n }\n }\n $(this.el).find(\".phx-chemin-input\").focus();\n },\n _setPopulationDescendence: function(selected) {\n $(\".phx-populations-detail-structure-simple input.populationDescendence\").prop(\"checked\", selected);\n },\n // resize result list on open\n /**\n * Opens a new list of autocompletion results\n */\n _openlist: function() {\n var parentWidth = $(this.el).css(\"width\");\n $(\".phx-chemin-input\", this.el).autocomplete(\"widget\").css(\"width\", parentWidth);\n },\n\n /**\n * Cleans the current selection\n */\n clean: function() {\n this.$el.find(\".phx-chemin-input\").val(\"\");\n this.selection.reset();\n },\n\n /**\n * Method to be executed when an element of the list is focused\n */\n _focused: function(event, ui) {\n // reset tooltip on focus. (maybe a bug in jquery is removing the tooltip when field receive focus)\n // adding again the attribute \"title\" is enougth to have the tooltip work again.\n if (ui && ui.tooltip && STR.isBlank($(\".phx-chemin-input\", this.el).attr(\"title\"))) {\n $(\".phx-chemin-input\", this.el).attr(\"title\", \"\");\n }\n\n if (event.type === \"tooltipopen\" && event.originalEvent && event.originalEvent.type === \"focusin\") {\n $(\".phx-chemin-input\", this.el).tooltip(\"close\");\n }\n }\n\n});\n","import { i18n } from '../../i18n.js';\nimport { LOG } from '../../utils/log.js';\nimport { objs } from '../../objectsRepository.js';\nimport { STR } from '../../utils/str.js';\nimport TPL_common_split_panel from './split_panel.tpl.html';\n\nexport var SplitPanelView = Backbone.View.extend({\n /**\n * Event launched when window is resized\n */\n /**\n * Event launched when position is changed\n */\n\n dummy: \"\",\n\n // Border width of the split bar control in pixels. It is used in the\n // functions that recalculte the max width of menu and split panels to\n // avoid the split controls become hidden. See\n // phx.app.AppRouter._updateMaxWidthSplitPanels and _updateMaxWidthLeft\n /**\n * SPLIT_BORDER_WIDTH\n */\n SPLIT_BORDER_WIDTH: 7,\n /**\n * TABS_HEADER_HEIGHT\n */\n TABS_HEADER_HEIGHT: 75,\n MINIMUM_SIZE: 0.3,\n /**\n * className\n */\n className: \"phx-splitPanel\",\n /**\n * firstTemplate\n */\n firstTemplate: TPL_common_split_panel,\n\n events: {\n \"keydown .ui-resizable-handle\": \"_keypressHandler\"\n },\n /**\n * Constructor\n * Split Panel View\n */\n initialize: function(options) {\n this.template = this.firstTemplate;\n\n this.model = new Backbone.Model({\n position: 50,\n prevPosition: 30\n });\n if (options && _.isNumber(options.position)) {\n this.model.set(\"position\", options.position);\n }\n\n if (options && _.isNumber(options.prevPosition)) {\n this.model.set(\"prevPosition\", options.prevPosition);\n }\n\n this.listenTo(this.model, \"change:position\", this._manageSplitPosition);\n this.listenTo(Backbone, \"resize:\" + this.cid, this._updateMaxWidthSplitPanels);\n\n this.splitterButtonsTimer = null;\n this.resizing = false;\n },\n\n /**\n * Renders this view\n */\n render: function() {\n $(this.el).html(this.template());\n $(this.el).attr(\"cid\", this.cid);\n //Adjust height\n //\t\t$(\".phx-proto-resizable\", this.el).height(requiredHeight - this.TABS_HEADER_HEIGHT);\n\n // Set IDs\n this.$el.find(\".phx-splitA\").attr(\"id\", this.cid + \"-splitA\");\n this.$el.find(\".phx-splitB\").attr(\"id\", this.cid + \"-splitB\");\n // Set WAI-ARIA role\n this.$el.find(\".phx-splitB\").attr(\"role\", \"region\");\n if (!STR.isBlank(this.labelledby)) {\n this.$el.find(\".phx-splitB\").attr(\"aria-labelledby\", this.labelledby);\n }\n\n //Adjust split position\n /**\n * Left panel\n */\n this.elSplitA = $(\".phx-splitA\", this.el);\n var splitPosition = $(\"#phx-wrap\").width() * (this.model.get(\"position\") / 100);\n this.elSplitA.width(splitPosition);\n var self = this;\n //Make resizable\n this.elSplitA.resizable({\n handles: \"e\",\n minWidth: objs.appRt.borderWidth,\n create: function(event, ui) {\n // Create elements\n var rigthArrow = $(\"\").addClass(\"ui-resizable-goto-right \" + self.cid).css({ \"z-index\": \"91\", \"position\": \"absolute\" }).html(\"»\");\n var leftArrow = $(\"\").addClass(\"ui-resizable-goto-left \" + self.cid).css({ \"z-index\": \"91\", \"position\": \"absolute\" }).html(\"«\");\n // add events\n rigthArrow.mouseenter(function(event) {\n clearTimeout(self.splitterButtonsTimer);\n });\n rigthArrow.mouseleave(function(event) {\n self._hideActionsDelayed(event);\n });\n rigthArrow.click(function() {\n var currentPosition = self.model.get(\"position\");\n var previousPosition = self.model.get(\"prevPosition\");\n\n if (currentPosition === self.MINIMUM_SIZE) {\n self.model.set(\"position\", previousPosition);\n } else {\n self.model.set(\"prevPosition\", currentPosition);\n self.model.set(\"position\", 100);\n }\n self.model.trigger(\"click:arrow\", \"right\");\n self._hideActions();\n });\n leftArrow.mouseenter(function(event) {\n clearTimeout(self.splitterButtonsTimer);\n });\n leftArrow.mouseleave(function(event) {\n self._hideActionsDelayed(event);\n });\n leftArrow.click(function() {\n var currentPosition = self.model.get(\"position\");\n var previousPosition = self.model.get(\"prevPosition\");\n\n if (currentPosition === 100) {\n self.model.set(\"position\", previousPosition);\n } else {\n self.model.set(\"prevPosition\", currentPosition);\n self.model.set(\"position\", self.MINIMUM_SIZE);\n }\n self._hideActions();\n self.model.trigger(\"click:arrow\", \"left\");\n });\n $(event.target).append(rigthArrow);\n $(event.target).append(leftArrow);\n rigthArrow.hide();\n leftArrow.hide();\n rigthArrow.position({\n my: \"left center\",\n of: event.target,\n collision: \"fit\"\n });\n leftArrow.position({\n my: \"right-7 center\",\n of: event.target,\n collision: \"fit\"\n });\n // WAI-ARIA properties to omit buttons\n rigthArrow.attr(\"aria-hidden\", \"true\");\n leftArrow.attr(\"aria-hidden\", \"true\");\n // Set splitter as focusable\n $(event.target).find(\".ui-resizable-handle\").attr(\"tabindex\", \"0\");\n // Set WAI-ARIA properties\n $(event.target).find(\".ui-resizable-handle\").attr(\"role\", \"separator\");\n $(event.target).find(\".ui-resizable-handle\").attr(\"aria-label\", i18n.t('wai_aria.panelSplitter'));\n $(event.target).find(\".ui-resizable-handle\").attr(\"aria-controls\", self.cid + \"-splitA \" + self.cid + \"-splitB\");\n\n self._manageAria_expanded();\n },\n start: function() {\n self.resizing = true;\n self._hideActions();\n },\n stop: function(event, ui) {\n self.resizing = false;\n var pos = event.pageX * 100 / $(\"#phx-wrap\").width();\n self.model.set(\"position\", pos, { silent: true });\n self._manageAria_expanded();\n },\n resize: function(event, ui) {\n objs.appRt.workflow.trigger(\"resize\");\n }\n });\n //Set mouseover event\n this.elSplitA.find(\".ui-resizable-handle\").mouseenter(function(event) {\n self._showActions(event);\n });\n this.elSplitA.find(\".ui-resizable-handle\").mouseleave(function(event) {\n self._hideActionsDelayed(event);\n });\n return this;\n },\n\n _keypressHandler: function(event) {\n var key = event.which || event.keyCode;\n var displacement = 1;\n var currentPosition = this.model.get(\"position\");\n var prevPosition = this.model.get(\"prevPosition\");\n\n // The key hava a custom action\n if (key === 13 || key === 35 || key === 36 || key === 37 || key === 39) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n if (key === 13) {\n this.model.set(\"position\", prevPosition);\n } else if (key === 35) {\n this.model.set(\"prevPosition\", currentPosition);\n this.model.set(\"position\", 100);\n } else if (key === 36) {\n this.model.set(\"prevPosition\", currentPosition);\n this.model.set(\"position\", this.MINIMUM_SIZE);\n } else if (key === 37 && currentPosition > 0) {\n this.model.set(\"prevPosition\", currentPosition);\n this.model.set(\"position\", currentPosition - displacement);\n } else if (key === 39 && currentPosition < 100) {\n this.model.set(\"prevPosition\", currentPosition);\n this.model.set(\"position\", currentPosition + displacement);\n }\n },\n\n /**\n * Resize the maxwidth of split panels and the width of partB to adjust\n * scroll\n */\n _updateMaxWidthSplitPanels: function() {\n LOG.debug(\"resizing:\" + this.cid);\n //This border width is needed to adjust the min and maximum width of the menu\n var borderWidth = SplitPanelView.prototype.SPLIT_BORDER_WIDTH;\n\n var maxWidthAllowed = $(\"#phx-wrap\").width();\n\n // Configure split panels\n // set size of left panel\n var elSplitA = this.$el.find(\".phx-splitA\").eq(0);\n // If is a liste detail\n if (elSplitA.length > 0) {\n maxWidthAllowed -= borderWidth;\n elSplitA.resizable(\"option\", \"maxWidth\", maxWidthAllowed);\n if (maxWidthAllowed < elSplitA.width()) {\n elSplitA.width(maxWidthAllowed);\n }\n\n // set size of right panel\n var elSplitB = this.$el.find(\".phx-splitB\").eq(0);\n if (elSplitB.length > 0) { // exists SplitPanel B ?\n LOG.debug(this.$el.parent().width() + \" - \" + elSplitA.width() + \" - \" + (borderWidth / 2) + \" : \" + ($(document).width() - this.$el.position().left - elSplitA.width() - (borderWidth / 2)));\n var widthB = this.$el.parent().width() - elSplitA.width() - (borderWidth / 2); //elSplitB.offset().left;\n elSplitB.width(Math.floor(widthB)); // Floor to delete decimals\n }\n }\n },\n /**\n * Show action left and right arrows\n */\n _showActions: function(event) {\n if (!this.resizing) {\n clearTimeout(this.splitterButtonsTimer);\n if (this.model.get(\"position\") < 98.4) {\n var rigthArrow = this.$el.find(\".phx-splitA .ui-resizable-goto-right.\" + this.cid);\n rigthArrow.show().position({\n my: \"left center\",\n of: event.currentTarget,\n collision: \"fit\"\n });\n }\n\n if (this.model.get(\"position\") > 2) {\n var leftArrow = this.$el.find(\".phx-splitA .ui-resizable-goto-left.\" + this.cid);\n leftArrow.show().position({\n my: \"right-6 center\",\n of: event.currentTarget,\n collision: \"fit\"\n });\n }\n }\n },\n /**\n * Hide Actions delayed\n */\n _hideActionsDelayed: function() {\n if (!this.resizing) {\n var self = this;\n this.splitterButtonsTimer = setTimeout(function() {\n self.$el.find(\".phx-splitA .ui-resizable-goto-right.\" + self.cid).hide(\"slide\", { direction: 'left' });\n self.$el.find(\".phx-splitA .ui-resizable-goto-left.\" + self.cid).hide(\"slide\", { direction: 'right' });\n }, 2000);\n }\n },\n /**\n * Hide left and right arrow actionsactions\n */\n _hideActions: function() {\n this.$el.find(\".phx-splitA .ui-resizable-goto-right.\" + this.cid).hide();\n this.$el.find(\".phx-splitA .ui-resizable-goto-left.\" + this.cid).hide();\n },\n /**\n * Manages split positioning\n */\n _manageSplitPosition: function() {\n this._manageAria_expanded();\n if (STR.isBlank(this.model.get(\"prevPosition\"))) {\n this.model.set(\"prevPosition\", this.model.get(\"position\"));\n }\n var splitPosition = $(this.el).parent().width() * (this.model.get(\"position\") / 100);\n this.elSplitA.width(splitPosition);\n // Force to update width.\n objs.appRt._updateMaxWidthSplitPanels();\n objs.appRt._resizeProtoResizables();\n },\n /**\n * Calculates center height\n */\n _calculateCenterHeight: function() {\n return $(this.el).parent().height() - $(\".phx-header\").height();\n },\n\n _manageAria_expanded: function() {\n if (this.model.get(\"position\") <= 0.3) {\n this.$el.find(\".ui-resizable-handle\").attr(\"aria-expanded\", \"false\");\n } else {\n this.$el.find(\".ui-resizable-handle\").attr(\"aria-expanded\", \"true\");\n }\n },\n\n setLabelIds: function(labelIds) {\n this.labelledby = labelIds;\n },\n\n enableResizable: function() {\n this.elSplitA.resizable(\"enable\");\n },\n\n disableResizable: function() {\n this.elSplitA.resizable(\"disable\");\n },\n\n disableSplitter: function() {\n this.$el.find('.phx-splitA > .ui-resizable-handle').hide();\n this.$el.find('.phx-splitA').addClass('phx-hideSplitter');\n },\n\n enableSplitter: function() {\n this.$el.find('.phx-splitA > .ui-resizable-handle').show();\n this.$el.find('.phx-splitA').removeClass('phx-hideSplitter');\n },\n\n hideLeft: function() {\n this.$el.find('.phx-splitA').hide();\n },\n\n showLeft: function() {\n this.$el.find('.phx-splitA').show();\n },\n\n hideRight: function() {\n this.$el.find('.phx-splitB').hide();\n },\n\n showRight: function() {\n this.$el.find('.phx-splitB').show();\n }\n\n});\n","import { BaseModel } from '../../../../../../core/models/base.model.js';\n\nimport { i18n } from '../../../../../../i18n.js';\nimport { STR } from '../../../../../../utils/str.js';\n\n/**\n * Model for accept, reject or view is modificable\n */\nexport var GererBadgeagesGestion = BaseModel.extend({\n\n //REVIEW: \ti18n : phx.i18n.common.gererbadgeages,\n //REVIEW: \ti18nCom : phx.i18n.common,\n\n /**\n * Builds the url for the REST call\n */\n url: function() {\n return Configuration.restRoot + \"/rest/badgeage/composant/\" + this.action + \"/\" + this.id;\n },\n\n /**\n * Validate the model before launch the REST\n */\n validate: function(attrs) {\n var errors = {};\n if (this.action == \"refuser\") {\n if (STR.isBlank(attrs.commentaire)) {\n errors.commentaire = i18n.t('common:required', { \"0\": i18n.t('common:gererbadgeages.comment') });\n }\n }\n\n if (!_.isEmpty(errors)) {\n var errorMap = {\n errorValidation: STR.formatMessage(errors),\n errors: errors\n };\n return errorMap;\n }\n return null;\n },\n\n /**\n * Default data model\n *\t\tcommentaire : \"\",\n * }\n */\n defaults: {\n \"commentaire\": \"\"\n },\n\n /**\n * Parsed the results returned by the REST,\n * Copy the return code in the object id\n */\n parse: function(response) {\n if (response.id == undefined && response.code != undefined) {\n response.id = response.code;\n }\n return response;\n }\n});","import { BaseModel } from 'core/models/base.model.js';\n\nexport var WkfHistoModel = BaseModel.extend({\n\n defaults: {\n \"acte\": null,\n \"auteur\": {\n \"@auteur\": \"\",\n \"message\": null\n },\n \"codefonctionnel\": \"CO_AJ_D\",\n \"commentaire\": \"\",\n \"moments\": [{\n \"@date\": \"20130925\",\n \"message\": null\n\t\t}]\n }\n});","\nimport { PaginatedCollection } from 'core/models/paginated.collection.js';\nimport { WkfHistoModel } from './wkfHisto.model.js';\n\nexport var HistoDemModelColl = PaginatedCollection.extend({\n\n model: WkfHistoModel,\n\n url: function() {\n var newUrl = Configuration.restRoot + \"/rest/wkf/histo/demande/\" + encodeURIComponent(this.ctxModeRech + \",\" + this.ctxDemId);\n return newUrl;\n },\n\n initialize: function() {\n PaginatedCollection.prototype.initialize.call(this);\n this.paginated = false;\n }\n});","\nimport { PaginatedCollection } from 'core/models/paginated.collection.js';\nimport { STR } from '../../../../utils/str.js';\nimport { WkfHistoModel } from './wkfHisto.model.js';\n\nexport var HistoEnsembleModelColl = PaginatedCollection.extend({\n\n model: WkfHistoModel,\n\n url: function() {\n var newUrl = Configuration.restRoot + \"/rest/wkf/histo/ensemble/\" + encodeURIComponent(this.ctxTypeEvenement);\n if (!STR.isBlank(this.evenements)) {\n newUrl += \"?evenements=\" + this.evenements;\n }\n return newUrl;\n },\n\n initialize: function() {\n PaginatedCollection.prototype.initialize.call(this);\n this.paginated = false;\n }\n});","\nimport { PaginatedCollection } from 'core/models/paginated.collection.js';\nimport { WkfHistoModel } from './wkfHisto.model.js';\n\nexport var HistoEventModelColl = PaginatedCollection.extend({\n\n model: WkfHistoModel,\n\n url: function() {\n var newUrl = Configuration.restRoot + \"/rest/wkf/histo/evenement/\" + encodeURIComponent(this.ctxTypeEvenement + \",\" + this.ctxRefEvenement);\n return newUrl;\n },\n\n initialize: function() {\n PaginatedCollection.prototype.initialize.call(this);\n this.paginated = false;\n }\n});","import { BaseModel } from 'core/models/base.model.js';\n\n\nexport var HistoSouhaitOriginModel = BaseModel.extend({\n\n url: function() {\n var newUrl = Configuration.restRoot + \"/rest/wkf/histo/souhait/\" + encodeURIComponent(this.ctxRefSouhait);\n return newUrl;\n }\n});","import { BaseModel } from 'core/models/base.model.js';\nimport { BlockView as CommonBlockView } from 'core/components/collapsible_block/block.view.js';\nimport { DialogView } from 'core/views/dialog.view.js';\nimport { HabilitationContext } from 'core/models/habilitationContext.js';\nimport { HistoDemModelColl } from '../models/histoDemModel.collection.js';\nimport { HistoEnsembleModelColl } from '../models/histoEnsembleModel.collection.js';\nimport { HistoEventModelColl } from '../models/histoEventModel.collection.js';\nimport { HistoSouhaitOriginModel } from '../models/histoSouhaitOrigin.model.js';\nimport { i18n } from '../../../../i18n.js';\nimport { STR } from '../../../../utils/str.js';\nimport { TYPE } from '../../../../tda/tda.js';\nimport { WKF } from '../../../../utils/wkf.js';\nimport TPL_wkfhisto_detail from '../detail.tpl.html';\n\n/**\n * View for the workflow component\n */\nexport var BlockView = CommonBlockView.extend({\n\n initialize: function() {\n // list of components to load\n var opt = {};\n opt.component = \"wkfhisto\";\n opt.detailTemplate = TPL_wkfhisto_detail;\n opt.buttons = [];\n this.loadedData = null;\n\n this.model = new BaseModel({\n histoDem: new HistoDemModelColl(),\n histoEvent: new HistoEventModelColl(),\n histoEnsemble: new HistoEnsembleModelColl()\n });\n this.model.on(\"expand\", this._loadDataInFirstTime, this);\n\n CommonBlockView.prototype.initialize.call(this, opt);\n },\n\n _loadDataInFirstTime: function(data) {\n if (!this.loadedData && data.expanded) {\n // if we load data the first time - we open the detail view.\n this.context.ctxActivModeSynth = false;\n this._loadData();\n }\n },\n\n events: _.extend({\n \"click span.Detaille\": \"_detailView\",\n \"click span.Simple\": \"_synthetiqueView\"\n }, CommonBlockView.prototype.events),\n\n setContext: function(context) {\n this.context = context;\n this.title = \"\";\n this.titleAction = \"\";\n\n if (STR.isBlank(this.context.ctxDemId) || this.context.ctxDemId == 0 || this.context.ctxDemId == \"null\") {\n this.context.ctxDemId = null;\n }\n if (STR.isBlank(this.context.ctxRefEvenement) || this.context.ctxRefEvenement == \"null\") {\n this.context.ctxRefEvenement = null;\n }\n\n //Default values\n if (this.context.ctxModeRestitution === \"Imbrique\") {\n this.title = i18n.t('common:wkfhisto.title_imbrique');\n if (this.context.ctxActivModeSynth === true) {\n this.titleAction = \" + / [-]\";\n }\n }\n\n if (this.context.ctxModeRestitution === \"popup\") {\n this.title = i18n.t('common:wkfhisto.title_popup');\n }\n\n if (this.context.ctxModeRestitution === \"infobulle\") {\n this.title = \"\";\n this.context.ctxActivModeSynth = true;\n this.context.ctxModeDefaut = \"Deplier\";\n this.hideIcon();\n }\n\n this.model.get(\"histoDem\").setHabContext(\n new HabilitationContext({\n onglet: this.context.ctxEcran,\n fonc_cour: this.context.ctxHabilitation\n })\n );\n this.model.get(\"histoEvent\").setHabContext(\n new HabilitationContext({\n onglet: this.context.ctxEcran,\n fonc_cour: this.context.ctxHabilitation\n })\n );\n this.model.get(\"histoEnsemble\").setHabContext(\n new HabilitationContext({\n onglet: this.context.ctxEcran,\n fonc_cour: this.context.ctxHabilitation\n })\n );\n\n this._manageBlocEstDeplie();\n this.setTitle(this.title + this.titleAction);\n this.showBlock();\n },\n\n // override default function\n canAccess: function() {\n return true;\n },\n\n _loadData: function() {\n var self = this;\n this.loadedData = true;\n\n if (this.context.ctxEnsemble === true) {\n this.collection = this.model.get(\"histoEnsemble\");\n if (this.context.ctxTypeEvenement === \"Activité\") { // \"Activité\" comme dans la SFD \"liste des activités->Intégration du composant « Historique de Workflow\"\n if (this.context.ctxHabilitation === \"RES_VAL_ACTRE.G\") {\n this.collection.ctxTypeEvenement = \"ACTREAL\";\n } else {\n this.collection.ctxTypeEvenement = \"ACTPREV\";\n }\n } else {\n this.collection.ctxTypeEvenement = this.context.ctxTypeEvenement;\n }\n this.collection.evenements = this.context.ctxRefEvenement;\n this.collection.demandes = this.context.ctxDemId;\n\n this.collection.fetch({\n success: function(fresh) {\n self.setContent(self._generateContent(fresh));\n if (fresh.length === 0) {\n self.hideIcon();\n }\n }\n });\n\n } else if (this.context.ctxRefEvenement !== null) {\n this.collection = this.model.get(\"histoEvent\");\n this.collection.ctxRefEvenement = this.context.ctxRefEvenement;\n if (this.context.ctxTypeEvenement === \"Activité\") { // \"Activité\" comme dans la SFD \"liste des activités->Intégration du composant « Historique de Workflow\"\n if (this.context.ctxHabilitation === \"RES_VAL_ACTRE.G\") {\n this.collection.ctxTypeEvenement = \"ACTREAL\";\n } else {\n this.collection.ctxTypeEvenement = \"ACTPREV\";\n }\n } else {\n this.collection.ctxTypeEvenement = this.context.ctxTypeEvenement;\n }\n\n this.souhaitOrigine = null;\n if ((this.collection.ctxTypeEvenement === \"REGULARISATION\" || this.collection.ctxTypeEvenement === \"EVTGEN\" || this.collection.ctxTypeEvenement === \"ABSENCE\" ||\n this.collection.ctxTypeEvenement === \"SOUHAITABS\" || this.collection.ctxTypeEvenement === \"PRET\" || this.collection.ctxTypeEvenement === \"BADGEAGE\" ||\n this.collection.ctxTypeEvenement === \"ACTREAL\" || this.collection.ctxTypeEvenement === \"ACTPREV\") && this.context.ctxActivModeSynth === false) {\n if (!STR.isBlank(this.context.ctxRefSouhait)) {\n // read souhait origine\n this.souhaitOrigine = new HistoSouhaitOriginModel();\n this.souhaitOrigine.setHabContext(new HabilitationContext({\n onglet: this.context.ctxEcran,\n fonc_cour: \"RES_SHTABS.V\"\n }));\n this.souhaitOrigine.ctxRefSouhait = this.context.ctxRefSouhait;\n\n this.souhaitOrigine.fetch({\n success: function() {\n self.collection.fetch({\n success: function(fresh) {\n self.setContent(self._generateContent(fresh));\n }\n });\n }\n });\n } else {\n this.collection.fetch({\n success: function(fresh) {\n self.setContent(self._generateContent(fresh));\n }\n });\n }\n }\n } else if (this.context.ctxDemId !== null) {\n this.collection = this.model.get(\"histoDem\");\n this.collection.ctxDemId = this.context.ctxDemId;\n this.collection.ctxModeRech = this.context.ctxModeRech;\n\n this.collection.fetch({\n success: function(fresh) {\n self.setContent(self._generateContent(fresh));\n if (fresh.length === 0) {\n self.hideIcon();\n }\n }\n });\n }\n\n },\n\n _detailView: function() {\n this.context.ctxActivModeSynth = false;\n this.setContent(this._generateContent(this.collection));\n this.titleAction = \" [+] / -\";\n this.setTitle(this.title + this.titleAction);\n },\n\n _synthetiqueView: function() {\n this.context.ctxActivModeSynth = true;\n this.setContent(this._generateContent(this.collection));\n this.titleAction = \" + / [-]\";\n this.setTitle(this.title + this.titleAction);\n },\n\n _bold: function(normalText) {\n var boldText = \"\" + normalText + \"\";\n return boldText;\n },\n\n _manageVisualization: function() {\n if (this.context.ctxBlocEstDeplie) {\n this.expand();\n } else {\n this.collapse();\n }\n },\n\n _manageBlocEstDeplie: function() {\n if (this.context.ctxModeDefaut === \"Replie\") {\n this.collapse();\n this.loadedData = false;\n } else {\n this.expand();\n this.loadedData = true;\n }\n },\n\n _generateContent: function(collection) {\n var htmlContent = \"\";\n var i = 0;\n\n if (this.context.ctxActivModeSynth === true) {\n if (collection && collection.length > 0) {\n htmlContent += \"\";\n htmlContent += this._buildLine(collection.at(0));\n htmlContent += \"\";\n }\n if (collection && collection.length > 1) {\n htmlContent += \"\";\n htmlContent += this._buildLine(collection.at(collection.length - 1));\n htmlContent += \"\";\n }\n } else {\n if (collection) {\n for (i = 0; i < collection.length; i++) {\n htmlContent += \"\";\n htmlContent += this._buildLine(collection.at(i));\n htmlContent += \"\";\n }\n }\n if (this.souhaitOrigine) {\n htmlContent += \"\";\n htmlContent += this._buildLineSouhaitOrigine(this.souhaitOrigine);\n htmlContent += \"\";\n }\n }\n\n htmlContent += \"
        \";\n htmlContent += \"
        \";\n return htmlContent;\n },\n\n _buildLineSouhaitOrigine: function(model) {\n var result = \"\";\n var date = \"\";\n\n if (model.get(\"souhait\")) {\n date = TYPE.DATE.format(model.get(\"souhait\")[0][\"@date\"], TYPE._getFormatByCode(\"DATE_A\"));\n } else if (model.ctxRefSouhait) {\n date = TYPE.DATE.format(model.get(\"@date\"), TYPE._getFormatByCode(\"DATE_A\"));\n }\n var message = \"\";\n message = i18n.t('messages:GL_1032') + \" \" + i18n.t('messages:GL_1033', { \"1\": this._bold(date), interpolation:{escapeValue:false} });\n\n result += \"\" + message + \"\";\n\n return result;\n },\n\n _buildLine: function(model) {\n return WKF.buildLine(model);\n },\n\n _manageButtons: function(event) {\n var buttonId = event.currentTarget.className.split(\" \")[2];\n\n switch (buttonId) {\n case \"create\":\n this.popupView = this._initPopupView(this.model.get(\"histoEvent\"));\n this.popupView.open();\n break;\n default:\n //Nothing\n }\n },\n\n _initPopupView: function(model) {\n var dialog = new DialogView({\n view: BlockView,\n viewData: {\n model: model\n }\n });\n dialog.setHeight(300);\n dialog.setWidth(300);\n return dialog;\n }\n});\n","import { i18n } from '../i18n.js';\nimport { LOG } from '../utils/log.js';\nimport { MSGS } from '../utils/msgs.js';\nimport { objs } from '../objectsRepository.js';\nimport { STR } from '../utils/str.js';\nimport { UTILS } from '../utils/utils.js';\nimport { LoginTestConnModel } from 'core/components/login/loginTestConn.model.js';\n\nexport var onError = function(e, xhr, options, thrownError) {\n\n if (xhr.omit === true) {\n return;\n }\n if (window.location.pathname.indexOf(\"login.html\") === -1 && objs && objs.appRt.workflow && objs.appRt.blocked === true) {\n //Prevent app of being blocked if there is an error\n objs.appRt.workflow.trigger(\"unblock:app\");\n }\n\n try {\n LOG.error(\"ERROR Ajax : \" + JSON.stringify(xhr));\n } catch (e) {\n try {\n LOG.error(\"ERROR Ajax : \" + JSON.stringify(_.omit(xhr, \"responseXML\")));\n } catch (e1) {\n LOG.error(\"ERROR Ajax : unknown\");\n }\n }\n\n var customMsg = {};\n var status = xhr.status;\n var l_msg = \"\";\n\n try {\n if (xhr.responseText) {\n customMsg = JSON.parse(xhr.responseText);\n } else {\n customMsg = e.responseData || {};\n }\n } catch (error) {\n customMsg = {};\n }\n\n if (status === 200 && _.isEmpty(customMsg)) {\n // It is a correct response, but empty, without results.\n return;\n }\n\n if (status === 0 || status > 12000) {\n if (window.location.pathname.indexOf(\"login.html\") === -1) {\n var testConnectionModel = new LoginTestConnModel();\n testConnectionModel.fetch({\n timeout: testConnectionModel.timeout,\n error: function() {\n if (UTILS._isLoged() === true) {\n //Forbidden. Security issue, redirect to login page\n MSGS.showWarning(i18n.t('common:sesionExpire'), UTILS._logear);\n } else {\n UTILS._logear();\n }\n },\n success: function() {\n //Nothing\n }\n });\n }\n }\n\n if (status === 403 || status === 440) {\n if (customMsg && customMsg.message) {\n MSGS.showError(customMsg.message);\n } else {\n if (UTILS._isLoged() === true) {\n //Forbidden. Security issue, redirect to login page\n if (objs.appRt.workflow.authModel) {\n objs.appRt.workflow.authModel.clear();\n }\n MSGS.showWarning(i18n.t('common:sesionExpire'), UTILS._logear);\n } else {\n UTILS._logear();\n }\n }\n return;\n }\n\n if (status === 404) {\n if (options.url.indexOf(\"/tpl/\") !== -1) {\n throw new Error(\"Error 404 on getting missing templates: \" + options.url + \"\\nError code:(LoadingUCException)\");\n } else if (options.url.indexOf(\".js\") !== -1) {\n throw new Error(\"Error 404 on getting wrong js file: \" + options.url + \"\\nError code:(LoadingUCException)\");\n } else {\n l_msg = i18n.t(['messages:GT_1316', 'common:server_error'], { \"error\": xhr.status + \": \" + xhr.statusText });\n MSGS.showError(l_msg);\n }\n return;\n }\n\n if (status === 410) {\n //Error already treated by a component\n return;\n }\n\n //No right enough to access to a webservice\n //Security tag is missing\n //XSS intrusion\n //Jeton erreur\n if (status === 550 || status === 551 ||\n status === 552 || status === 553) {\n\n MSGS.showError(i18n.t('common:security', { '0': status }));\n } else if (status === 406 || status === 500) {\n // spécial case with grid column ordering\n if (customMsg.message === \"-904\") {\n customMsg.message = \"Tri non disponible\";\n }\n\n if (!STR.isBlank(customMsg.titre) && !STR.isBlank(customMsg.message)) {\n // notification message returned by server that needs processing...\n MSGS.showNotification(customMsg, function(result) {\n switch (result) {\n case \"ABORT\":\n break;\n case \"CONTINUE\":\n options.success();\n break;\n default:\n options.url = Configuration.restRoot + \"/rest/\" + result;\n $.ajax(options);\n }\n }, options);\n } else {\n if (STR.isBlank(customMsg.message)) {\n MSGS.showError(\"ERROR : \" + xhr.status + \": \" + xhr.statusText);\n } else {\n MSGS.showError(customMsg.message);\n }\n }\n } else if (customMsg.errorBoMsg) {\n MSGS.showError(\"ERROR : \" + customMsg.errorBoMsg);\n } else if (customMsg.errorMessage) {\n MSGS.showError(\"ERROR : \" + xhr.status + \" / \" + customMsg.errorMessage);\n } else if (status >= 400 && status <= 599) {\n l_msg = i18n.t(['messages:GL_1068', 'common:server_error'], { \"error\": xhr.status + \": \" + xhr.statusText });\n\n MSGS.showError(l_msg);\n }\n // TODO waiting Céline and Dany response.\n //\telse if ( status != 0 && status <= 12000 ) {\n //\t\tMSGS.showError(i18n.t('messages:GT_1317'));\n //\t}\n else {\n // status = 0 or status = 12029 (IE9)\n LOG.error(\"ERROR : \" + xhr.status + \": \" + xhr.statusText);\n }\n};\n","import { objs } from '../objectsRepository.js';\nimport { UTILS } from '../utils/utils.js';\n\nexport var onComplete = function(headers) {\n if (UTILS) {\n setTimeout(function() {\n if (headers[\"gfi-context\"]) {\n if (objs && objs.appRt &&\n (objs.appRt.blocked === true || objs.appRt.hidderDisabled === true)) {\n //don't show/hide usecase hidder when app is blocked\n } else {\n UTILS.hideUsecaseHidder(JSON.parse(headers[\"gfi-context\"]).onglet);\n\n }\n }\n }, 400);\n }\n}","import { FormView } from './form.view.js';\nimport { STR } from '../../utils/str.js';\nimport { TYPE } from '../../tda/tda.js';\n\nexport var EditedRowView = FormView.extend({\n /** Used to check like instanceof */\n isEditedRowView: true,\n\n _getModel: function() {\n return this.model;\n },\n\n _enablePk: function(enabled) {\n this.pkSelectors = this.pks;\n FormView.prototype._enablePk.call(this, enabled);\n },\n\n _getFieldset: function() {\n return this.$el;\n },\n\n /*\n * When an input in a editedRow has no tooltip,\n * it is associated to a corresponding column text in order to meet accessibility criterias.\n */\n _linkColumnNamesToInputs: function(jQueryRootSelector, tableid) {\n\n jQueryRootSelector.find(\":input\").each(function(index, element) {\n var domEl = $(element);\n var name = domEl.attr(\"class\").split(\" \")[0];\n\n if (STR.isBlank(element.title) && element.type !== \"button\") { //Associate to column text if there is no title for this input\n var classnameSelector = name.replace(/\\./g, \"\\\\.\");\n var newid = _.uniqueId(name + \"_uid_\");\n var columnNumber = null;\n var row = $(jQueryRootSelector.closest(\"tr\"));\n //Find out number of column\n $(row).children(\"td\").each(function(a_index, el) {\n var index = a_index;\n\n if ($(el).find($(element)).length > 0) {\n index = $(jQueryRootSelector.closest(\"#\" + tableid)).find(\".phx-grid-header-scroll .phx-tristate-box\").length > 0 ? index + 1 : index;\n columnNumber = TYPE.LONG.format(index, \"&&\");\n }\n });\n\n //Add new id for the input\n if (element.type === \"select-one\") {\n jQueryRootSelector.find(\"select.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-error\");\n var currentTitleEl = $(jQueryRootSelector.closest(\"#\" + tableid)).find(\" .phx-grid-header-scroll .phx-th\" + columnNumber + \" div\").children().first();\n var titleText = !STR.isBlank($(element).parent().attr(\"title\")) ? $(element).parent().attr(\"title\") : $(currentTitleEl).text();\n $(jQueryRootSelector.closest(\"#\" + tableid)).find(\".phx-grid-header-scroll .phx-th\" + columnNumber + \" div\").children().first().remove();\n $($(jQueryRootSelector.closest(\"#\" + tableid)).find(\".phx-grid-header-scroll .phx-th\" + columnNumber + \" div\")[0]).prepend($(\"\"));\n\n } else {\n // other fields case\n switch (domEl.attr(\"type\")) {\n case \"text\":\n var oldId = domEl.attr(\"id\");\n if (!STR.isBlank(oldId)) {\n newid = oldId;\n }\n case \"checkbox\":\n jQueryRootSelector.find(\"input.\" + classnameSelector).attr(\"id\", newid).attr(\"aria-describedby\", newid + \"-error\");\n break;\n default:\n break;\n }\n\n var currentTitleEl = $(jQueryRootSelector.closest(\"#\" + tableid)).find(\" .phx-grid-header-scroll .phx-th\" + columnNumber + \" div\").children().first();\n var titleText = $(currentTitleEl).text();\n $(jQueryRootSelector.closest(\"#\" + tableid)).find(\".phx-grid-header-scroll .phx-th\" + columnNumber + \" div\").children().first().remove();\n $($(jQueryRootSelector.closest(\"#\" + tableid)).find(\".phx-grid-header-scroll .phx-th\" + columnNumber + \" div\")[0]).prepend($(\"\"));\n }\n //Substitute column span title by a label with for=inputId\n\n //required\n if ($(element).parents(\"td:first\").find(\"[for]\").hasClass(\"required\") === true) {\n $(element).attr(\"aria-required\", true);\n }\n }\n\n });\n },\n /*\n * When a row has finished editing it transforms column title from label to span\n */\n _unlinkColumnNamesToInputs: function(jQueryRootSelector) {\n\n //Select each column title with label and transform it into a span\n jQueryRootSelector.find(\".phx-grid-header-scroll tr th\").each(function(index, element) {\n var titleLabel = $(element).find(\"label.WCAG_table_title\");\n\n if (titleLabel && titleLabel.length > 0) {\n var currentTitle = $(element).text();\n $(element).find(\"div label.WCAG_table_title\").remove();\n $($(element).find(\"div\")[0]).prepend($(\"\" + currentTitle + \"\"));\n }\n\n });\n }\n //Discomment after accesibility revision.\n //_mapModelToForm : function(fieldset, model, renderers){\n //\tFormView.prototype._mapModelToForm.call(this,fieldset, model, renderers);\n\n //\tthis._linkColumnNamesToInputs(this.$el,this.parentId);\n //}\n\n});","import { HEADERS } from '../../../utils/headers.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var SelecteurCheminItemModel = Backbone.Model.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n /**\n * urlRoot\n */\n urlRoot: Configuration.restRoot + \"/rest/configuration\",\n\n /**\n * Constructor\n * Paginated collection for the application. Manage also filtering and sorting\n */\n initialize: function(params) {\n params = params || {};\n /**\n * Data used to form URL\n */\n this.data = \"structid=\" + params.structid;\n this.data += \"&datedebut=\" + params.date;\n this.data += \"&datefin=\" + params.date;\n this.data += \"&multiple=false&intermediaire=true&partial=true\";\n if (!STR.isBlank(params.nonrattachable)) {\n this.data += \"&nonrattachable=\" + params.nonrattachable;\n }\n if (!STR.isBlank(params.nonrattactiv)) {\n this.data += \"&nonrattactiv=\" + params.nonrattactiv;\n }\n if (!STR.isBlank(params.chemin)) {\n this.data += \"&chemin=\" + params.chemin;\n // Début spécifique VDP\n } else if (!STR.isBlank(params.elementCodef)) {\n this.data += \"&elementcodef=\" + params.elementCodef;\n // Fin spécifique VDP\n } else {\n this.data += \"&elementcode=\" + params.elementCode;\n }\n this.urlRoot = Configuration.restRoot + \"/rest/cheminstructure/simple?\" + this.data;\n },\n\n /**\n * Process to manage the response\n */\n parse: function(response) {\n if (STR.isBlank(response.id) && !STR.isBlank(response.code)) {\n response.id = response.code;\n }\n\n return response;\n },\n\n fetch: function(options) {\n var options = options || {};\n\n if (this.ecran && !this.habContext) {\n options.headers = HEADERS.habilitationContext(this.ecran, \"N\", \"\");\n }\n return Backbone.Model.prototype.fetch.call(this, options);\n }\n});","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","import { STR } from '../../../utils/str.js';\n\n/**\n * Model to manage the context of an habilitation\n */\nexport var BaseGridModel = Backbone.Model.extend({\n\n dummy: \"\",\n\n /**\n * Event that Show/Hide a column\n */\n /**\n * Event that Locks a column.\n */\n /**\n * Event that Unlocks a column.\n */\n /**\n * Event that Blocks a column.\n */\n /**\n * Event that Unblocks a column.\n */\n /**\n * Event that scrolls the grid to the selected Row.\n */\n /**\n * Event that scrolls the grid to the selected Row if is not visible.\n */\n /**\n * Event triggered when user select a row.\n */\n /**\n * Event triggered when user unselects a row.\n */\n /**\n * Event that Reset the Height of the rows.\n */\n /**\n * Event fired when click on the header checkbox on multiselection.\n */\n\n /**\n * Event fired to inform a usecase that view a different view for this table has been selected\n */\n /**\n * Event fired when click on a view of the table menu\n */\n\n /**\n * Model underlying a basic DataGrid.\n */\n initialize: function(options) {\n var self = this;\n\n this.unset(\"coll\");\n if (!options.coll) {\n throw new Error(\"You must initialize a DataGridModel with a Collection\");\n }\n this.coll = options.coll;\n this.coll.on(\"row:click\", this._manageRowSelection, this);\n if (options.enableSelectionOnDblclick === true) {\n this.unset(\"enableSelectionOnDblclick\");\n this.enableSelectionOnDblclick = options.enableSelectionOnDblclick;\n this.coll.on(\"row:dblclick\", this._manageRowSilentSelection, this);\n }\n\n // Delegate the events row:* to the coll\n this.on(\"all\", function(eventName, value) {\n if (eventName.indexOf(\"row:\") !== -1) {\n var model = self.coll.get(value);\n if (!model) {\n //If it's called a row operation over a model not present in the grid collection, it will be ignored\n return;\n }\n self.coll.trigger(eventName, model);\n }\n }, this);\n\n this.set(\"value\", null); // value model\n\n this.multiselectColl = new Backbone.Collection();\n\n },\n\n /**\n * Select (silently) the row when do double click on it.\n *\n */\n _manageRowSilentSelection: function(model) {\n if (model) {\n this.set(\"value\", model);\n }\n },\n\n /**\n * Called when do a click on a row, performs the selection of that row.\n */\n _manageRowSelection: function(model, options) {\n if (model) {\n if (!this.get(\"value\")) {\n this.set(\"value\", model, options);\n model.trigger(\"row:select\", model);\n } else if (this.get(\"value\") !== model) {\n this.get(\"value\").trigger(\"row:unselect\", this.get(\"value\"));\n model.trigger(\"row:select\", model);\n this.set(\"value\", model, options);\n } else if (this.get(\"value\") === model) {\n this.trigger(\"row:selectedAgain\", this);\n }\n } else {\n this.set(\"value\", null);\n }\n },\n\n /**\n * Scroll the table to show the model passed.\n */\n scrollToRow: function(model, callback) {\n var loadedModel = this.coll.get(model);\n if (loadedModel) {\n var startIndex = this.coll.pagination.startIndex;\n var modelIndex = this.coll.indexOf(loadedModel);\n this.trigger(\"scroll:to\", startIndex + modelIndex);\n if (callback) {\n callback();\n }\n return;\n }\n var self = this;\n var oldSelectedModel = this.get(\"value\");\n // If the action is new we get the previous value\n if (!this.get(\"value\")) {\n oldSelectedModel = this.previous(\"value\");\n }\n this.coll.findAndGo(model, function(selectOld) {\n if (selectOld) {\n loadedModel = self.coll.get(oldSelectedModel.id);\n } else {\n loadedModel = self.coll.get(model.id);\n }\n var startIndex = self.coll.pagination.startIndex;\n loadedModel = self.coll.get(model.id);\n var modelIndex = self.coll.indexOf(loadedModel);\n self.trigger(\"scroll:to\", startIndex + modelIndex);\n if (callback) {\n callback();\n }\n });\n },\n\n /**\n * Used to select the passed model on the Grid, scrolls to that element.\n */\n selectRow: function(model, callback) {\n var loadedModel = this.coll.get(model);\n if (loadedModel && !loadedModel.notSelectable) {\n var startIndex = this.coll.pagination.startIndex;\n var modelIndex = this.coll.indexOf(loadedModel);\n this.trigger(\"scroll:to\", startIndex + modelIndex);\n this._manageRowSelection(loadedModel);\n if (callback) {\n callback(loadedModel);\n }\n\n //WCAG\n loadedModel.trigger(\"cell:select\", this.coll.editModeCellSelected);\n this.coll.editModeCellSelected = null;\n\n return;\n }\n var self = this;\n var oldSelectedModel = this.get(\"value\");\n // If the action is new we get the previous value\n if (!this.get(\"value\")) {\n oldSelectedModel = this.previous(\"value\");\n }\n this.coll.findAndGo(model, function(selectOld) {\n if (selectOld && oldSelectedModel) {\n loadedModel = self.coll.get(oldSelectedModel.id);\n } else {\n loadedModel = self.coll.get(model.id);\n }\n var startIndex = self.coll.pagination.startIndex;\n var modelIndex = self.coll.indexOf(loadedModel);\n self.trigger(\"scroll:to\", startIndex + modelIndex);\n self._manageRowSelection(loadedModel);\n if (callback) {\n callback(loadedModel);\n }\n });\n\n },\n\n notSelectableRow: function(model) {\n var loadedModel = this.coll.get(model);\n if (loadedModel) {\n loadedModel.notSelectable = true;\n loadedModel.trigger(\"row:notSelectable\", loadedModel);\n }\n },\n\n selectableRow: function(model) {\n var loadedModel = this.coll.get(model);\n if (loadedModel) {\n loadedModel.notSelectable = false;\n loadedModel.trigger(\"row:Selectable\", loadedModel);\n }\n },\n\n supprimedRow: function(model) {\n var loadedModel = this.coll.get(model);\n if (loadedModel) {\n loadedModel.notSelectable = true;\n loadedModel.trigger(\"row:supprimed\", loadedModel);\n }\n },\n\n /**\n * Select the first row of the table, scroll to the beginning.\n */\n selectFirstRow: function(silent) {\n var model = this.coll.at(0);\n var l_silent = STR.isBlank(silent) ? false : silent;\n var self = this;\n\n if (this.coll.pagination.startIndex === 0) {\n if (l_silent === false && !STR.isBlank(model) && model.notSelectable !== true) {\n\n this._manageRowSelection(_.first(this.coll.models));\n } else {\n for (var i = 1; i < this.coll.length && (model.notSelectable && model.notSelectable === true); i++) {\n model = this.coll.at(i);\n }\n if (STR.isBlank(model) || model.notSelectable === true) {\n model = null;\n }\n this._manageRowSelection(model);\n }\n this.trigger(\"scroll:to\", 0);\n } else {\n //It is needed to paginate to first page\n this.coll.goTo(0, function() {\n self.selectFirstRow();\n self.trigger(\"scroll:to\", 0);\n });\n }\n },\n\n resetScroll: function() {\n this.trigger(\"scroll:to\", 0);\n },\n\n /**\n * Select the last row of the table, scroll to the end.\n */\n selectLastRow: function(silent) {\n var lastPageIndex = this.coll.totalRecords - this.coll.pagination.size;\n var newIncrement = 1;\n var model = this.coll.at(this.coll.length - 1);\n var l_silent = STR.isBlank(silent) ? false : silent;\n var self = this;\n\n if (this.coll.pagination.startIndex >= lastPageIndex) {\n\n if (l_silent === false && model.notSelectable !== true) {\n\n this._manageRowSelection(_.last(this.coll.models));\n } else {\n for (var i = lastPageIndex - newIncrement; i >= 0 && (model.notSelectable && model.notSelectable === true); i--) {\n newIncrement++;\n if (lastPageIndex - newIncrement > 0) {\n model = this.coll.at(this.coll.length - newIncrement);\n }\n if (STR.isBlank(model) || model.notSelectable === true) {\n model = null;\n }\n }\n this._manageRowSelection(model);\n }\n\n this.trigger(\"scroll:to\", this.coll.totalRecords);\n } else {\n //It is needed to paginate to first page\n this.coll.goTo(lastPageIndex, function() {\n self.selectLastRow();\n self.trigger(\"scroll:to\", self.coll.totalRecords);\n });\n }\n },\n\n /**\n * Select the previous row of the current selected row on the table.\n */\n selectPreviousRow: function() {\n var index = this.coll.indexOf(this.get(\"value\"));\n var newIncrement = 1;\n var model = this.coll.at(index - newIncrement);\n if (model && model.notSelectable === true) {\n for (var i = index - newIncrement; i >= 0 && (model.notSelectable === true); i--) {\n newIncrement++;\n if (index - newIncrement >= 0) {\n model = this.coll.at(index - newIncrement);\n }\n }\n }\n if (index > 0 && (model.notSelectable !== true)) {\n this._manageRowSelection(model);\n this.trigger(\"scroll:toIfHidden\", index, -newIncrement);\n } else {\n this._manageRowSelection(null);\n this.trigger(\"scroll:toIfHidden\", index, -newIncrement);\n }\n },\n\n /**\n * Select the next row of the current selected row on the table.\n */\n selectNextRow: function() {\n var index = this.coll.indexOf(this.get(\"value\"));\n if (index === -1) {\n // Avoid start selection in the first row if no row is\n // previously selected\n return;\n }\n if (index < this.coll.length - 1) {\n var newIncrement = 1;\n var model = this.coll.at(index + newIncrement);\n if (STR.isBlank(model) || model.notSelectable === true) {\n for (var i = index + newIncrement; i < this.coll.length && (model.notSelectable === true); i++) {\n model = this.coll.at(i);\n }\n }\n if (STR.isBlank(model) || model.notSelectable !== true) {\n this._manageRowSelection(model);\n this.trigger(\"scroll:toIfHidden\", index, newIncrement);\n } else {\n this._manageRowSelection(null);\n this.trigger(\"scroll:toIfHidden\", index, newIncrement);\n }\n }\n },\n\n /**\n * Methods to lock a column, lock a column mean that this column disappear\n * and can't be show with the menu\n */\n lock: function(key) {\n this.trigger(\"lock:column\", key);\n },\n\n /**\n * Methods to unlock a column, the column is showed again on the menu to display it.\n */\n unlock: function(key) {\n this.trigger(\"unlock:column\", key);\n },\n\n /**\n * Method to block a column,\n * blocking a column mean that this column can't be hidden/shown with the menu.\n */\n block: function(key) {\n this.trigger(\"block:column\", key);\n },\n\n /**\n * Method to unblock a column, this column can be hidden/shown with the menu.\n */\n unblock: function(key) {\n this.trigger(\"unblock:column\", key);\n },\n\n /**\n * Function that triggers the reset of the height of the rows.\n */\n resetRowHeight: function() {\n this.trigger(\"reset:rowHeight\");\n }\n});\n","import { HABILITATION } from '../../utils/habilitation.js';\nimport { HEADERS } from '../../utils/headers.js';\nimport { objs } from '../../objectsRepository.js';\nimport { STR } from '../../utils/str.js';\n\n/**\n * BaseCollection : base collection to use instead of the backbone collection\n *\n */\nexport var BaseCollection = Backbone.Collection.extend({\n /**\n * Initializes the special attributes of this collection\n *\n */\n dummy: \"\",\n\n /**\n\t * Checks habilitations and if they are correct, fetches the collection\n\n * responds fetch without errors\n\t */\n fetch: function(options) {\n var l_options = options ? _.clone(options) : {};\n\n if (!STR.isBlank(this.version)) {\n var currentVersion = _.isObject(this.version) ? this.version.GET : this.version;\n this.setHeaders(l_options, HEADERS.versionContext(currentVersion));\n }\n\n if (this.activeSimulation === true) {\n this.prepareSimulation(l_options);\n }\n\n if (this.habContext) {\n this._prepareEcranHeader(l_options);\n this.setHeaders(l_options, this.habContext.header());\n if (this.usePopulation === true) {\n this.preparePopulation(l_options);\n }\n\n return Backbone.Collection.prototype.fetch.call(this, l_options);\n\n } else {\n this._checkHabilitations();\n this._prepareEcranHeader(l_options);\n\n if (this.habilitationV === \"N\" || HABILITATION.canView(this.habilitationV)) {\n if (this.usePopulation === true) {\n this.preparePopulationAndHabiliation(l_options);\n } else {\n this.setHeaders(l_options, HEADERS.habilitationContext(this.usecase, this.habilitationV));\n }\n\n return Backbone.Collection.prototype.fetch.call(this, l_options);\n\n } else {\n if (Configuration.development === true && STR.isBlank(this.habilitationV)) {\n throw new Error(\"The habilitation is not properly configured\");\n }\n\n if (l_options.success) {\n l_options.success(this, null, l_options);\n }\n }\n }\n return $.Deferred().resolve();\n },\n\n /**\n * Checks that habilitationV, habilitationG and usecase are informed. If they are not an error is shown\n */\n _checkHabilitations: function() {\n if (STR.isBlank(this.habilitationV)) {\n throw new Error(\"View Habilitation must be defined or set to empty string if not used.\");\n }\n if (STR.isBlank(this.habilitationG)) {\n throw new Error(\"Management Habilitation must be defined or set to empty string if not used.\");\n }\n if (STR.isBlank(this.usecase)) {\n throw new Error(\"Usecase name must be defined.\");\n }\n },\n\n /**\n * Includes population Ident and Type in header\n */\n preparePopulationAndHabiliation: function(options) {\n var popId = \"0\",\n popType = null,\n popCode = null,\n popNat = null,\n popDesc = null;\n if (!_.isUndefined(this.popId) && !STR.isBlank(this.popType)) {\n popId = this.popId;\n popType = this.popType;\n popCode = this.popCode;\n popNat = this.popNat;\n popDesc = this.popDesc;\n } else if (!STR.isBlank(objs.populationMenu) && !STR.isBlank(objs.populationMenu.model)) {\n popId = objs.populationMenu.model.get(\"ident\");\n popType = objs.populationMenu.model.get(\"type\");\n popCode = objs.populationMenu.model.get(\"code\");\n popNat = objs.populationMenu.model.get(\"nature\");\n popDesc = objs.populationMenu.model.get(\"desc\");\n }\n\n this.setHeaders(options, HEADERS.habilitationContext(this.usecase, this.habilitationV));\n\n if (STR.isBlank(popId)) {\n popId = \"0\"; // by default we force gfi-population at \"0\"\n }\n if (STR.isBlank(popNat)) {\n popNat = \"\";\n } else if (popNat === \"M\") {\n popNat = \"C\";\n }\n if (STR.isBlank(popCode)) {\n popCode = \"\";\n }\n if (STR.isBlank(popDesc)) {\n popDesc = \"\";\n }\n if (STR.isBlank(popType)) {\n popType = \"D\";\n }\n this.setHeaders(options, HEADERS.populationContext(popId, popType, popCode, popNat, popDesc));\n },\n\n /**\n * Includes population Ident and Type in header\n */\n preparePopulation: function(options) {\n var popId = null,\n popType = null,\n popCode = null,\n popNat = null,\n popDesc = null;\n\n var populationModel = objs.populationMenu ? objs.populationMenu.model : null;\n\n if (!_.isUndefined(this.popId)) {\n popId = this.popId;\n } else if (populationModel && populationModel.get(\"ident\")) {\n popId = populationModel.get(\"ident\");\n }\n if (!STR.isBlank(this.popType)) {\n popType = this.popType;\n } else if (populationModel && populationModel.get(\"type\")) {\n popType = populationModel.get(\"type\");\n }\n if (!STR.isBlank(this.popCode)) {\n popCode = this.popCode;\n } else if (populationModel && populationModel.get(\"code\") && !STR.isBlank(populationModel.get(\"nature\"))) {\n popCode = populationModel.get(\"code\");\n }\n if (!STR.isBlank(this.popNat)) {\n popNat = this.popNat;\n } else if (populationModel) {\n popNat = populationModel.get(\"nature\");\n }\n if (!STR.isBlank(this.popDesc)) {\n popDesc = this.popDesc;\n } else if (populationModel) {\n popDesc = populationModel.get(\"desc\");\n }\n\n if (STR.isBlank(popId)) {\n popId = \"0\"; // by default we force gfi-population at \"0\"\n }\n if (STR.isBlank(popNat)) {\n popNat = \"\";\n } else if (popNat === \"M\") {\n popNat = \"C\";\n }\n if (STR.isBlank(popCode)) {\n popCode = \"\";\n }\n if (STR.isBlank(popType)) {\n popType = \"D\";\n } else if (popType === \"M\") {\n popType = \"D\";\n }\n this.setHeaders(options, HEADERS.populationContext(popId, popType, popCode, popNat, popDesc));\n },\n\n prepareSimulation: function(options) {\n var sim = !STR.isBlank(this.simulationData) ? this.simulationData : objs.simulationModel;\n if (!STR.isBlank(sim)) {\n var datedeb = sim.get(\"datedeb\");\n\n var passreel = false\n if (objs.ctxAffReelPasse === true) {\n passreel = true\n }\n\n this.setHeaders(options, HEADERS.simulationContext(sim.get(\"code\"), datedeb, sim.get(\"datefin\"), passreel));\n }\n },\n\n /**\n * Prepares model header for server calls\n */\n _prepareEcranHeader: function(options) {\n if (!STR.isBlank(this.ecran)) {\n this.setHeaders(options, HEADERS.ecranContext(this.ecran));\n }\n },\n\n /**\n * Adds options.header to current header\n * responds without errors\n * responds with an error\n */\n setHeaders: function(options, header) {\n if (options.headers) {\n options.headers = _.extend(options.headers, header);\n } else {\n options.headers = header;\n }\n },\n /**\n * Sets collection's habilitations and usecase to values passed\n */\n setHabilitation: function(V, G, usecase) {\n if (!STR.isBlank(V)) {\n this.habilitationV = V;\n }\n if (!STR.isBlank(G)) {\n this.habilitationG = G;\n }\n if (!STR.isBlank(usecase)) {\n this.usecase = usecase;\n }\n },\n\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n setVersion: function(version) {\n this.version = version;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n },\n\n /**\n * Copies current attributes to the property oldAttributes. This property can be accessed in the future to revert changes\n */\n store: function() {\n this.oldModels = _.clone(JSON.stringify(this.toJSON()));\n },\n\n /**\n * Sets current model attributes to values that were stored (oldAttributes).\n */\n revert: function() {\n if (this.oldModels) {\n this.reset(this.parse(JSON.parse(this.oldModels)));\n }\n }\n});\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","import { objs } from '../objectsRepository.js';\nimport { UTILS } from '../utils/utils.js';\n\nexport var onBeforeSend = function(headers) {\n if (UTILS) {\n if (headers[\"gfi-context\"]) {\n if (objs && objs.appRt &&\n (objs.appRt.blocked === true || objs.appRt.hidderDisabled === true)) {\n //don't show usecase hidder when app is blocked\n } else {\n UTILS.showUsecaseHidder(JSON.parse(headers[\"gfi-context\"]).onglet);\n }\n\n }\n }\n}","import { ReadOnlyModel } from '../../models/readOnly.model.js';\n\nexport var LoginTestConnModel = ReadOnlyModel.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n /**\n * habilitationV\n */\n habilitationV: \"N\",\n /**\n * habilitationG\n */\n habilitationG: \"N\",\n /**\n * usecase\n */\n usecase: \"Login_test\",\n /**\n * url\n */\n url: Configuration.restRoot + \"/rest/authentification/testconnexion\",\n\n /**\n * Constructor\n * Login Test connection model\n */\n initialize: function(options) {\n if (options && options.param) {\n this.param = options.param;\n }\n this.timeout = 5000;\n if (options && options.timeout) {\n this.timeout = options.timeout;\n }\n },\n parse: function(response) {\n if (response.x_token_key) {\n Configuration.x_token_key = response.x_token_key;\n }\n }\n\n});","import { HABILITATION } from '../../../utils/habilitation.js';\nimport { STR } from '../../../utils/str.js';\nimport TPL_common_dropDownViewContainerComponent from './dropDownViewContainerComponent.tpl.html';\n\n/**\n * Auxiliar view for Dialog Vue journée\n */\nexport var BlockView = Backbone.View.extend({\n\n initialize: function(options) {\n this.template = TPL_common_dropDownViewContainerComponent;\n this.templateHTML = $(this.template());\n this.$block = this.templateHTML;\n this.$icon = this.templateHTML.find(\".phx-block-title-icon\");\n this.$title = this.templateHTML.find(\".phx-block-title-text\");\n this.$content = this.templateHTML.find(\".phx-block-content\");\n\n //flag for build menu\n this.contentVoid = true;\n\n this.titleHTML = null;\n this.iconHidden = false;\n if (!STR.isBlank(options)) {\n if (options.hSeparator) {\n this.iconHidden = options.iconHidden;\n }\n this.detailTemplate = options.detailTemplate;\n if (!STR.isBlank(options.expanded)) {\n this.expanded = options.expanded;\n } else {\n this.expanded = false;\n }\n this.component = options.component;\n this.buttons = options.buttons;\n this.buttonsLine = options.buttonsLine;\n this.hSeparator = false;\n if (options.hSeparator) {\n this.hSeparator = options.hSeparator;\n }\n this.ctxEcran = options.ctxEcran;\n this.popupGerer = false;\n if (options.popupGerer) {\n this.popupGerer = options.popupGerer;\n }\n this.secondaryAff = false;\n if (options.component === \"journee_affectations\" && options.typeAff === \"AS\" || options.typeAff === \"AE\") {\n this.secondaryAff = true;\n }\n }\n // Set WAI-ARIA attributes\n this.$block.attr(\"role\", \"region\");\n this.$block.attr(\"tabindex\", \"0\");\n this.withFocus = false;\n },\n\n menuBar: false,\n\n setButtons: function(arrayButtons) {\n this.buttons = arrayButtons;\n },\n\n setButtonsLine: function(arrayButtons) {\n this.buttonsLine = arrayButtons;\n },\n\n events: {\n \"click span.phx-block-title-icon\": \"_clickHandler\",\n \"keydown\": \"_keydownHandler\"\n },\n\n canAccess: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationAcces &&\n HABILITATION.canView(this.context.ctxHabilitation.HabilitationAcces);\n },\n\n canManage: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationGestion &&\n HABILITATION.canView(this.context.ctxHabilitation.HabilitationGestion);\n },\n\n canCreate: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationGestion &&\n HABILITATION.canCreate(this.context.ctxHabilitation.HabilitationGestion);\n },\n\n canUpdate: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationGestion &&\n HABILITATION.canUpdate(this.context.ctxHabilitation.HabilitationGestion);\n },\n\n canDelete: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationGestion &&\n HABILITATION.canDelete(this.context.ctxHabilitation.HabilitationGestion);\n },\n\n canValidate: function() {\n return this.context && this.context.ctxHabilitation && this.context.ctxHabilitation.HabilitationValidation &&\n HABILITATION.canView(this.context.ctxHabilitation.HabilitationValidation);\n },\n\n render: function(keepVisualizationState) {\n this.$el.html(this.templateHTML);\n\n this.$title.html(this.titleHTML);\n\n if (this.iconHidden) {\n this.$icon.hide();\n\n if (this.ctxEcran === \"agenda\" && this.secondaryAff === false) {\n this.$title.css(\"margin-left\", \"0.4em\");\n }\n }\n\n if (this.expanded === true) {\n this.expand();\n }\n\n // show the bar\n var self = this;\n // show the bar\n $(this.el).find(\".phx-block-title\").hover(\n function(e) {\n //self._hoverBtnTitle(e);\n self._onHoverBtnTitle(e);\n },\n function(e) {\n self._onHoverLeftBtnTitle(e);\n }\n );\n\n // slice the position of the bar\n $(this.el).find(\".phx-block-title-text\").mousemove(function(event) {\n if (event.target.className.indexOf(\"phx-block-title-text\") !== -1) {\n $(\".phx-block-menu-multi-icons\").css(\"left\", event.offsetX + \"px\");\n }\n });\n\n if (this.hSeparator === true) {\n this.$el.append(\"
        \");\n }\n\n if (keepVisualizationState !== true) {\n this.hideBlock();\n if (STR.isBlank(this.context) === false) {\n this.showBlock();\n }\n }\n\n if (this.ctxEcran === \"agenda\" && this.secondaryAff === true) {\n this.templateHTML.find(\".phx-block-title\").css(\"margin-left\", \"2em\");\n this.$content.css(\"margin-left\", \"4em\");\n }\n\n return this;\n },\n\n _clickHandler: function() {\n if (!STR.isBlank(this.$icon) && this.$icon.length > 0 && this.$icon.css(\"display\") !== \"none\") {\n if (this.$icon.hasClass(\"phx-icon-triangle-e\")) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n },\n\n _keydownHandler: function(e) {\n if (e.target.className.split(\" \")[0] === \"phx-block\") {\n var key = e.which || e.keyCode;\n if (key === 13 /* enter */ || key === 32 /* space */ ) {\n e.preventDefault();\n this._clickHandler();\n }\n }\n },\n\n setTitle: function(html) {\n this.titleHTML = html;\n if (this.canAccess() && !STR.isBlank(this.$title) && this.$title.length > 0) {\n this.$title.html(this.titleHTML);\n // Set WAI-ARIA attributes\n this.$block.attr(\"labelledby\", this.cid + \"-vuejournee-component\");\n this.$title.attr(\"id\", this.cid + \"-vuejournee-component\");\n } else {\n // Set WAI-ARIA attributes\n this.$block.attr(\"labelledby\", \"\");\n }\n },\n\n /**\n * When we hover the title, it will show a button bar\n */\n _hoverBtnTitle: function(event) {\n if (event.type === \"mouseenter\") { // When the mouse enter on the title block\n var self = this;\n if (this.menuBar !== true) {\n // Define the JQuery buttons\n this.JQueryBtn = [];\n _.each(this.buttons, function(button) {\n var htmlButton = '' + button.text + '';\n\n self.JQueryBtn.push($(htmlButton).button());\n });\n\n // We show a btnBar and handle the click event\n this.$el.find(\".phx-block-title\").prepend(this.JQueryBtn);\n //this.$el.find(\".btn_vue_\" + this.component).css(\"float : right\");\n $(\".btn_vue_\" + this.component).click(function(event) {\n self._manageButtons(event);\n });\n } else {\n if (!STR.isBlank(this.buttons)) {\n var div = $(\"
        \").addClass(\"menu_btn_vue_\" + this.component);\n div.addClass(\"phx-block-menu-multi-icons\");\n div.css(\"display\", \"inline-block\");\n //div.css(\"float\", \"right\");\n _.each(this.buttons, function(button) {\n var span = \"\";\n\n if (!STR.isBlank(button.text)) {\n span = '' + button.text + '';\n } else {\n span = '';\n }\n\n div.append(span);\n });\n\n this.$el.find(\".phx-block-title\").prepend(div);\n\n $(div).css(\"z-index\", \"100\");\n $(div).css(\"position\", \"absolute\"); // <<< also make it absolute!\n $(div).position({\n my: \"left top\",\n at: \"left bottom\",\n of: event.currentTarget\n });\n\n $(div).css(\"top\", parseInt($(div).css(\"top\")) - 4);\n\n $(\"span.menu_btn_vue_\" + this.component).click(function(event) {\n self._manageButtons(event);\n });\n $(\"div.phx-block-menu-multi-icons\").mouseleave(function(event) {\n self._hoverBtnTitle(event);\n });\n\n }\n }\n\n } else if (!(event.type === \"mouseleave\" && $(event.relatedTarget).hasClass(\"menu_btn_vue_\" + this.component))) { // When the mouse get out the title block\n this.$el.find(\".phx-block-title .btn_vue_\" + this.component).remove();\n this.$el.find(\".phx-block-title .phx-block-menu-multi-icons\").remove();\n }\n },\n\n _onHoverBtnTitle: function(event) {\n var self = this;\n var parent = $(event.currentTarget);\n parent.css(\"position\",\"relative\");\n if (this.menuBar !== true) {\n var element = parent.find(\".btn_vue_\" + this.component);\n\n if (element.length === 0) {\n this.JQueryBtn = [];\n _.each(this.buttons, function(button) {\n var htmlButton = '' + button.text + '';\n\n self.JQueryBtn.push($(htmlButton).button());\n });\n\n parent.prepend(this.JQueryBtn);\n\n $(\".btn_vue_\" + this.component).click(function(event) {\n self._manageButtons(event);\n });\n }\n } else {\n var element = parent.find(\".menu_btn_vue_\" + this.component);\n\n if (element.length === 0 && !STR.isBlank(this.buttons)) {\n var div = $(\"
        \").addClass(\"menu_btn_vue_\" + this.component);\n div.addClass(\"phx-block-menu-multi-icons\");\n div.css({\n \"display\": \"inline-block\",\n \"position\": \"absolute\",\n \"float\": \"left\",\n \"z-index\": \"100\",\n \"left\": event.offsetX ,\n \"top\": \"75%\"\n });\n\n _.each(this.buttons, function(button) {\n if (!STR.isBlank(button.text)) {\n var span = '' + button.text + '';\n } else {\n var span = '';\n }\n\n div.append(span);\n });\n\n parent.prepend(div);\n\n $(\".menu_btn_vue_\" + this.component).click(function(e) {\n self._manageButtons(e);\n });\n\n $(event.currentTarget).children(\":not(.menu_btn_vue_\" + this.component + \")\").bind('mousemove', function(e) {\n div.css({\n \"left\": parseInt(e.offsetX) ,\n });\n });\n\n div.bind('mouseleave', function(e) {\n var parent = $(e.relatedTarget);\n\n if (!parent.hasClass(\"phx-block-title\")) {\n parent = parent.parents(\".phx-block-title\").first();\n }\n\n if (parent.find(\".menu_btn_vue_\" + self.component).length === 0) {\n self.$el.find(\".phx-block-title .btn_vue_\" + self.component).remove();\n self.$el.find(\".phx-block-title .phx-block-menu-multi-icons\").remove();\n }\n });\n }\n }\n },\n\n _onHoverLeftBtnTitle: function(event) {\n if (!$(event.relatedTarget).hasClass(\"menu_btn_vue_\" + this.component)) {\n this.$el.find(\".phx-block-title .btn_vue_\" + this.component).remove();\n this.$el.find(\".phx-block-title .phx-block-menu-multi-icons\").remove();\n }\n },\n\n _onHoverBtnLine: function(event) {\n var self = this;\n var parent = $(event.currentTarget);\n parent.css(\"position\",\"relative\");\n var element = parent.find(\".line_btn_vue_\" + this.component);\n if (element.length === 0) {\n var div = $(\"
        \").addClass(\"line_btn_vue_\" + this.component);\n div.addClass(\"phx-block-menu-multi-icons\");\n div.css({\n \"display\": \"inline-block\",\n \"position\": \"absolute\",\n \"float\": \"left\",\n \"z-index\": \"100\",\n \"left\": event.offsetX ,\n \"top\": \"75%\"\n });\n\n var key = event.currentTarget.className.split(\" \")[1];\n\n var showButton = false;\n\n _.each(this.buttonsLine, function(buttonLine) {\n var valid = true;\n\n if (buttonLine.validateLine) {\n valid = buttonLine.validateLine(buttonLine.id, key);\n }\n if (valid) {\n showButton = true;\n }\n\n if (valid) {\n var span = \"\";\n if (!STR.isBlank(buttonLine.text)) {\n span = '' + buttonLine.text + '';\n } else {\n span = '';\n }\n\n div.append(span);\n }\n });\n\n $(event.currentTarget).children().bind('mousemove', function(e) {\n div.css({\n \"left\": parseInt(e.offsetX) ,\n });\n });\n\n if (showButton) {\n parent.prepend(div);\n }\n\n $(\".line_btn_vue_\" + this.component).click(function(e) {\n self._manageButtonsLine(e, key);\n e.stopPropagation();\n });\n\n div.bind('mouseleave', function(e) {\n self._onHoverLeftBtnLine(e);\n });\n }\n },\n\n _onHoverLeftBtnLine: function(event) {\n if (!$(event.relatedTarget).hasClass(\"line_btn_vue_\" + this.component)) {\n this.$el.find(\".phx-block-content .phx-block-menu-multi-icons\").remove();\n }\n },\n\n /**\n * When we hover a line, it will show a button bar\n */\n _hoverBtnLine: function(event, key) {\n var parent = $(event.currentTarget);\n parent.parent().css(\"position\",\"relative\");\n if (event.type === \"mouseenter\") { // When the mouse enter on the title block\n var self = this;\n var spans = [];\n _.each(this.buttonsLine, function(buttonLine) {\n var valid = true;\n var disabled = false;\n if (buttonLine.validateLine) {\n valid = buttonLine.validateLine(buttonLine.id, key);\n }\n if (buttonLine.disableLine) {\n disabled = buttonLine.disableLine(buttonLine.id, key);\n }\n if (valid) {\n var span = \"\";\n\n if (disabled) {\n if (!STR.isBlank(buttonLine.text)) {\n span = '' + buttonLine.text + '';\n } else {\n span = '';\n }\n } else {\n if (!STR.isBlank(buttonLine.text)) {\n span = '' + buttonLine.text + '';\n } else {\n span = '';\n }\n }\n\n spans.push(span);\n }\n\n });\n\n if (spans.length > 0) {\n var div = $(\"
        \").addClass(\"line_btn_vue_\" + this.component);\n div.addClass(\"phx-block-menu-multi-icons\");\n div.css(\"display\", \"inline-block\");\n _.each(spans, function(span) {\n div.append(span);\n });\n this.$el.find(\".phx-block-content\").prepend(div);\n $(\".line_btn_vue_\" + this.component).click(function(event) {\n self._manageButtonsLine(event, key);\n event.stopPropagation();\n });\n\n $(div).css(\"z-index\", \"100\");\n $(div).css(\"position\", \"absolute\"); // <<< also make it absolute!\n\n $(div).position({\n my: \"left top\",\n at: \"left bottom\",\n of: event.currentTarget\n });\n\n $(div).css(\"top\", parseInt($(div).css(\"top\")) - 3);\n\n $(\"div.phx-block-menu-multi-icons\").mouseleave(function(event) {\n self._hoverBtnLine(event);\n });\n $(\".phx-block-content-line.\" + key).mousemove(function(event) {\n self._hoverBtnLine(event);\n });\n }\n\n } else if (event.type === \"mousemove\") {\n this.$el.find(\".phx-block-content .phx-block-menu-multi-icons\").css(\"left\", event.offsetX + \"px\");\n } else if (!(event.type === \"mouseleave\" && $(event.relatedTarget).hasClass(\"line_btn_vue_\" + this.component))) {\n this.$el.find(\".phx-block-content .phx-block-menu-multi-icons\").remove();\n }\n },\n\n /**\n * JS Interface.\n */\n _manageButtons: function() {\n return false;\n },\n\n _manageButtonsLine: function() {\n return false;\n },\n\n setContent: function(html) {\n if (this.canAccess() && !STR.isBlank(this.$content) && this.$content.length > 0) {\n this.$content.html(html);\n }\n },\n\n hideIcon: function() {\n this.iconHidden = true;\n if (this.canAccess() && !STR.isBlank(this.$icon) && this.$icon.length > 0) {\n this.collapse();\n this.$icon.hide();\n if (this.ctxEcran === \"agenda\") {\n this.$title.css(\"margin-left\", \"0.4em\");\n }\n }\n },\n\n showIcon: function() {\n this.iconHidden = false;\n if (this.canAccess() && !STR.isBlank(this.$icon) && this.$icon.length > 0) {\n this.$icon.show();\n if (this.ctxEcran === \"agenda\") {\n this.$title.css(\"margin-left\", \"\");\n }\n if (this.context && this.context.ctxBlocEstDeplie) {\n if (this.context.ctxBlocEstDeplie === true) {\n this.expand();\n }\n }\n }\n },\n\n collapse: function() {\n if (this.canAccess() && !STR.isBlank(this.$icon) && this.$icon.length > 0 &&\n !STR.isBlank(this.$content) && this.$content.length > 0) {\n this.$icon.removeClass(\"phx-icon-triangle-s\");\n this.$icon.addClass(\"phx-icon-triangle-e\");\n this.$content.hide();\n this.expanded = false;\n this.model.trigger(\"collapse\", this);\n // Set WAI-ARIA attributes\n this.$block.attr(\"aria-expanded\", false);\n this.$content.attr(\"aria-hidden\", true);\n }\n },\n\n expand: function() {\n if (this.canAccess() && !STR.isBlank(this.$icon) && this.$icon.length > 0 &&\n !STR.isBlank(this.$content) && this.$content.length > 0) {\n this.$icon.removeClass(\"phx-icon-triangle-e\");\n this.$icon.addClass(\"phx-icon-triangle-s\");\n this.$content.show();\n this.expanded = true;\n this.model.trigger(\"expand\", this);\n // Set WAI-ARIA attributes\n this.$block.attr(\"aria-expanded\", true);\n this.$content.attr(\"aria-hidden\", false);\n }\n },\n\n hideBlock: function() {\n this.$el.hide();\n },\n\n showBlock: function() {\n if (this.canAccess()) {\n this.$el.show();\n }\n },\n\n /*\n * Returns True when icon is not hidden.\n */\n isEmpty: function() {\n return (this.$el.css(\"display\") === \"none\") ||\n (!STR.isBlank(this.$icon) && this.$icon.length > 0 && this.$icon.css(\"display\") === \"none\");\n },\n\n isExpanded: function() {\n return this.expanded;\n },\n\n _manageBlocEstDeplie: function() {\n if (this.context && this.context.ctxBlocEstDeplie === true) {\n this.expand();\n } else {\n this.collapse();\n }\n },\n\n _generateContent: function() {\n return false;\n },\n\n setContext: function() {\n return false;\n },\n\n _loadData: function() {\n return false;\n }\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nmodule.exports = require('./is-implemented')() ? Symbol : require('./polyfill');\n","module.exports = require('./dist/commonjs/index.js').default;\n","import { DataGridModel } from 'core/grids/data_grid/dataGrid.model.js';\nimport { DataGridView } from 'core/grids/data_grid/dataGrid.view.js';\nimport { i18n } from '../../../../i18n.js';\nimport { STR } from '../../../../utils/str.js';\nimport { SYNC } from '../../../../utils/sync.js';\nimport { TYPE } from '../../../../tda/tda.js';\nimport TPL_badgeage_badgeage_compte_dialog from '../badgeage_compte_dialog.tpl.html';\n\n/**\n * Badgeage Virtuel Dialog\n */\nexport var BadgeageVirtuelDialogView = Backbone.View.extend({\n\n initialize: function(options) {\n if (options && options.parent) {\n this.parent = options.parent;\n }\n if (options && options.heure) {\n this.heure = options.heure;\n }\n this.template = TPL_badgeage_badgeage_compte_dialog;\n\n if (options && options.model) {\n this.badgVirtModel = options.model;\n }\n if (options && options.collection) {\n this.badgVirtComptColl = options.collection;\n }\n\n if (options && options.title) {\n this.title = options.title;\n }\n\n if (options && options.subtitle) {\n this.subtitle = options.subtitle;\n }\n },\n\n _initCompteursTable: function() {\n var tableModel = new DataGridModel({\n coll: this.badgVirtComptColl\n });\n var tblColumns = [{\n title: i18n.t('common:bvMenu_comptLib'),\n property: \"libelle\",\n width: 200\n }, {\n title: i18n.t('common:bvMenu_comptVal'),\n property: \"valeur\"\n }];\n var table = new DataGridView({\n columns: tblColumns,\n model: tableModel,\n gridHeightType: \"auto\",\n parentContainer: this.parent\n });\n\n table.cellRenderers[\"libelle\"] = function(model) {\n var span = $(\"\").attr(\"title\", i18n.t('common:bvMenu_infoLibelle')).text(model.get(\"libelle\"));\n return span;\n };\n\n table.cellRenderers[\"valeur\"] = function(model) {\n var span = $(\"\").attr(\"title\", i18n.t('common:bvMenu_infoValeur')).text(model.get(\"valeur\"));\n if (model.get(\"valeur\").indexOf(\"-\") != -1) {\n span.addClass(\"ui-phx-valorisation-negative\");\n }\n return span;\n };\n\n table.setSortableColumns(\"libelle\");\n\n $(this.parent.el).on(\"dialogresize\", function() {\n table._resizeGrid();\n });\n\n return table;\n },\n\n render: function() {\n var json = { 'i18n': i18n };\n this.$el.append(this.template(json));\n\n var bvcompte = this.$el.find(\".bvcompte\");\n var bvcompteurs = this.$el.find(\".bvcompteurs\");\n if (this.badgVirtModel) {\n bvcompte.show();\n bvcompteurs.hide();\n bvcompte.html(\"\");\n if (!STR.isBlank(this.badgVirtModel.get(\"cptrendu\"))) {\n bvcompte.append(\"\" + this._buildMessage(this.badgVirtModel.get(\"cptrendu\"), this.badgVirtModel.get(\"parametres\")) + \"\");\n bvcompte.append(\"
        \");\n }\n if (!STR.isBlank(this.badgVirtModel.get(\"message1\"))) {\n bvcompte.append(\"\" + this.badgVirtModel.get(\"message1\") + \"\");\n bvcompte.append(\"
        \");\n }\n if (!STR.isBlank(this.badgVirtModel.get(\"message2\"))) {\n bvcompte.append(\"\" + this.badgVirtModel.get(\"message2\") + \"\");\n bvcompte.append(\"
        \");\n }\n } else if (this.badgVirtComptColl && this.badgVirtComptColl.length > 0) {\n if (this.subtitle) {\n this.$el.find(\".bvcompteurs-valorisation\").hide();\n this.$el.find(\".bvcompteurs-compteurs-instantanes\").html(this.subtitle).show();\n } else {\n var valorisation = i18n.t('common:bvMenu_valorisation') + \" \" + TYPE.DATE.dateToStr(SYNC.getServerDate(), \"DD/MM/YYYY\");\n this.$el.find(\".bvcompteurs-compteurs-instantanes\").hide();\n this.$el.find(\".bvcompteurs-valorisation\").html(valorisation).show();\n }\n\n bvcompte.hide();\n bvcompteurs.show();\n if (this.parent._setTitle && this.title) {\n this.parent._setTitle(this.title);\n } else if (this.parent._setTitle) {\n this.parent._setTitle(i18n.t('common:bvMenu_comptTitle', { \"0\": this.badgVirtComptColl.length }));\n }\n var tableCompteurs = this._initCompteursTable();\n bvcompteurs.html(tableCompteurs.el);\n tableCompteurs.render();\n } else {\n this.parent._setTitle(i18n.t('common:bvMenu_comptTitle', { \"0\": 0 }));\n bvcompteurs.html(i18n.t('common:bvMenu_infoNoDisponible'));\n }\n\n $(this.parent.el).css(\"height\", \"auto\");\n\n return this;\n },\n\n _buildMessage: function(message, parametres) {\n var result = null;\n if (!STR.isBlank(message)) {\n result = message;\n if (!STR.isBlank(parametres) && parametres.length > 0) {\n for (var i = 0; i < parametres.length; i++) {\n var next = i + 1;\n result = result.replace(\"@\" + next, parametres[i][\"@\" + next]);\n }\n }\n }\n return result;\n }\n});","'use strict';\n\nvar assign = require('es5-ext/object/assign')\n , normalizeOpts = require('es5-ext/object/normalize-options')\n , isCallable = require('es5-ext/object/is-callable')\n , contains = require('es5-ext/string/#/contains')\n\n , d;\n\nd = module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif ((arguments.length < 2) || (typeof dscr !== 'string')) {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (dscr == null) {\n\t\tc = w = true;\n\t\te = false;\n\t} else {\n\t\tc = contains.call(dscr, 'c');\n\t\te = contains.call(dscr, 'e');\n\t\tw = contains.call(dscr, 'w');\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== 'string') {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (get == null) {\n\t\tget = undefined;\n\t} else if (!isCallable(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (set == null) {\n\t\tset = undefined;\n\t} else if (!isCallable(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (dscr == null) {\n\t\tc = true;\n\t\te = false;\n\t} else {\n\t\tc = contains.call(dscr, 'c');\n\t\te = contains.call(dscr, 'e');\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","import TPL_common_combo_box_item from './combo_box_item.tpl.html';\n\nexport var ComboBox2ResultItemView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-list-builder-item ui-corner-all\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"span\",\n\n /**\n * Event launched when the remove icon is clicked\n *\n */\n\n events: {\n \"click .phx-list-builder-item-icon\": \"_removeItem\"\n },\n\n /**\n * Constructor\n * View underlying a List builder element\n */\n initialize: function(params) {\n this.template = TPL_common_combo_box_item;\n this.data = {};\n this.data.label = \"\";\n if (params && params.label) {\n this.data.label = params.label;\n }\n if (params && params.model) {\n this.model = params.model;\n }\n },\n\n /**\n * Paints the view of List builder element\n */\n render: function() {\n $(this.el).html(this.template(this.data));\n\n return this;\n },\n\n /**\n * Removes the current element\n */\n _removeItem: function(event) {\n this.model.trigger(\"click:item\", this.model, event);\n }\n\n});","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n '+\n((__t=(i18n.t('login:pwdtitle2')))==null?'':__t)+\n'\\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n \\n\t\t\t\t\\n\t\t\t\t\\n\t\t\t\t
        \\n\t\t\t\t
        \\n\t\t\t
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n
        \\n \\n \\n \\n
        \\n
        ';\n}\nreturn __p;\n};\n","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='\\n';\n}\nreturn __p;\n};\n","import { BaseModel } from './base.model.js';\n\n\nexport var RemoteFileModel = BaseModel.extend({\n\n dummy: \"\",\n\n /**\n * habilitationV\n */\n habilitationV: \"\",\n /**\n * habilitationG\n */\n habilitationG: \"\",\n /**\n * usecase\n */\n usecase: \"\",\n /**\n * canViewTreatment\n */\n canViewTreatment: true,\n /**\n * urlRoot\n */\n urlRoot: Configuration.restRoot + \"/rest/fichier\",\n\n /**\n * Constructor\n * Remote File Model\n */\n initialize: function() {\n //empty\n },\n /**\n * Default data model\n *\t\"code\": null,\n *\t\"libelle\": \"\",\n *}\n */\n defaults: {\n \"code\": null,\n \"libelle\": \"\"\n },\n /**\n * Process to manage the response\n */\n parse: function(response) {\n if (response && response.code) {\n this.id = response.code;\n }\n return response;\n },\n\n setHabContext: function(habContext) {\n this.habContext = habContext;\n },\n\n updateHabContext: function(attributes) {\n if (this.habContext) {\n this.habContext.update(attributes);\n }\n },\n\n getHabContext: function() {\n return this.habContext;\n }\n});","import { BaseModel } from '../../models/base.model.js';\n\nimport { i18n } from '../../../i18n.js';\nimport { STR } from '../../../utils/str.js';\n\nexport var LoginPasswordModel = BaseModel.extend({\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * Default data model\n *\tpassword : \"\",\n *\tpwd_new : \"\",\n *\tpwd_confirm : \"\"\n *}\n */\n defaults: {\n password: \"\",\n pwd_new: \"\",\n pwd_confirm: \"\"\n },\n /**\n * urlRoot\n */\n urlRoot: Configuration.restRoot + \"/rest/authentification\",\n\n /**\n * Constructor\n * Login Password Model\n */\n initialize: function(options) {\n if (options && options.param) {\n this.param = options.param;\n }\n },\n /**\n * Validation\n */\n validate: function(attrs) {\n var errors = {};\n\n if (!STR.isBlank(attrs.pwd_new) && !STR.isBlank(attrs.password) && attrs.pwd_new === attrs.password && (STR.isBlank(this.premiere) || this.premiere === false)) {\n errors.pwd_new = i18n.t('messages:GT_1248');\n } else if (!STR.isBlank(attrs.pwd_confirm) && !STR.isBlank(attrs.pwd_new) && attrs.pwd_confirm !== attrs.pwd_new) {\n errors.pwd_confirm = i18n.t('messages:GT_1089');\n }\n\n if (!_.isEmpty(errors)) {\n var errorMap = {\n errorValidation: STR.formatMessage(errors),\n errors: errors\n };\n return errorMap;\n }\n return null;\n }\n});","import { FORMS } from '../../../utils/forms.js';\nimport { HabilitationContext } from '../../models/habilitationContext.js';\nimport { i18n } from '../../../i18n.js';\nimport { LOG } from '../../../utils/log.js';\nimport { LoginPasswordModel } from './loginPassword.model.js';\nimport { STR } from '../../../utils/str.js';\nimport TPL_common_detailMotPasse from './detailMotPasse.tpl.html';\n\nexport var LoginChangePwdDialogView = Backbone.View.extend({\n\n //REVIEW: \ti18n : phx.i18n.ppmpd,\n\n initialize: function(options) {\n if (options && !STR.isBlank(options.premiere)) {\n this.premiere = options.premiere;\n }\n if (options && !STR.isBlank(options.message)) {\n this.message = options.message;\n }\n\n this.template = TPL_common_detailMotPasse;\n\n if (options && options.parent) {\n this.parent = options.parent;\n this.parent._setTitle(i18n.t('login:pwdtitle'));\n }\n if (options && options.parentView) {\n this.parentView = options.parentView;\n }\n\n // CUSTOMER 157455\n if (options && options.loginView) {\n this.loginView = options.loginView;\n }\n if (options && options.operation) {\n this.operation = options.operation;\n }\n\n this.saved = false;\n\n this.loginPasswordModel = new LoginPasswordModel();\n this.loginPasswordModel.setHabContext(new HabilitationContext({\n onglet: \"password\",\n fonc_cour: \"N\",\n nat_gest: \"\"\n }));\n this.loginPasswordModel.premiere = this.premiere;\n },\n\n events: {\n \"click .motpassecontinue\": function() {\n this._continue(this);\n },\n \"click .motpassecancel\": function() {\n this._close(this);\n }\n },\n\n _showValidationErrors: function(model, errors) {\n LOG.debug(\"ERROR saving...\" + errors);\n if (errors && _.has(errors, \"errorValidation\")) {\n if (_.has(errors, \"errors\")) {\n var fieldErrors = errors.errors;\n FORMS.showErrors($(this.el), fieldErrors);\n }\n }\n },\n\n _cleanValidationErrors: function() {\n FORMS.cleanErrors($(this.el));\n },\n\n _continue: function(view) {\n var self = this;\n\n view._cleanValidationErrors();\n view.loginPasswordModel.id = \"password\";\n view.loginPasswordModel.set(\"password\",\n sjcl.codec.base64.fromBits(sjcl.codec.utf8String.toBits($(\"#password\").val())), {\n silent: true\n });\n view.loginPasswordModel.set(\"pwd_new\",\n sjcl.codec.base64.fromBits(sjcl.codec.utf8String.toBits($(\"#pwd_new\").val())), {\n silent: true\n });\n view.loginPasswordModel.set(\"pwd_confirm\",\n sjcl.codec.base64.fromBits(sjcl.codec.utf8String.toBits($(\"#pwd_confirm\").val())), {\n silent: true\n });\n var errors = view.loginPasswordModel.validate(view.loginPasswordModel.attributes);\n if (!_.isNull(errors)) {\n view._showValidationErrors(view.loginPasswordModel, errors);\n return;\n }\n view.loginPasswordModel.save(null, {\n success: function() {\n self.saved = true;\n var loginData = { user: null, pass: null };\n\n // CUSTOMER 157455\n if (self.loginView && self.operation == \"badgeage\") {\n //$(\"#user_pass\").val($(\"#pwd_new\").val());\n loginData.user = self.loginView.$el.find(\"#user_login\").val();\n loginData.pass = $(\"#pwd_new\").val();\n }\n\n view.parent.close();\n if (self.parentView) {\n self.parentView._logon(null, view.loginPasswordModel.get(\"pwd_new\"));\n }\n\n // CUSTOMER 157455\n if (self.loginView && self.operation == \"badgeage\") {\n self.loginView._badger(loginData);\n }\n\n }\n });\n },\n\n _close: function(view) {\n view.parent.close();\n },\n\n render: function() {\n var json = { \"i18n\": i18n };\n this.$el.html(this.template(json));\n\n this.$el.find(\".ctxGestionCollab\").hide();\n if (this.premiere == true) {\n this.$el.find(\".old_password\").hide();\n } else {\n this.$el.find(\".old_password\").show();\n }\n if (!STR.isBlank(this.message)) {\n this.$el.find(\".messages\").text(this.message);\n }\n\n $(this.el).find(\".motpassecontinue\").button({ text: true });\n $(this.el).find(\".motpassecancel\").button({ text: true });\n this._cleanValidationErrors();\n\n return this;\n }\n});","import { SplitPanelView } from './splitPanel.view.js';\nimport TPL_common_liste_detail_panel from './liste_detail_panel.tpl.html';\n\n/**\n * ListeDetail Panel View\n */\nexport var ListeDetailPanelView = SplitPanelView.extend({\n\n dummy: \"\",\n /**\n * className\n */\n className: \"phx-splitPanel phx-listeDetailPanel\",\n /**\n * firstTemplate\n */\n firstTemplate: TPL_common_liste_detail_panel,\n /**\n * Renders this view\n */\n render: function() {\n SplitPanelView.prototype.render.call(this);\n var panelB1 = this.$el.find(\".phx-panelB1\");\n var panelB2 = this.$el.find(\".phx-panelB2\");\n var panelB3 = this.$el.find(\".phx-panelB3\");\n var panelB4 = this.$el.find(\".phx-panelB4\");\n\n // Synchronize scrolls\n this.$el.find(\".phx-panelB4\").scroll(function() {\n panelB1.scrollLeft(panelB4.scrollLeft());\n panelB2.scrollLeft(panelB4.scrollLeft());\n panelB3.scrollLeft(panelB4.scrollLeft());\n });\n return this;\n }\n});","import { GLOBAL_DATA } from '../globalData.js';\nimport { STR } from './str.js';\n/**\n * Utility to get the divers parameters.\n */\nexport var DIVERS = {\n\n get: function(id) {\n var l_rtn = null;\n\n if (!STR.isBlank(id) && GLOBAL_DATA.paramDivers && GLOBAL_DATA.paramDivers.get(id)) {\n l_rtn = GLOBAL_DATA.paramDivers.get(id).get(\"valeur\");\n }\n return l_rtn;\n }\n};","import { STR } from '../../../utils/str.js';\nimport TPL_common_selecteur_referentiel_item from './selecteur_referentiel_item.tpl.html';\n\nexport var SelecteurReferentielResultItemView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-referentiel-item ui-corner-all\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"span\",\n\n /**\n * Event launched when the remove icon is clicked\n *\n */\n\n events: {\n \"click .phx-referentiel-item-icon\": \"_removeItem\"\n },\n\n /**\n * Constructor\n * View underlying a Selecteur de referentiel selected item\n */\n initialize: function(params) {\n /**\n * HTML template of the view\n */\n this.template = TPL_common_selecteur_referentiel_item;\n if (params && !STR.isBlank(params.itemTitle)) {\n this.itemTitle = params.itemTitle;\n }\n this.readonly = false;\n if (params && params.readonly === true) {\n this.readonly = true;\n }\n },\n\n /**\n * Paints the view of selected item\n */\n render: function() {\n var json = { readonly: this.readonly, model: this.model.attributes };\n\n $(this.el).html(this.template(json));\n\n if (STR.isBlank(this.itemTitle) === false) {\n var title = this.itemTitle(this.model);\n $(this.el).find(\".phx-referentiel-item-text\").attr(\"title\", title);\n }\n return this;\n },\n\n /**\n * Removes the current element\n */\n _removeItem: function() {\n if (this.readonly === false) {\n this.model.trigger(\"click:item\", this.model);\n }\n }\n\n});","import { AutocompleteColl } from '../combo/autocomplete.collection.js';\nimport { DialogView } from '../../views/dialog.view.js';\nimport { FORMS } from '../../../utils/forms.js';\nimport { i18n } from '../../../i18n.js';\nimport { LOG } from '../../../utils/log.js';\nimport { ReadOnlyModel } from '../../models/readOnly.model.js';\nimport { SelecteurReferentielResultItemView } from './selecteurReferentielResultItem.view.js';\nimport { STR } from '../../../utils/str.js';\nimport TPL_common_selecteur_referentiel from './selecteur_referentiel.tpl.html';\n\nexport var SelecteurReferentielView = Backbone.View.extend({\n\n dummy: \"\",\n\n /**\n * Name of the html tag which involves the view\n */\n tagName: \"div\",\n\n /**\n * Name of the container class of the view\n */\n className: \"phx-selecteur-referentiel\",\n\n /**\n * Alias for the messages to show in this view\n */\n //REVIEW: \ti18n : phx.i18n.common,\n\n /**\n * Minimum length of the string to activate the search\n */\n minSearchLength: Configuration.selecteurReferentiel.minCharactersToSearch,\n\n /**\n * Indicator for the multiselection\n */\n multiselection: false,\n\n /**\n * Maximum number of results to display in every search\n */\n maxResultItems: Configuration.selecteurReferentiel.maxResultItems,\n\n /**\n * Indicator to show or not the complet mode\n */\n modeComplet: false,\n\n /**\n * Indicator for the readonly issue\n */\n readonly: false,\n\n /**\n * Indicator for display title\n */\n displayTitle: true,\n\n /**\n * Indicator for columns to display\n */\n displayAllColumns: true,\n\n /**\n * Columns to display in case that display columns is false,\n */\n displayColumns: null,\n /*\n *Add extra button to dialog\n */\n extraButton: {},\n\n showPlusIcon: false,\n\n /**\n * Event launched when the complete mode button is clicked\n *\n */\n /**\n * Event launched when the autocompletion list is showed\n *\n */\n /**\n * Event launched when an element of the autocompletion list is selected\n *\n */\n /**\n * Event launched when the input field of the component is focused\n *\n */\n /**\n * Event launched when the value of the input field of the component changes\n *\n */\n\n events: {\n \"click .phx-referentiel-button\": \"_openDetailPopup\",\n \"autocompleteselect\": \"_selectItem\",\n \"focus .phx-referentiel-input\": \"_focused\",\n \"change .phx-referentiel-input\": \"_changeItem\",\n \"autocompleteopen\": \"_openlist\"\n },\n\n /**\n * Constructor\n * Model underlying a referentiel selector component view\n */\n initialize: function(a_params) {\n var params = a_params || {};\n\n /**\n * Model of the view\n */\n this.model = new ReadOnlyModel({ defaults: { value: \"\" } });\n\n /**\n * HTML template of the view\n */\n this.template = TPL_common_selecteur_referentiel;\n\n /**\n * Title of the view\n */\n this.title = \"\";\n\n /**\n * Height of the component\n */\n this.height = 500;\n\n /**\n * Width of the component\n */\n this.width = 800;\n\n /**\n * Width of the input field of the component\n */\n this.fieldWidth = \"100%\";\n\n /**\n * Required indicator of the component\n */\n this.required = false;\n\n /**\n * Additional filter params\n * */\n this.searchParams = {};\n\n /**\n * Collection of the list\n */\n this.coll = undefined;\n if (!STR.isBlank(params.coll)) {\n this.coll = params.coll;\n this.coll.pagination.size = this.maxResultItems;\n }\n\n /**\n * Name of the component\n */\n this.name = undefined;\n if (!STR.isBlank(params.name)) {\n this.name = params.name;\n }\n\n if (params.minLength > 1) {\n this.minSearchLength = params.minSearchLength;\n }\n\n this.multiselection = (params.multiselection === true);\n\n if (params && !STR.isBlank(params.readonly)) {\n this.readonly = params.readonly;\n }\n\n if (!STR.isBlank(params.view) && this.readonly === false) {\n /**\n * View of the complet mode\n */\n this.view = params.view;\n\n /**\n * View data of the complet mode\n */\n this.viewData = params.viewData;\n\n /**\n * Mode complet indicator\n */\n this.modeComplet = true;\n }\n\n /**\n * Displays columns title and content options\n */\n\n if (params && !STR.isBlank(params.displayTitle)) {\n this.displayTitle = params.displayTitle;\n }\n\n if (params && !STR.isBlank(params.displayAllColumns)) {\n this.displayAllColumns = params.displayAllColumns;\n }\n\n if (params && !STR.isBlank(params.displayColumns)) {\n this.displayColumns = params.displayColumns;\n }\n\n /**\n * Render function for every component of the list\n */\n this.itemRenderer = null;\n if (!STR.isBlank(params.itemRenderer)) {\n this.itemRenderer = params.itemRenderer;\n }\n\n if (!STR.isBlank(params.title)) {\n this.title = params.title;\n }\n\n if (!STR.isBlank(params.height)) {\n this.height = params.height;\n }\n\n if (!STR.isBlank(params.width)) {\n this.width = params.width;\n }\n\n /**\n * Width of the component's list\n */\n if (!STR.isBlank(params.listWidth)) {\n var l_regxplist = /^([0-9\\.]+)[%]?$/g;\n if (l_regxplist.test(params.listWidth) || params.listWidth === \"auto\") {\n this.listWidth = params.listWidth;\n } else {\n throw new Error(\"the listWidth must be numeric (\" + this.name + \")\");\n }\n }\n\n if (!STR.isBlank(params.fieldWidth)) {\n var l_regxp = /^([0-9\\.]+)[%]?$/g;\n if (l_regxp.test(params.fieldWidth) || params.fieldWidth === \"auto\") {\n this.fieldWidth = params.fieldWidth;\n } else {\n throw new Error(\"the fieldWidth must be numeric (\" + this.name + \")\");\n }\n }\n\n /**\n * height of the component's list\n */\n if (!STR.isBlank(params.listHeight)) {\n var l_regxplistHeight = /^([0-9\\.]+)[%]?$/g;\n if (l_regxplistHeight.test(params.listHeight) || params.listHeight === \"auto\") {\n this.listHeight = params.listHeight;\n } else {\n throw new Error(\"the listHeight must be numeric (\" + this.name + \")\");\n }\n }\n\n /**\n * Function to generate itemtooltip\n */\n if (params && !STR.isBlank(params.itemTitle)) {\n this.itemTitle = params.itemTitle;\n } else {\n this.itemTitle = null;\n }\n\n if (!STR.isBlank(params.required)) {\n this.required = params.required;\n }\n if (!STR.isBlank(params.searchParams)) {\n this.searchParams = params.searchParams;\n }\n\n // called with the selected items\n /**\n * Callback function executed when we add an item to the selection\n * This function will be executed for EACH element on the list, so\n * is not executed once when list has 4 elements and we added one more..\n */\n this.addItemCallback = params.addItemCallback;\n\n /**\n * Callback function executed when we added one item to the list, so\n * we clear the list to fill from zero.\n *\n * Used to notify when the list must be cleared\n */\n this.clearItemsCallback = params.clearItemsCallback;\n\n /**\n * Callback function executed when we remove an item from the selection\n */\n this.removeItemCallback = params.removeItemCallback;\n\n // response list filled with user selection\n /**\n * Selection of elements of the component\n */\n\n /**\n * Type selecteur is tree or not\n */\n this.typeTree = false\n if (!STR.isBlank(params.typeTree)) {\n this.typeTree = params.typeTree;\n }\n\n this.selection = new AutocompleteColl();\n this.selection.itemRenderer = this.itemRenderer;\n this.selection.on(\"click:item\", this._removeItem, this);\n this.selection.on(\"reset\", this._resetItems, this);\n\n if (params && !_.isUndefined(params.extraButton)) {\n this.extraButton = params.extraButton;\n }\n\n if (params && !_.isUndefined(params.hideRecherche)) {\n this.hideRecherche = params.hideRecherche;\n }\n\n if (params && !_.isUndefined(params.hideAppliquerSelection)) {\n this.hideAppliquerSelection = params.hideAppliquerSelection;\n }\n\n if (params && !_.isUndefined(params.hideAnnulerSelection)) {\n this.hideAnnulerSelection = params.hideAnnulerSelection;\n }\n\n if (params && !_.isUndefined(params.showIconPlus)) {\n this.showIconPlus = params.showIconPlus;\n }\n\n if (params && !_.isUndefined(params.customPositionItems)) {\n this.customPositionItems = params.customPositionItems;\n }\n\n if (params && !_.isUndefined(params.overrideButtonActions) && !_.isNull()) {\n this.overrideButtonActions = params.overrideButtonActions;\n }\n if (params && params.parent) {\n this.parent = params.parent;\n }\n },\n\n /**\n * Returns the selected values of the component\n */\n _valuesFilter: function(values) {\n // Override this method to treat the values before showing them\n return values;\n },\n\n /**\n * Returns the selected values of the component\n */\n _valuesHeader: function(values) {\n // Override this method to add non selectable values at the header before showing them\n return values;\n },\n\n /**\n * Paints the view of the selecteur de referentiel component\n */\n render: function() {\n var self = this,\n options = {\n \"showIconPlus\": this.showIconPlus\n }\n var horpe = null;\n var horpo = null;\n\n $(this.el).html(this.template(options));\n\n // instantiate/configure component\n\n $(this.el).find(\".phx-referentiel-input\").removeClass(\"phx-referentiel-input\").addClass(this.name + \" phx-referentiel-input\");\n $(this.el).find(\".referentiel-error-container\").css(\"display\", \"table\");\n $(this.el).find(\".referentiel-error-container\").removeClass(\"referentiel-error-container\").addClass(this.name + \"-error-container\");\n\n if (!this.readonly) {\n this.appended = false;\n this.input = $(this.el).find(\".phx-referentiel-input\").autocomplete({\n minLength: this.minSearchLength,\n source: function(request, response) {\n var term = request.term;\n if (self.coll) {\n /* if (!STR.isBlank(self.coll.context)) {\n if (!STR.isBlank(self.coll.context.ctxUtilCollab)) {\n horpe = self.coll.context.ctxUtilCollab || false;\n }\n if (!STR.isBlank(self.coll.context.ctxUtilAct)) {\n horpo = self.coll.context.ctxUtilAct || false;\n }\n }*/\n var paramsFil = {\n \"search\": term\n };\n /* if (horpe) {\n paramsFil.horpe = true;\n }\n if (horpo) {\n paramsFil.horpo = true;\n }*/\n self.coll.applyFilter(_.extend({}, self.searchParams, paramsFil));\n self.coll.pagination.size = self.maxResultItems;\n self.coll.fetch({\n success: function() {\n var collection = new AutocompleteColl();\n collection.itemRenderer = self.itemRenderer;\n self.coll = self._valuesHeader(self.coll);\n\n // add message to list if more results exists\n if (self.coll.totalRecords > self.maxResultItems) {\n var message = \"\";\n if (self.modeComplet === true) {\n message = i18n.t('messages:GL_1007');\n } else {\n message = i18n.t('messages:GL_1006');\n }\n var info = new ReadOnlyModel({ code: null, libelle: message });\n collection.add([info.toJSON()], { parse: true });\n } else {\n collection.add(self.coll.toJSON(), { parse: true });\n }\n var values = self._valuesFilter(collection.toJSON());\n\n response(values);\n },\n error: function() {\n $(self.input).val('');\n LOG.error(\"Error loading list\");\n }\n });\n }\n },\n position: {\n my: \"left top\",\n at: \"left bottom\",\n of: $(this.el).find(\".phx-referentiel-input\"),\n collision: \"flipfit\"\n },\n create: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n if ($('html').is('.ie6, .ie7, .ie8, .ie9')) {\n $(menu.activeMenu).css(\"position\", \"relative\");\n } else {\n $(menu.activeMenu).css(\"position\", \"fixed\");\n }\n $(this).data('ui-autocomplete')._resizeMenu = function() {\n if (self.coll.totalRecords <= self.maxResultItems) {\n //Show element list with the width of the widthst element\n var lis = this.menu.element.find(\"li\");\n var padding = parseInt(this.menu.element.css(\"padding-left\").replace(\"px\", \"\")) + parseInt(this.menu.element.css(\"padding-right\").replace(\"px\", \"\"));\n var size = lis.length;\n var minWidth = 20;\n for (var i = 0; i < size; i++) {\n var currentWith = FORMS.getWidthFromMirror(lis.eq(i).text(), lis.eq(i));\n currentWith += padding;\n if (currentWith > minWidth) {\n minWidth = currentWith;\n }\n }\n minWidth += 12;\n if (size > 20) {\n minWidth += 12; // adjusted to show the scroll\n }\n this.menu.element.innerWidth(minWidth);\n } else { //When there are more items than maximum allowed, show sentence with the same width than input width\n var parentWidth = $(self.el).css(\"width\");\n $(\".phx-referentiel-input\", self.el).autocomplete(\"widget\").css(\"width\", parentWidth);\n }\n if (self.appended === false) {\n //AppendTo option in order to let jquery recalculate z-index for each element\n $(self.input).autocomplete(\"option\", \"appendTo\", null);\n self.appended = true;\n }\n\n };\n },\n open: function() {\n var menu = $(this).data(\"ui-autocomplete\").menu;\n menu.activeMenu.addClass(\"phx-selecteur-referentiel-autocomplete-menu\");\n self._registerOneWheelEvent();\n }\n });\n // color search term in result list\n $(this.input).data(\"ui-autocomplete\")._renderItem = function(ul, item) {\n\n var keywords = $.trim(this.term).split(' ').join('|');\n var output = item.label;\n try {\n output = item.label.replace(new RegExp(\"(\" + keywords + \")\", \"gi\"),\n '$1');\n } catch (err) {\n LOG.debug(\"Selecteur referentiel (erreur): \" + err);\n }\n\n $(ul).css(\"z-index\", 110);\n\n if (STR.isBlank(item.attrs.id)) {\n if (item.attrs.useAsFilter) {\n return $(\"
      • \").addClass(\"ui-state-disabled\").html(\"\" + item.label + \"\").appendTo(ul);\n } else {\n return $(\"
      • \").addClass(\"ui-state-disabled\").html('' + item.label + '').appendTo(ul);\n }\n }\n return $(\"
      • \").append($(\"\").html(output)).appendTo(ul);\n };\n }\n\n //apply width to the component wrapper\n this.$el.find(\".phx-referentiel-wrap\").css(\"width\", this.fieldWidth);\n\n //If this referentiel is required reduce 12 px to prevent bad placement in tables\n if (!STR.isBlank(this.required) && this.required === true) {\n var selWidth = this.$el.find(\".phx-referentiel-wrap\").css(\"width\");\n this.$el.find(\".phx-referentiel-wrap\").css(\"width\", \"calc(\" + selWidth + \" - 1em)\");\n this.$el.find(\".phx-referentiel-input\").attr(\"aria-required\", \"true\");\n\n }\n //apply width class to the input and remove button if not complete mode\n if (this.modeComplet) {\n if ((this.fieldWidth + \"\").indexOf(\"%\") === -1) {\n if (this.showIconPlus == true) {\n this.$el.find(\".phx-referentiel-input\").css(\"width\", this.fieldWidth - 38 + \"px\");\n } else {\n this.$el.find(\".phx-referentiel-input\").css(\"width\", this.fieldWidth - 22 + \"px\");\n }\n } else {\n if (this.showIconPlus == true) {\n this.$el.find(\".phx-referentiel-input\").css(\"width\", \"calc(\" + this.fieldWidth + \" - 38px)\");\n } else {\n this.$el.find(\".phx-referentiel-input\").css(\"width\", \"calc(\" + this.fieldWidth + \" - 22px)\");\n }\n }\n } else {\n $(this.el).find(\".phx-referentiel-button\").remove();\n this.$el.find(\".phx-referentiel-input\").css(\"width\", \"calc(100% - 4px)\");\n }\n\n this.$el.find(\".phx-referentiel-selection\").css(\"display\", \"inherit\");\n\n //create view reference\n this.$el.find(\".phx-referentiel-input\").prop(\"viewRef\", this);\n\n return this;\n },\n\n /**\n * Sets and paints the selected values\n */\n setValues: function(coll) {\n this.selection.reset(null, { silent: true });\n if (coll && coll instanceof Backbone.Collection) {\n this.selection.add(coll.toJSON(), { parse: true });\n }\n\n // paint selected values\n this._paintItems();\n },\n\n /**\n * Gets the selected values\n */\n getValues: function() {\n return this.selection;\n },\n\n /**\n * Sets the readonly indicator\n */\n setReadOnly: function(readOnly) {\n var fieldset = this.$el.find(\".phx-referentiel-wrap\");\n\n this.readonly = readOnly;\n fieldset = this.$el.find(\".phx-referentiel-wrap\");\n FORMS.setInputFieldReadonly(fieldset, this.name, this.readonly);\n\n if (this.modeComplet === true) {\n if (readOnly === true) {\n this.$el.find(\".phx-referentiel-button\").hide();\n } else {\n this.$el.find(\".phx-referentiel-button\").show();\n }\n }\n },\n\n /**\n * Paints the selected elements of the component\n */\n _paintItems: function() {\n var self = this;\n $(this.el).find(\".phx-referentiel-selection\").empty();\n\n if (this.multiselection) {\n _.each(this.selection.models, function(value) {\n var itemView = new SelecteurReferentielResultItemView({ \"model\": value, \"itemTitle\": self.itemTitle, \"readonly\": self.readonly });\n $(self.el).find(\".phx-referentiel-selection\").append(itemView.render().el);\n });\n\n if (this.selection.models.length === 0) {\n this.$el.find(\".phx-referentiel-selection\").css(\"display\", \"inherit\");\n } else {\n this.$el.find(\".phx-referentiel-selection\").css(\"display\", \"\");\n }\n\n this.$el.find(\".phx-referentiel-selection\").position({\n my: \"left top\",\n at: (_.isUndefined(this.customPositionItems)) ? \"left bottom\" : this.customPositionItems,\n of: self.$el.find(\".phx-referentiel-wrap\")\n });\n } else {\n // render item in input field (no multiselection)\n if (this.selection.models.length > 0) {\n if (this.selection.at(0).get(\"attrs\").multiDomain) {\n this.selection.at(0).set(\"label\", this.selection.at(0).get(\"attrs\").libelle);\n }\n this.$el.find(\".phx-referentiel-input\").val(this.selection.at(0).get(\"label\"));\n this.$el.find(\".phx-referentiel-selection\").css(\"display\", \"inherit\");\n } else {\n this.$el.find(\".phx-referentiel-input\").val(\"\");\n }\n\n }\n },\n\n /**\n * Add a new item to the selection of the component\n */\n _selectItem: function(event, ui) {\n this._addItem(ui.item.attrs);\n return false;\n },\n\n /**\n * Changes a item in the current selection\n */\n _changeItem: function(event) {\n var value = $(event.target).val();\n var model = null;\n if (this.multiselection === false && STR.isBlank(value) && this.addItemCallback) {\n model = new this.coll.model;\n this.addItemCallback(model.attributes);\n } else {\n if (this.multiselection === false) {\n if (!this.selection.at(0) || value !== this.selection.at(0).get(\"label\")) { //User typed an invalid value\n model = new this.coll.model;\n if (this.addItemCallback) {\n this.addItemCallback(model.attributes);\n }\n $(this.el).find(\".phx-referentiel-selection\").empty();\n this.selection.reset();\n }\n }\n }\n var $input = $(this.el).find(\".phx-referentiel-input\");\n if ($input.data(\"ui-tooltip\") && this.selection.length === 0) {\n $input.tooltip(\"option\", \"content\", \"\");\n }\n },\n\n /**\n * Adds an element to the selection and executes its related callback if exists\n */\n _addItem: function(attrs) {\n if (this.multiselection === true) {\n // clear input field and set focus to it.\n $(this.el).find(\".phx-referentiel-input\").val(\"\");\n $(this.el).find(\".phx-referentiel-input\").focus();\n } else {\n $(this.el).find(\".phx-referentiel-selection\").empty();\n this.selection.reset();\n }\n\n // add item to selection list\n if (STR.isBlank(this.selection.get(attrs.id))) {\n this.selection.add([attrs], { parse: true });\n if (this.addItemCallback) {\n this.addItemCallback(attrs);\n }\n\n // paint items\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-referentiel-input\").trigger(\"change\");\n }\n\n // return false to prevent bubbling of event\n return false;\n },\n\n /**\n * Adds some elements to the selection and paints the selection\n */\n _addItems: function(list) {\n if (this.multiselection === true) {\n // clear input field and set focus to it.\n $(this.el).find(\".phx-referentiel-input\").val(\"\");\n $(this.el).find(\".phx-referentiel-input\").focus();\n } else {\n $(this.el).find(\".phx-referentiel-selection\").empty();\n this.selection.reset(null, { silent: true });\n\n }\n\n if (this.clearItemsCallback) {\n this.clearItemsCallback();\n }\n\n _.each(list, function(item) {\n // add item to selection list\n var attrs = item.attributes;\n if (STR.isBlank(this.selection.get(attrs.id))) {\n this.selection.add([attrs], { parse: true });\n if (this.addItemCallback) {\n this.addItemCallback(attrs);\n }\n\n }\n\n }, this);\n\n // paint items\n this._paintItems();\n\n // Notify edition\n $(this.el).find(\".phx-referentiel-input\").trigger(\"change\");\n\n // return false to prevent bubbling of event\n return false;\n },\n\n /**\n * Close autocomplete dropdown when scrolling outside.\n */\n _registerOneWheelEvent: function() {\n var self = this;\n\n $(document).one(\"wheel.\" + this.cid, function(event) {\n self.shouldCloseMenu = false;\n\n // wheel on the list\n try {\n if ($(event.target).attr(\"id\") === $(self.input).autocomplete(\"widget\").attr(\"id\") || $(self.input).autocomplete(\"widget\").find(event.target).length > 0) {\n self._registerOneWheelEvent();\n return;\n } else if ($(self.input).autocomplete(\"widget\").find(event.target).length === 0) {\n if ($(self.input).autocomplete(\"widget\").is(\":visible\")) {\n $(self.input).autocomplete(\"close\");\n if (STR.isBlank(self.currentCode)) {\n self._paintItems();\n }\n }\n self.shouldCloseMenu = false;\n }\n } catch (e) {\n LOG.error(\"Autocomplete__registerOneWheelEvent: \" + e);\n }\n });\n },\n\n /**\n * Repaints the items of the component\n */\n _resetItems: function() {\n // paint items\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-referentiel-input\").trigger(\"change\");\n },\n\n /**\n * Deletes an element from the selection\n */\n _removeItem: function(model) {\n // remove item from collection\n this.selection.remove(model);\n\n if (this.removeItemCallback) {\n this.removeItemCallback(model.attributes.attrs);\n }\n\n $(this.el).find(\".phx-referentiel-input\").trigger(\"focus\");\n // repaint\n this._paintItems();\n // Notify edition\n $(this.el).find(\".phx-referentiel-input\").trigger(\"change\");\n },\n\n /**\n * Resets the selection\n */\n clean: function() {\n this.$el.find(\".phx-referentiel-input\").val(\"\");\n this.selection.reset();\n var $input = this.$el.find(\".phx-referentiel-input\");\n if ($input.data('ui-tooltip')) {\n $input.tooltip('destroy');\n }\n },\n\n /**\n * Opens the detail opoup view\n */\n _openDetailPopup: function() {\n var self = this;\n this.coll.pagination.size = Configuration.pageSize;\n if (!STR.isBlank(this.popup)) {\n this.popup.remove();\n this.popup = null;\n }\n /**\n * View of the detail popup of the component\n */\n this.popup = new DialogView({\n view: this.view,\n viewData: {\n coll: this.coll,\n name: this.name,\n currentSelection: this.selection,\n context: this.context,\n excludedItems: this.arrExcludeIds,\n data: this.viewData,\n multiselection: this.multiselection,\n displayTitle: this.displayTitle,\n displayAllColumns: this.displayAllColumns,\n displayColumns: this.displayColumns,\n searchParams: this.searchParams\n }\n });\n /*\n if (STR.isBlank(this.arrExcludeIds)) {\n if (this.coll.workflow.attributes.utilCode) {\n var utilCode = parseInt(this.coll.workflow.get(\"utilCode\"));\n this.popup.viewData.excludedMySelf = [utilCode];\n }\n }\n */\n this.popup.setHeight(this.height);\n this.popup.setWidth(this.width);\n this.popup._eventsBB = function(event, value) {\n if (event === \"response\") {\n self.popupResponse = value;\n }\n\n if (event === \"close\") {\n self.popup.close();\n self._popupResponseCallback(value);\n }\n };\n\n // set buttons\n var btn = [{\n text: i18n.t('common:apply'),\n click: function() {\n $(this).dialog(\"close\");\n self._popupResponseCallback(\"y\");\n }\n }, {\n text: i18n.t('common:cancel'),\n click: function() {\n $(this).dialog(\"close\");\n self._popupResponseCallback(\"n\");\n }\n }];\n\n if (this.hideAppliquerSelection === true) {\n btn.shift();\n }\n\n if (!_.isEmpty(this.extraButton) && this.hideAnnulerSelection === false) {\n this.extraButton.click = this.extraButton.click.bind(self);\n btn.push(this.extraButton);\n }\n\n if (!_.isEmpty(this.overrideButtonActions) && _.isArray(this.overrideButtonActions)) {\n btn = [];\n this.overrideButtonActions.forEach(function(element, index) {\n self.overrideButtonActions[index].click = self.overrideButtonActions[index].click.bind(self);\n });\n btn = this.overrideButtonActions;\n }\n\n try {\n this.popup.open();\n if (this.hideRecherche === true) {\n this.popup.$el.find(\"fieldset.motscles-selecteur-view-size\").hide();\n }\n\n } catch (err) {\n LOG.debug(\"referentiel: \" + err);\n }\n this.popup.dialog.dialog(\"option\", \"buttons\", btn);\n this.popup._setTitle(this.title);\n },\n\n /**\n * Method to be executed when the detail popup is closed\n */\n _popupResponseCallback: function(a_action) {\n var action = a_action.toString().toLowerCase();\n if (action === \"y\" && !STR.isBlank(this.popupResponse)) {\n var list = this.popupResponse;\n if (this.popupResponse instanceof Backbone.Collection) {\n list = this.popupResponse.models;\n } else {\n if (!_.isArray(list)) {\n list = list ? [list] : [];\n }\n }\n var oldSelectedIds = _.map(this.selection.toJSON(), function(num) { return num.id; });\n var oldSelection = this.selection.clone();\n this.selection.reset(null, { silent: true });\n this._addItems(list);\n\n if (this.typeTree === false) {\n var size = oldSelectedIds.length;\n var newList = new Backbone.Collection(list);\n for (var i = 0; i < size; i++) {\n var element = newList.get(oldSelectedIds[i]);\n if (STR.isBlank(element)) {\n this._removeItem(oldSelection.get(oldSelectedIds[i]));\n }\n }\n }\n }\n $(this.el).find(\".phx-referentiel-input\").focus();\n },\n\n /**\n * Method to be executed when the input field of the component is focused\n */\n _focused: function() {\n LOG.debug(\"focused...\");\n },\n\n /**\n * Opens a new list of autocompletion results only if 'listWidth' or 'listHeight'exists and with width 'listWidth' or width height 'listHeight'\n */\n _openlist: function() {\n var lo_css = {};\n\n if (this.listWidth && !STR.isBlank(this.listWidth)) {\n lo_css[\"width\"] = this.listWidth;\n //on change \"overflow-x\" de \"hidden\" à \"auto\" s'il y a listWidth\n lo_css[\"overflow-x\"] = \"auto\";\n }\n if (this.listHeight && !STR.isBlank(this.listHeight)) {\n lo_css[\"height\"] = this.listHeight;\n }\n if (!_.isEmpty(lo_css)) {\n this.$el.find(\"input\").autocomplete(\"widget\").css(lo_css).position({\n my: \"left top\",\n at: \"left bottom\",\n of: $(this.el).find(\".phx-referentiel-input\"),\n collision: \"flipfit\"\n });\n }\n }\n});\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) {\n return (val !== _undefined) && (val !== null);\n};\n","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='\\n\\n';\n}\nreturn __p;\n};\n","import { BaseModel } from 'core/models/base.model.js';\n\n\nexport var ModeBadgModel = BaseModel.extend({\n\n defaults: {\n modebadg: \"\"\n },\n\n url: function() {\n return Configuration.restRoot + \"/rest/badgvirtuel/\" + this.matricule + \"/modebadg\";\n },\n\n initialize: function(options) {\n if (options && options.matricule) {\n this.matricule = options.matricule;\n }\n }\n});","import { BaseModel } from '../../../../../../core/models/base.model.js';\n\nimport { i18n } from '../../../../../../i18n.js';\nimport { STR } from '../../../../../../utils/str.js';\nimport { TYPE } from '../../../../../../tda/tda.js';\n\n/**\n * Model for gerer badgeages\n */\nexport var ListeBadgeageModel = BaseModel.extend({\n checkComments: false,\n\n //REVIEW: \ti18n : phx.i18n.common.gererbadgeages,\n //REVIEW: \ti18nCom : phx.i18n.common,\n\n /**\n * Builds the url for the REST call\n */\n url: function() {\n return Configuration.restRoot + \"/rest/badgeage/composant/\" + this.action;\n },\n\n /**\n * Default data model\n *\t\tid : null,\n *\t\tcode : null,\n *\t\tmatricule: null,\n *\t\tstatut: {\n *\t\t\tcode : \"\",\n *\t\t\tlibelle : \"\"\n *\t\t},\n *\t\tmotif: {\n *\t\t\tcode : \"\",\n *\t\t\tlibelle : \"\"\n *\t\t},\n *\t\tsaisie: {\n *\t\t\tdate : \"\",\n *\t\t\theure : \"\",\n *\t\t\tsens : {\n *\t\t\t code : \"\",\n *\t\t\t libelle : \"\"\n *\t\t }\n *\t\t},\n *\t\tvalorise: {\n *\t\t\tdate : \"\",\n *\t\t\theure : \"\",\n *\t\t\tsens : {\n *\t\t\t code : \"\",\n *\t\t\t libelle : \"\"\n *\t\t }\n *\t\t},\n *\t\tinitial: {\n *\t\t\tdate : \"\",\n *\t\t\theure : \"\",\n *\t\t\tsens : {\n *\t\t\t code : \"\",\n *\t\t\t libelle : \"\"\n *\t\t }\n *\t\t},\n *\t\tfonction: \"\",\n *\t\tcommentaire: \"\",\n *\t\tdroit: null,\n *\t\tiddemande: null,\n *\t\tprovenance: \"\",\n *\t\torigine: null,\n *\t\tterminal: {\n *\t\t\t code : \"\",\n *\t\t\t libelle : \"\"\n *\t\t},\n *\t\tgenere: null\n * }\n */\n defaults: {\n \"id\": null,\n \"code\": null,\n \"matricule\": null,\n \"statut\": {\n \"code\": \"\",\n \"libelle\": \"\"\n },\n \"motif\": {\n \"code\": \"\",\n \"libelle\": \"\"\n },\n \"saisie\": {\n \"date\": \"\",\n \"heure\": \"\",\n \"sens\": {\n code: \"\",\n libelle: \"\"\n }\n },\n \"valorise\": {\n \"date\": \"\",\n \"heure\": \"\",\n \"sens\": {\n code: \"\",\n libelle: \"\"\n }\n },\n \"initial\": {\n \"date\": \"\",\n \"heure\": \"\",\n \"sens\": {\n code: \"\",\n libelle: \"\"\n }\n },\n \"fonction\": \"\",\n \"commentaire\": \"\",\n \"droit\": null,\n \"iddemande\": null,\n \"provenance\": \"\",\n \"origine\": null,\n \"terminal\": {\n code: \"\",\n libelle: \"\"\n },\n \"genere\": null\n\n },\n\n /**\n * Validate the model before launch the REST\n */\n validate: function(attrs) {\n var errors = {};\n var errorMsg;\n errors.saisie = {};\n if (!STR.isBlank(attrs.saisie.date)) {\n errorMsg = TYPE.DATE.validate(attrs.saisie.date);\n if (!STR.isBlank(errorMsg)) {\n errors.saisie.date = errorMsg;\n }\n } else {\n errors.saisie.date = i18n.t('common:required', { \"0\": i18n.t('common:gererbadgeages.date') });\n }\n if (!STR.isBlank(attrs.saisie.heure)) {\n errorMsg = TYPE.HOUR_MINUTE.validate(attrs.saisie.heure);\n if (!STR.isBlank(errorMsg)) {\n errors.saisie.heure = errorMsg;\n }\n } else {\n errors.saisie.heure = i18n.t('common:required', { \"0\": i18n.t('common:gererbadgeages.heure') });\n }\n if (STR.isBlank(attrs.saisie.sens)) {\n errors.saisie.sens = i18n.t('common:required', { \"0\": i18n.t('common:gererbadgeages.sens') });\n }\n if (this.checkComments) {\n if (STR.isBlank(attrs.commentaire)) {\n errors.origine = i18n.t('common:required', { \"0\": i18n.t('common:gererbadgeages.commentaire') });\n }\n }\n\n if (!_.isEmpty(errors.saisie) || !_.isEmpty(errors.origine)) {\n var errorMap = {\n errorValidation: STR.formatMessage(errors),\n errors: errors\n };\n return errorMap;\n }\n return null;\n },\n\n /**\n * Parsed the results returned by the REST,\n * Copy the return matricule + code in the object id\n */\n parse: function(response) {\n if (response.matricule != undefined && response.code != undefined) {\n response.id = response.matricule + \",\" + response.code;\n }\n\n if (response.result) {\n return null;\n }\n return response;\n }\n});\n","import { i18n } from '../../i18n.js';\nimport { ReadOnlyModel } from '../models/readOnly.model.js';\nimport { STR } from '../../utils/str.js';\nimport TPL_common_table_actionbar from './table_actionbar.tpl.html';\n\nexport var ActionBarView = Backbone.View.extend({\n /**\n * Event launched when the model of this view changes its mode\n */\n /**\n * Event launched when the model of this view changes the property enabled\n */\n /**\n * Event launched when the model of this view changes the property rowOrdering\n */\n /**\n * Event launched when there is any event for the model\n */\n /**\n * Event launched when a button is clicked\n */\n /**\n * Event launched when a ui-icon is clicked\n */\n /**\n * Event launched when monter button is clicked\n */\n /**\n * Event launched when descendre button is clicked\n */\n /**\n * Event launched when placer button is clicked\n */\n /**\n * Event launched when premier button is clicked\n */\n /**\n * Add this to have Outline\n *\n */\n dummy: \"\",\n\n /**\n * Constructor\n * Grid bar action View.\n * It's model supports:\n * Events: change:mode, btn:click (buttonId)\n */\n initialize: function(options) {\n\n this.template = TPL_common_table_actionbar;\n\n //For simple models it's not needed to create a specific model\n this.model = new ReadOnlyModel({\n mode: \"\", // E:edition, C:nothing selected, R:row selected\n enabled: true,\n rowOrdering: false\n });\n this.model.on(\"change:mode\", this._manageMode, this);\n this.model.on(\"change:enabled\", this._manageEnabled, this);\n this.model.on(\"change:rowOrdering\", this._manageRowOrdering, this);\n /**\n * Wether all buttons in this view are enabled or not\n */\n this.isEnabled = true;\n /**\n * Wether arrows to move rows are enabled or not\n */\n this.disableArrows = !this.model.get(\"rowOrdering\"); //To manage the ability to click on the arrows\n /**\n * Object that represent all the properties for each button\n */\n this.buttons = {};\n this.buttons.habilitation = [];\n this.buttons.visible = [];\n this.buttons.override = [];\n this.buttons.custom = [];\n this.buttons.visibleInModeC = []; // buttons added manually that are visible when nothing is selected\n // rights set by habilitations\n this.buttons.habilitation[\"delete\"] = true;\n this.buttons.habilitation[\"copy\"] = true;\n this.buttons.habilitation[\"new\"] = true;\n this.buttons.habilitation[\"moveUp\"] = true;\n this.buttons.habilitation[\"moveDown\"] = true;\n this.buttons.habilitation[\"movePlacer\"] = true;\n this.buttons.habilitation[\"movePremier\"] = true;\n // rights set by UC to indicate if button is visible or not\n this.buttons.visible[\"delete\"] = true;\n this.buttons.visible[\"copy\"] = true;\n this.buttons.visible[\"new\"] = true;\n // rights set to indicate if a different behavior than the default\n this.buttons.override[\"delete\"] = false;\n this.buttons.override[\"copy\"] = false;\n this.buttons.override[\"new\"] = false;\n\n // Delegate the events row:* to the coll\n this.model.on(\"all\", function(eventName) {\n if (_.indexOf(eventName, \":\") > 0) {\n var eventParts = eventName.split(\":\");\n var event = eventParts[0];\n var className = eventParts[1];\n switch (event) {\n case \"hide\":\n this.buttons.visible[className] = false;\n break;\n case \"show\":\n this.buttons.visible[className] = true;\n break;\n case \"hab.hide\":\n if (className == \"all\") {\n for (var i in this.buttons.habilitation) {\n this.buttons.habilitation[i] = false;\n }\n this._showRowOrderingArrows(false);\n } else {\n this.buttons.habilitation[className] = false;\n }\n break;\n case \"hab.show\":\n if (className == \"all\") {\n for (var i in this.buttons.habilitation) {\n this.buttons.habilitation[i] = true;\n }\n this._showRowOrderingArrows(true);\n } else {\n this.buttons.habilitation[className] = true;\n }\n break;\n case \"override.hide\":\n this.buttons.override[className] = false;\n break;\n case \"override.show\":\n this.buttons.override[className] = true;\n break;\n case \"custom.hide\":\n this.buttons.custom[className] = false;\n break;\n case \"custom.show\":\n this.buttons.custom[className] = true;\n break;\n case \"moved\":\n if (className === \"hide\") {\n this._refreshMoveLineButtons(true, true);\n } else if (className === \"top\") {\n this._refreshMoveLineButtons(true, false);\n } else if (className === \"bottom\") {\n this._refreshMoveLineButtons(false, true);\n } else if (className === \"enableArrows\") {\n this.disableArrows = false;\n } else if (className === \"disableArrows\") {\n this.disableArrows = true;\n } else {\n this._refreshMoveLineButtons(false, false);\n }\n break;\n default:\n break;\n }\n this._manageMode();\n }\n }, this);\n\n /**\n * External buttons\n */\n this.newButtons = [];\n\n if (options && options.positionNewButtonsOnLeft) {\n this.positionNewButtonsOnLeft = options.positionNewButtonsOnLeft;\n }\n\n /**\n * Object that represent all the titles of infobulle for each button\n * */\n this.buttonsTitle = {};\n },\n\n /**\n * Enables or disables buttons when model property enabled is changed\n */\n _manageEnabled: function() {\n this.enabled(this.model.get(\"enabled\"));\n },\n\n /**\n * Enables or disables buttons\n */\n enabled: function(enable) {\n this.model.set(\"enabled\", enable, { silent: true });\n this.isEnabled = enable;\n if (this.isEnabled) {\n $(this.el).removeClass(\"ui-state-disabled\");\n $(\"button\", this.el).css(\"cursor\", \"\");\n } else {\n $(this.el).addClass(\"ui-state-disabled\");\n $(\"button\", this.el).css(\"cursor\", \"default\");\n }\n },\n\n /**\n * Checks that mode is valid. If it is not an error is shown. Enables/disables buttons\n */\n _manageMode: function() {\n var newMode = this.model.get(\"mode\");\n if (!_.contains([\"E\", \"R\", \"C\"], newMode)) {\n throw new Error(\"Mode not supported in ActionBar : \" + newMode);\n }\n this._disableButtons(newMode);\n\n this._showRowOrderingArrows(newMode === \"R\");\n },\n\n /**\n * Hide/show buttons depending on the mode of the action bar\n */\n _disableButtons: function(mode) {\n var self = this;\n\n var showDeleteMenu = this.buttons.habilitation[\"delete\"] && this.buttons.visible[\"delete\"];\n var overrideShowDeleteMenu = showDeleteMenu && this.buttons.override[\"delete\"];\n\n var showNewMenu = this.buttons.habilitation[\"new\"] && this.buttons.visible[\"new\"];\n\n var showCopyMenu = this.buttons.habilitation[\"copy\"] && this.buttons.visible[\"copy\"];\n\n $(this.el).find(\".new-menu .nwBtn\").html(i18n.t('common:grid.nw'));\n\n switch (mode) {\n case \"E\": // edition\n $(this.el).find(\".delete-menu\").hide();\n $(this.el).find(\".new-menu\").hide();\n _.each(this.newButtons, function(button) {\n $(self.el).find(\".\" + button.buttonAction + \"-menu\").hide();\n });\n break;\n case \"R\": // item selected\n if (showDeleteMenu) {\n $(this.el).find(\".delete-menu\").css(\"display\", \"inline-block\");\n } else {\n $(this.el).find(\".delete-menu\").hide();\n }\n if (showCopyMenu || showNewMenu) {\n $(this.el).find(\".new-menu\").css(\"display\", \"inline-block\");\n $(this.el).find(\".new-menu .ui-icon\").css(\"display\", \"inline-block\");\n\n if (showCopyMenu) {\n $(this.el).find(\".new-menu-content .copy\").show();\n if (!showNewMenu) {\n var l_tmpClass = $(this.el).find(\".new-menu\").attr(\"class\");\n\n l_tmpClass = \"copy-menu \" + l_tmpClass;\n $(this.el).find(\".new-menu\").attr('class', l_tmpClass).removeClass(\"new-menu\");\n l_tmpClass = $(this.el).find(\".copy-menu\").find(\".new\").attr(\"class\");\n l_tmpClass = \"copy \" + l_tmpClass; //first element\n $(this.el).find(\".copy-menu\").find(\".new\").attr(\"class\", l_tmpClass).removeClass(\"new\");\n $(this.el).find(\".copy-menu .nwBtn\").html(i18n.t('common:grid.copy'));\n if (!$(this.el).find(\".copy-menu\").is(\":visible\") && this.buttons.visible[\"copy\"]) {\n $(this.el).find(\".copy-menu\").show();\n }\n }\n } else {\n $(this.el).find(\".new-menu-content .copy\").hide();\n $(this.el).find(\".new-menu .ui-icon\").hide();\n }\n if (showNewMenu) {\n $(this.el).find(\".new-menu-content .new\").show();\n } else {\n $(this.el).find(\".new-menu-content .new\").hide();\n if (showCopyMenu) {\n $(this.el).find(\".copy-menu .ui-icon\").hide();\n } else {\n $(this.el).find(\".new-menu .ui-icon\").hide();\n }\n }\n } else {\n $(this.el).find(\".new-menu\").hide();\n if ($(this.el).find(\".copy-menu\").is(\":visible\") && !this.buttons.visible[\"copy\"]) {\n $(this.el).find(\".copy-menu\").hide();\n }\n }\n\n _.each(this.newButtons, function(button) {\n var action = button.buttonAction;\n if (self.buttons.custom[action] !== false) {\n $(self.el).find(\".\" + action + \"-menu\").css(\"display\", \"inline-block\");\n } else {\n $(self.el).find(\".\" + action + \"-menu\").hide();\n }\n\n if (self.buttons.habilitation[action] === false) {\n $(self.el).find(\".\" + action + \"-menu\").hide();\n }\n });\n\n break;\n case \"C\": // nothing selected\n if (overrideShowDeleteMenu) {\n $(this.el).find(\".delete-menu\").css(\"display\", \"inline-block\");\n } else {\n $(this.el).find(\".delete-menu\").hide();\n }\n\n if (showNewMenu) {\n $(this.el).find(\".new-menu\").css(\"display\", \"inline-block\");\n $(this.el).find(\".new-menu-content\").hide();\n $(this.el).find(\".new-menu .ui-icon\").hide();\n $(this.el).find(\".new-menu-content .copy\").hide();\n $(this.el).find(\".new-menu-content .new\").hide();\n } else {\n $(this.el).find(\".new-menu\").hide();\n if (showCopyMenu) {\n $(this.el).find(\".copy-menu\").hide();\n }\n }\n\n _.each(this.newButtons, function(button) {\n var action = button.buttonAction;\n if (self.buttons.visibleInModeC[action] === true) {\n $(self.el).find(\".\" + action + \"-menu\").css(\"display\", \"inline-block\");\n } else {\n $(self.el).find(\".\" + action + \"-menu\").hide();\n }\n\n if (self.buttons.habilitation[action] === false) {\n $(self.el).find(\".\" + action + \"-menu\").hide();\n }\n });\n break;\n default:\n break;\n }\n },\n\n /**\n * Definition of Jquery events managed by the view\n */\n events: {\n \"click .button\": \"_clickListener\",\n \"click .ui-icon\": \"_toggleMenu\",\n \"click .monter\": \"_clickListenerMove\",\n \"click .descendre\": \"_clickListenerMove\",\n \"click .placer\": \"_clickListenerMove\",\n \"click .premier\": \"_clickListenerMove\",\n \"keydown\": \"_keyEvent\"\n },\n\n /**\n * Manages keydown action\n */\n _keyEvent: function(event) {\n if (event.keyCode === 13 || event.keyCode === 32) { // enter or space\n $(event.target).click();\n event.preventDefault();\n }\n },\n\n /**\n * Manages click over a button\n */\n _clickListener: function(event) {\n\n if (this.isEnabled) {\n var btnClicked = event.target.className.split(\" \")[0];\n this.model.trigger(\"btn:click\", btnClicked);\n }\n\n $(\".new-menu-content\", this.el).hide();\n\n return false;\n },\n\n /**\n * When rows are clicked\n */\n _clickListenerMove: function(event) {\n\n if (this.isEnabled) {\n var btnClicked = event.target.className.split(\" \")[0];\n if (!$(event.target).hasClass(\"ui-state-disabled\")) {\n this.model.trigger(\"btn:click\", btnClicked);\n }\n }\n\n return false;\n },\n\n /**\n * Renders this view\n */\n render: function() {\n var self = this;\n var json = { \"grid\": i18n };\n $(this.el).html(this.template(json));\n\n if (!_.isEmpty(this.buttonsTitle)) {\n _.each(this.buttonsTitle, function(title, button) {\n if (!STR.isBlank(title)) {\n $(self.el).find(\".\" + button).attr(\"title\", title);\n }\n });\n }\n this._renderNewButtons();\n //Default mode\n this._disableButtons(this.model.get(\"mode\"));\n\n // hide arrows that allows moving lines up or down\n this._showRowOrderingArrows(false);\n return this;\n },\n /**\n * Shows/Hides menu with many options\n */\n _toggleMenu: function(event) {\n if ($(event.target).parent().hasClass(\"new-menu\")) {\n this._toggleNewMenu(event);\n } else {\n this._toggleExternalMenu(event, $(event.target).parent()[0].className.split(\" \")[0].replace(\"-menu\", \"\"));\n }\n },\n /**\n * Shows/Hides menu with many options\n */\n _toggleNewMenu: function(event) {\n var self = this;\n\n if (!$(this.el).find(\".new-menu .ui-icon\").is(\":visible\")) {\n if (this.isEnabled) {\n var showCopyMenu = this.buttons.habilitation[\"copy\"] && this.buttons.visible[\"copy\"];\n var showNewMenu = this.buttons.habilitation[\"new\"] && this.buttons.visible[\"new\"];\n if (showCopyMenu && !showNewMenu) {\n this.model.trigger(\"btn:click\", \"copy\");\n } else {\n this.model.trigger(\"btn:click\", \"new\");\n }\n }\n } else {\n if ($(\".new-menu-content\", this.el).is(\":visible\")) {\n $(\".new-menu-content\", this.el).hide();\n } else {\n $(\".new-menu-content\", this.el).show();\n $(\".new-menu-content\", this.el).position({\n my: \"left top\",\n at: \"left bottom\",\n of: $(event.target).parent()\n });\n //If you click out of the menu, close the menu.\n\n $(document).one(\"mousedown\", function(event) {\n var element = $(self.el).find(event.target);\n if (element.length === 0) {\n $(\".new-menu-content\", self.el).hide();\n }\n });\n }\n }\n return false;\n },\n\n /**\n * Adds a button\n */\n addButton: function(buttonText, buttonAction, hasMenu, menuOptions, title) {\n this.newButtons.push({\n buttonText: buttonText,\n buttonAction: buttonAction,\n hasMenu: hasMenu,\n menuOptions: menuOptions,\n title: title\n });\n\n this.buttons.visibleInModeC[buttonAction] = false;\n },\n /**\n * Replace the button options\n */\n replaceButtonOptions: function(buttonAction, menuOptions) {\n _.each(this.newButtons, function(obj) {\n if (obj.buttonAction === buttonAction) {\n obj.menuOptions = menuOptions;\n }\n }, this);\n\n var $menu = $(\".\" + buttonAction + \"-menu-content\", this.el);\n if ($menu) {\n $menu.empty();\n\n var $ul = $(\"
          \");\n var size = menuOptions.length;\n for (var j = 0; j < size; j++) {\n if (STR.isBlank(menuOptions[j].action)) {\n $ul.prepend(\"\" + menuOptions[j].text + \"\");\n } else {\n $ul.prepend(\"
        • \");\n }\n }\n $menu.prepend($ul);\n }\n },\n /**\n * Makes the button visible in mode consultation\n */\n setButtonVisibleInModeC: function(buttonAction, visible) {\n this.buttons.visibleInModeC[buttonAction] = visible;\n },\n /**\n * Render a new button\n */\n _renderNewButtons: function() {\n var actionBar = this.$el.find(\".grid-action-bar\");\n\n var buttonsLength = this.newButtons.length;\n\n for (var i = 0; i < buttonsLength; i++) {\n\n var $buttonDiv = $(\"
          \");\n $buttonDiv.addClass(this.newButtons[i].buttonAction + \"-menu\");\n $buttonDiv.addClass(\"phx-grid-title-bar-menu\");\n $buttonDiv.addClass(\"phx-hover\");\n\n if (this.newButtons[i].title && !STR.isBlank(this.newButtons[i].title)) {\n $buttonDiv.append(\"\" + this.newButtons[i].buttonText + \"\");\n } else {\n $buttonDiv.append(\"\" + this.newButtons[i].buttonText + \"\");\n }\n\n if (this.positionNewButtonsOnLeft) {\n actionBar.prepend($buttonDiv);\n } else {\n actionBar.append($buttonDiv);\n }\n if (this.newButtons[i].hasMenu) {\n $buttonDiv.append(\"\");\n\n var $menu = $(\"
          \");\n $menu.addClass(this.newButtons[i].buttonAction + \"-menu-content\");\n $menu.addClass(\"phx-grid-title-bar-menu-content\");\n $menu.addClass(\"ui-menu\");\n\n var $ul = $(\"
            \");\n var size = this.newButtons[i].menuOptions.length;\n for (var j = 0; j < size; j++) {\n if (STR.isBlank(this.newButtons[i].menuOptions[j].action)) {\n $ul.append(\"\" + this.newButtons[i].menuOptions[j].text + \"\");\n } else {\n $ul.append(\"
          • \" + this.newButtons[i].menuOptions[j].text + \"
          • \");\n\n }\n }\n\n $menu.append($ul);\n actionBar.append($menu);\n }\n }\n },\n /**\n * Toggles an external menu\n */\n _toggleExternalMenu: function(event, menuId) {\n var self = this;\n\n if ($(\".\" + menuId + \"-menu-content\", this.el).is(\":visible\")) {\n $(\".\" + menuId + \"-menu-content\", this.el).hide();\n } else {\n $(\".\" + menuId + \"-menu-content\", this.el).show();\n $(\".\" + menuId + \"-menu-content\", this.el).position({\n my: \"left top\",\n at: \"left bottom\",\n of: $(event.target).parent()\n });\n //If you click out of the menu, close the menu.\n\n $(document).one(\"mousedown\", function(event) {\n var element = $(self.el).find(event.target);\n if (element.length === 0) {\n $(\".\" + menuId + \"-menu-content\", self.el).hide();\n }\n });\n $(window).one(\"resize\", function() {\n $(\".\" + menuId + \"-menu-content\", self.el).hide();\n });\n }\n return false;\n },\n\n /**\n * hide/show arrow to allow row ordering\n */\n _manageRowOrdering: function() {\n this.disableArrows = !this.model.get(\"rowOrdering\");\n this._showRowOrderingArrows(true);\n },\n /**\n * show arrow to allow row ordering\n */\n _showRowOrderingArrows: function(show) {\n var hab = this.buttons.habilitation[\"moveUp\"] || this.buttons.habilitation[\"moveDown\"] || this.buttons.habilitation[\"movePlacer\"] || this.buttons.habilitation[\"moveUp\"];\n if (this.model.get(\"rowOrdering\") === true && show && hab) {\n $(\".rowOrdering\", this.el).css(\"display\", \"inline-block\");\n } else {\n $(\".rowOrdering\", this.el).hide();\n }\n },\n /**\n * Refreshes move line buttons\n */\n _refreshMoveLineButtons: function(disableMoveUp, disableMoveDown) {\n var montEnabled = true,\n descEnabled = true,\n placEnabled = true,\n premEnabled = true;\n if (disableMoveUp || this.buttons.habilitation[\"moveUp\"] === false || this.disableArrows) {\n $(\".rowOrdering .monter\", this.el).addClass(\"ui-state-disabled\");\n montEnabled = false;\n } else {\n $(\".rowOrdering .monter\", this.el).removeClass(\"ui-state-disabled\");\n }\n\n if (disableMoveDown || this.buttons.habilitation[\"moveDown\"] === false || this.disableArrows) {\n $(\".rowOrdering .descendre\", this.el).addClass(\"ui-state-disabled\");\n descEnabled = false;\n } else {\n $(\".rowOrdering .descendre\", this.el).removeClass(\"ui-state-disabled\");\n }\n\n if (disableMoveUp || this.buttons.habilitation[\"movePlacer\"] === false || this.disableArrows) {\n $(\".rowOrdering .placer\", this.el).addClass(\"ui-state-disabled\");\n placEnabled = false;\n } else {\n $(\".rowOrdering .placer\", this.el).removeClass(\"ui-state-disabled\");\n }\n\n if (disableMoveDown || this.buttons.habilitation[\"movePremier\"] === false || this.disableArrows) {\n $(\".rowOrdering .premier\", this.el).addClass(\"ui-state-disabled\");\n premEnabled = false;\n } else {\n $(\".rowOrdering .premier\", this.el).removeClass(\"ui-state-disabled\");\n }\n\n if (!montEnabled && !descEnabled && !placEnabled && !premEnabled) {\n $(\".rowOrdering .descendre\", this.el).parent().addClass(\"ui-state-disabled\");\n } else {\n $(\".rowOrdering .descendre\", this.el).parent().removeClass(\"ui-state-disabled\");\n }\n\n this._showRowOrderingArrows(true);\n },\n\n /**\n * Set title to button (for infobulle)\n */\n setTitle: function(button, title) {\n if (button && !STR.isBlank(button)) {\n this.buttonsTitle[button] = title;\n }\n }\n\n});","import { BaseModel } from '../../../../../../core/models/base.model.js';\n\n\nexport var AccepterPret = BaseModel.extend({\n\n urlRoot: Configuration.restRoot + \"/rest/composant/pret/accepter/\",\n defaults: {\n \"commentaire\": \"\",\n \"droit\": \"\",\n \"profil\": \"\"\n }\n});","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='
            ';\n}\nreturn __p;\n};\n","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='';\n}\nreturn __p;\n};\n","module.exports = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\nwith(obj||{}){\n__p+='
          • '+\n((__t=(nom))==null?'':__t)+\n'
          • ';\n}\nreturn __p;\n};\n","import { ReadOnlyModel } from 'core/models/readOnly.model.js';\n\nexport var CompteursModel = ReadOnlyModel.extend({\n\n defaults: {\n libelle: \"\",\n valeur: \"\"\n }\n});","import { CompteursModel } from './compteurs.model.js';\n\nimport { PaginatedCollection } from 'core/models/paginated.collection.js';\n\nexport var CompteursColl = PaginatedCollection.extend({\n\n model: CompteursModel,\n\n url: function() {\n return Configuration.restRoot + \"/rest/cpttpsreel/\" + this.matricule;\n },\n\n initialize: function(options) {\n PaginatedCollection.prototype.initialize.call(this);\n if (options && options.matricule) {\n this.matricule = options.matricule;\n }\n }\n});","import { BaseModel } from '../../../../../../core/models/base.model.js';\n\nimport { i18n } from '../../../../../../i18n.js';\nimport { STR } from '../../../../../../utils/str.js';\n\n/**\n * Model for accept, reject or delete\n */\nexport var GererPretsGestion = BaseModel.extend({\n\n canViewTreatment: true,\n\n url: function() {\n var id = this.isNew() === true ? \"\" : encodeURIComponent(this.id);\n return Configuration.restRoot + \"/rest/composant/pret/\" + this.action + \"/\" + id;\n //return Configuration.restRoot + \"/rest/composant/pret/\" + this.action + \"/\" + this.get(\"profil\").code;\n },\n\n validate: function(attrs) {\n var errors = {};\n if (!STR.isBlank(this.action) && this.action == \"refuser\") {\n if (STR.isBlank(attrs.commentaire)) {\n errors.commentaire = i18n.t('common:required', { \"0\": i18n.t('common:gererprets.comment') });\n }\n }\n\n if (!_.isEmpty(errors)) {\n var errorMap = {\n errorValidation: STR.formatMessage(errors),\n errors: errors\n };\n return errorMap;\n }\n },\n\n defaults: {\n \"commentaire\": \"\",\n \"droit\": \"\"\n },\n\n parse: function(response) {\n if (response.id == undefined && response.code != undefined) {\n response.id = response.code;\n }\n return response;\n }\n});","import { ProfilesColl } from './profiles.collection.js';\nimport { ReadOnlyModel } from 'core/models/readOnly.model.js';\nimport { STR } from '../../../../utils/str.js';\n\n/**\n * Profile model\n */\nexport var ProfileModel = ReadOnlyModel.extend({\n\n parse: function(response) {\n if (response.id === undefined) {\n if (response.code !== undefined) {\n this.id = response.code;\n }\n\n if (response.codedele !== undefined) {\n this.id = response.codedele;\n }\n\n }\n\n response.enfants = new ProfilesColl(response.enfants, { parse: true });\n\n return response;\n },\n\n profilesNumber: function() {\n var result = 0;\n if (STR.isBlank(this.get(\"codedele\"))) {\n result = 1;\n }\n result += this.get(\"enfants\").profilesNumber();\n return result;\n },\n\n getProfile: function(code) {\n var element = this.get(\"enfants\").getProfile(code);\n return element;\n }\n});","import { ProfileModel } from './profile.model.js';\nimport { STR } from '../../../../utils/str.js';\n\n/**\n * Collection of profiles\n */\nexport var ProfilesColl = Backbone.Collection.extend({\n\n model: ProfileModel,\n\n profilesNumber: function() {\n var result = 0;\n if (this.length > 0) {\n for (var i = 0; i < this.length; i++) {\n result += this.at(i).profilesNumber();\n }\n }\n return result;\n },\n\n getProfile: function(code) {\n var element = this.get(code);\n if (STR.isBlank(element)) {\n for (var i = 0; i < this.length && STR.isBlank(element); i++) {\n var profil = this.at(i);\n element = profil.getProfile(code);\n }\n }\n return element;\n }\n});","import { GLOBAL_DATA } from '../globalData.js';\n\n/**\n * Utilities to check LICENCE\n */\nexport var LICENCE = {\n\n dummy: \"\",\n\n /**\n * Check if the module exists\n */\n hasModule: function(module) {\n try {\n var hasModule = false;\n var modules = GLOBAL_DATA.licences.get(\"modules\");\n for (var i = 0, l = modules.length; i < l; i++) {\n if (modules[i] == module) {\n hasModule = true;\n }\n }\n return hasModule;\n } catch (err) {\n return false;\n }\n }\n\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _utils = require('./utils.js');\n\nvar utils = _interopRequireWildcard(_utils);\n\nvar _ajax = require('./ajax.js');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n crossDomain: false,\n ajax: _ajax2.default\n };\n}\n\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: 'init',\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.services = services;\n this.options = utils.defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: 'readMulti',\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'read',\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'loadUrl',\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true /* retry */);\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false /* no retry */);\n\n var ret = void 0,\n err = void 0;\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: 'create',\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n\n var payload = {};\n payload[key] = fallbackValue || '';\n\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, { lng: lng, ns: namespace });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {\n //const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexports.default = Backend;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaults = defaults;\nexports.extend = extend;\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\n\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\nfunction extend(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction addQueryString(url, params) {\n if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {\n var queryString = '',\n e = encodeURIComponent;\n\n // Must encode data\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n}\n\n// https://gist.github.com/Xeoncross/7663273\nfunction ajax(url, options, callback, data, cache) {\n\n if (data && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n }\n // URL encoded form data must be in querystring format\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n x.open(data ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n var h = options.customHeaders;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nexports.default = ajax;","'use strict';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = function(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n return constructor.resolve(callback()).then(function() {\n return constructor.reject(reason);\n });\n }\n );\n};\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(values) {\n return new Promise(function(resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n (typeof setImmediate === 'function' &&\n function(fn) {\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nmodule.exports = Promise;\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a