diff --git a/client/javascript/externs/formReader/formReaderDrtv.js b/client/javascript/externs/formReader/formReaderDrtv.js index 6634f5d412bfaf450ee68f68effbc48cfdb46c43..48e7a37a22b78e1f1154bcaec9471d51e4a1c3a5 100644 --- a/client/javascript/externs/formReader/formReaderDrtv.js +++ b/client/javascript/externs/formReader/formReaderDrtv.js @@ -2156,8 +2156,8 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, // Récupère lélément en sélectionné formReaderService['getWebServiceData'](oFormWebService).then(function (aResult) { - var oSubformDefinition = aResult[0]['bo_json_form']; + var sSubformJSDefinition = aResult[0]['bo_json_form_js']; var oSubformValues = {}; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; @@ -2224,7 +2224,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, } }); - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }); }; @@ -2252,6 +2252,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; var oSubformDefinition = oBusinessObject['json_form'][0]; + var sSubformJSDefinition = oBusinessObject['json_form_js']; var sSubformDefinitionName = 'insert'; // Grise le champ contenant la valeur du parent @@ -2293,7 +2294,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }); }); }; - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }; /** diff --git a/client/javascript/externs/formReader/formReaderSrvc.js b/client/javascript/externs/formReader/formReaderSrvc.js index 6ca6ef291e6a45bdf3b6298b998729bd7abddef5..613652f9c35ccf385e3b72c1c26432d8e0e8a09f 100644 --- a/client/javascript/externs/formReader/formReaderSrvc.js +++ b/client/javascript/externs/formReader/formReaderSrvc.js @@ -1230,15 +1230,15 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time * @param {object} oSubformDefinition * @param {object} oSubformDefinitionName * @param {object} oSubformValues + * @param {string|null} sSubformJSDefinition */ - "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues) { + "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues, sSubformJSDefinition) { $log.log("showModalSubform"); var sToken = this['sToken']; var oProperties = this['oProperties']; - if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { - + var loadForm = function(){ oSubformScope['loadSubForm']({ 'sFormDefinitionName': oSubformDefinitionName, 'oFormDefinition': oSubformDefinition, @@ -1246,6 +1246,30 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time 'oProperties': oProperties, 'sToken': sToken }); + } + + if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { + + if (goog.isDefAndNotNull(sSubformJSDefinition)) { + var sUrl = sSubformJSDefinition; + oVmap.log("initHtmlForm : javascript assoc. to : " + sUrl); + loadExternalJs([sUrl], { + "callback": function () { + loadForm(); + try { + if (goog.isDef(constructor_form)) { + constructor_form(oSubformScope, sUrl); + } + } catch (e) { + oVmap.log("constructor_form does not exist"); + } + }, + "async": true, + "scriptInBody": true + }); + } else { + loadForm(); + } $('#' + sModalId).modal('show'); } diff --git a/client/javascript/externs/studio/javascript/app/JsonLoader.js b/client/javascript/externs/studio/javascript/app/JsonLoader.js index 8dd8de6819f10497d896707cbf05e14121fe00c2..ff0407e2f3e53237b80d512f0db73df6ba0b45f2 100755 --- a/client/javascript/externs/studio/javascript/app/JsonLoader.js +++ b/client/javascript/externs/studio/javascript/app/JsonLoader.js @@ -248,7 +248,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.requestToJson = functi cmd = "Perso_Reset"; break; } - this_.putRequest(cmd, undefined, function (data) { + this_.putRequest(cmd, this_.$scope_["FormSelected"], undefined, function (data) { // Cas d'erreur du put if (goog.isDefAndNotNull(data['errorMessage'])) { @@ -584,18 +584,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.save = function (succe oVFB.unselectAll(); tmp = oVFB.cleanFormToSave(tmp); - /*if ($("#boolean-JS-include").prop("checked")) { - tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = true; - } else { - tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = false; - } - - if ($("#boolean-CSS-include").prop("checked")) { - tmp[this_.$rootScope_["selected_form_type"]]["style"] = true; - } else { - tmp[this_.$rootScope_["selected_form_type"]]["style"] = false; - }*/ - if (this['applicationName'] === 'gtf') { tmp[this_.$rootScope_["selected_form_type"]]["name"] = "WSubform"; tmp["display"] = tmp[this_.$rootScope_["selected_form_type"]]; @@ -623,7 +611,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.save = function (succe oVFB.valid = this.isValid(tmp); if (oVFB.valid && tmp !== null) { - this_.putRequest("Perso_Save", data, success, error); + this_.putRequest("Perso_Save", this_.$scope_["FormSelected"], data, success, error); } else { $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Validation_Error"] + ': ' + oVFB.aNotValid, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); } @@ -646,18 +634,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function () // Supprime les elements selectionnés oVFB.unselectAll(); - /*if ($("#boolean-JS-include").prop("checked")) { - tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = true; - } else { - tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = false; - } - - if ($("#boolean-CSS-include").prop("checked")) { - tmp[this_.$rootScope_["selected_form_type"]]["style"] = true; - } else { - tmp[this_.$rootScope_["selected_form_type"]]["style"] = false; - }*/ - if (this['applicationName'] === 'gtf') { tmp[this_.$rootScope_["selected_form_type"]]["name"] = "WSubform"; tmp["display"] = tmp[this_.$rootScope_["selected_form_type"]]; @@ -669,7 +645,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function () data.append("Css", oVFB.getCss()); var success = function () { -// $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["SaveData"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_}); var data = ""; var success = function () { this_.requestToJson(); @@ -679,17 +654,16 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function () $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Publish_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); }; - this_.putRequest(this_.$scope_["FormSelected"] + "_Published", data, success, error); + this_.putRequest(this_.$scope_["FormSelected"] + "_Published", this_.$scope_["FormSelected"], data, success, error); }; var error = function (data, status) { $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["SaveData_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); }; if (oVFB.valid) { if (this_.$scope_["FormSelected"] != "Default") { - this_.putRequest("Perso_Save", data, success, error); + this_.putRequest("Perso_Save", this_.$scope_["FormSelected"], data, success, error); } else { - this_.putRequest("Default_Published", data, success, error); - + this_.putRequest("Default_Published", this_.$scope_["FormSelected"], data, success, error); } } else { $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Validation_Error"], {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); @@ -763,7 +737,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.reset = function () { var error = function (data, status) { $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Reset_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); }; - this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", data, success, error); + this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", this_.$scope_["FormSelected"], data, success, error); } } }); @@ -771,14 +745,63 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.reset = function () { oVFB.studioMainController.prototype.moveBootboxModalToStudioContainer(oModal); }; +/** + * Remove the published form on the server + * + * @export + */ +nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.deletePublishedForm = function () { + oVFB.log('nsVFB.JsonLoader.jsonLoaderController.deletePublishedForm'); + + var this_ = this; + var oModal = bootbox.confirm('<h4>' + this["text"]["InfoBulle"]["Published"]["DeletePublishedForm"] + ' ?</h4>', function (result) { + if (result === true) { + var data = ""; + var success = function () { + $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_}); + this_.requestToJson(); + }; + var error = function (data, status) { + $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); + }; + this_.putRequest('Published_Delete', 'Published', data, success, error); + } + }); +} + +/** + * Remove the form JS on the server + * + * @export + */ +nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.deleteJS = function () { + oVFB.log('nsVFB.JsonLoader.jsonLoaderController.deleteJS'); + + var this_ = this; + var oModal = bootbox.confirm('<h4>' + this["text"]["InfoBulle"]["Perso"]["Delete_JS"] + ' ?</h4>', function (result) { + if (result === true) { + var data = ""; + var success = function () { + $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_JS"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_}); + this_.requestToJson(); + }; + var error = function (data, status) { + $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_JS_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); + }; + this_.putRequest('Delete_JS', this_.$scope_["FormSelected"], data, success, error); + } + }); +} + /** * Make a put request on the server * @param {string} cmd command to load (Perso_Save, Perso_Published, Default_Published, Perso_Reset etc...) + * @param {string} sForm form to update * @param {object} data FormData to send * @param {function} functSuccess function to load in case of success * @param {function} functError function to load in case of error */ -nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function (cmd, data, functSuccess, functError) { +nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function (cmd, sForm, data, functSuccess, functError) { oVFB.log('nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest'); var url = ''; @@ -810,15 +833,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function 'success': functSuccess, 'error': functError }); - -// this.$http_({ -// url: url, -// method: 'PUT', -// data: data, -// headers: { -// "Content-Type": "undefined" -// } -// }).success(functSuccess).error(functError); }; /** @@ -829,14 +843,34 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.suggestGenerateForm = oVFB.log('nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.suggestGenerateForm'); var this_ = this; - var oModal = bootbox.confirm('<h4>' + this.$scope_['text']['Loader']['Notify']['generate_form'] + '</h4>', function (result) { - if (result === true) { - this_.suggestColumnsToGenerateForm(); - } else { - this_['aSuggestedTableFields'] = []; - this_.generateFormByBusinessObject(); + var oModal = bootbox['dialog']({ + 'message': '<h4>' + this.$scope_['text']['Loader']['Notify']['generate_form'] + '</h4>', + 'buttons': { + 'cancel': { + 'label': this.$scope_['text']['Loader']['Cancel'], + 'className': 'btn-default', + 'callback': function(){ + this_.useEmptyForm(); + } + }, + 'create_empty': { + 'label': this.$scope_['text']['Loader']['CreateEmptyForm'], + 'className': 'btn-primary', + 'callback': function(){ + this_['aSuggestedTableFields'] = []; + this_.generateFormByBusinessObject(); + } + }, + 'generate_from_columns': { + 'label': this.$scope_['text']['Loader']['GenerateForm'], + 'className': 'btn-primary', + 'callback': function(){ + this_.suggestColumnsToGenerateForm(); + } + } } }); + // Déplace la popup dans l'élément principal du studio (sinon elle est masquée en mode plein écran). oVFB.studioMainController.prototype.moveBootboxModalToStudioContainer(oModal); }; @@ -860,10 +894,16 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.useEmptyForm = functio 'javascript': false, 'name': 'custom-form', 'nb_cols': 12, - 'rows': [], + 'rows': [{ + 'fields': [] + }], 'title': '' }; + if (!goog.isArray(data)) { + data = []; + } + data[0] = { 'datasources': {} }; @@ -1017,7 +1057,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.generateFormByBusiness var error = function (data, status) { $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Reset_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); }; - this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", {"field": sFieldsToUse, "label": afieldsLabel}, success, error); + this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", this_.$scope_["FormSelected"], {"field": sFieldsToUse, "label": afieldsLabel}, success, error); } else { ajaxRequest({ @@ -1035,19 +1075,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.generateFormByBusiness $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["CreateJson_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); } }); - -// this.$http_({ -// url: url, -// method: 'POST', -// data: { -// 'fields': sFieldsToUse, -// 'label': afieldsLabel -// } -// }).success(function () { -// this_.requestToJson(); -// }).error(function () { -// $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["CreateJson_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_}); -// }); } }; diff --git a/client/javascript/externs/studio/lang/lang-en.json b/client/javascript/externs/studio/lang/lang-en.json index f33be9b38476461cc2228befc9bf4eb5f7f860cb..b6d34b3729e50d6508ea9665f3c1446ae7cec112 100755 --- a/client/javascript/externs/studio/lang/lang-en.json +++ b/client/javascript/externs/studio/lang/lang-en.json @@ -10,6 +10,8 @@ "WabState": "State", "Validate": "Validate", "Cancel": "Cancel", + "GenerateForm": "Generate form", + "CreateEmptyForm": "Create empty form", "AddTab": "Add tab", "EditTab": "Edit", "RemoveTab": "Remove", @@ -34,6 +36,7 @@ "Button_gtf": "FME generated form" }, "Published": { + "DeletePublishedForm": "Delete published form", "Button": "Used form", "Button_gtf": "Used form" }, @@ -42,7 +45,8 @@ "Reload": "Reload files from server", "Publish": "Publish the custom form", "Reset": "Replace the custom form by the default form", - "Button": "Modification used form" + "Button": "Modification used form", + "Delete_JS": "Remove JavaScript" } }, "Form": { @@ -87,6 +91,10 @@ "ProblemId": "ID problem, try again or contact an admin", "Reset": "Was reset", "Reset_Error": "Error while resetting : ", + "Delete": "Le formulaire a été supprimé", + "Delete_Error": "Erreur lors de la suppression du formulaire : ", + "Delete_JS": "JavaScript file deleted", + "Delete_JS_Error": "Erorr while deleting JavaScript file : ", "Publish": " Has been published", "PublishAndSave": " Has been published and saved", "Publish_Error": "Error while publishing : ", diff --git a/client/javascript/externs/studio/lang/lang-fr.json b/client/javascript/externs/studio/lang/lang-fr.json index 43a99c1e47c1a55b798c6eaa2b4daedeaccfd126..ddaad2891c0fd4177698f0341e3e075d915290b3 100755 --- a/client/javascript/externs/studio/lang/lang-fr.json +++ b/client/javascript/externs/studio/lang/lang-fr.json @@ -10,6 +10,8 @@ "WabState": "État wab", "Validate": "Valider", "Cancel": "Annuler", + "GenerateForm": "Générer un formulaire", + "CreateEmptyForm": "Créer un formulaire vide", "AddTab": "Ajouter un onglet", "EditTab": "Éditer", "RemoveTab": "Supprimer", @@ -34,6 +36,7 @@ "Button_gtf": "Afficher le formulaire par défaut" }, "Published": { + "DeletePublishedForm": "Supprimer le formulaire publié", "Button": "Afficher le formulaire par publié", "Button_gtf": "Afficher le formulaire par publié" }, @@ -44,7 +47,8 @@ "Reset": "Remplacer le formulaire personnalisé par le formulaire par défaut", "ResetWab": "Regénérer le formulaire depuis la base", "Button": "Afficher le formulaire par personnalisé", - "Button_gtf": "Afficher le formulaire par personnalisé" + "Button_gtf": "Afficher le formulaire par personnalisé", + "Delete_JS": "Supprimer la partie JavaScript du formulaire" } }, "Form": { @@ -89,6 +93,10 @@ "ProblemId": "Problème d'ID, réessayer ou contacter un administrateur", "Reset": " a été réinitialisé", "Reset_Error": "Erreur lors de la réinitialisation : ", + "Delete": "Le formulaire a été supprimé", + "Delete_Error": "Erreur lors de la suppression du formulaire : ", + "Delete_JS": "Le fichier JavaScript a été supprimé", + "Delete_JS_Error": "Erreur lors de la suppression du fichier JavaScript : ", "Publish": " a été publié", "PublishAndSave": " a été publié et sauvegardé", "Publish_Error": "Erreur lors de la publication : ", diff --git a/client/javascript/externs/studio/less/studio.less b/client/javascript/externs/studio/less/studio.less index 39431d7eef77567589e097ec3edf7dc1e449092f..25844881140da28f02b1d7303efee582025d3138 100755 --- a/client/javascript/externs/studio/less/studio.less +++ b/client/javascript/externs/studio/less/studio.less @@ -3,7 +3,7 @@ To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. */ -/* +/* Created on : 5 janv. 2016, 12:08:09 Author : a_borghi */ @@ -23,7 +23,7 @@ and open the template in the editor. //@import (less) '../css/lib/bootstrap/css/bootstrap.css'; -//définit la taille de la fenêtre +//définit la taille de la fenêtre .app_window{ /*Skin scrollBar*/ ::-webkit-scrollbar { @@ -39,11 +39,11 @@ and open the template in the editor. ::-webkit-scrollbar-thumb { -webkit-border-radius: 10px; border-radius: 10px; - background: @studio-color-purple; - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); + background: @studio-color-purple; + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); } ::-webkit-scrollbar-thumb:window-inactive { - background: @studio-color-purple; + background: @studio-color-purple; } input[type=number]::-webkit-outer-spin-button, @@ -61,7 +61,7 @@ and open the template in the editor. /*Laisse une marge sous un composant*/ .element-margin { - margin-bottom: 10px; + margin-bottom: 10px; } //align un div sur la droite avec une petite marge @@ -199,19 +199,14 @@ and open the template in the editor. } // rend un élément non selectable -.unselectable { - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -o-user-select: none; -} - -// décalage pour les checkbox et radio -.checkbox_margin { - margin-left: 30px; +.unselectable { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -o-user-select: none; } -// Permet à code Mirror de prendre toute la place dans la div +// Permet à code Mirror de prendre toute la place dans la div .CodeMirror { border: 1px solid #eee; height: auto; @@ -241,7 +236,7 @@ and open the template in the editor. } .invalid_input{ - background-color: rgba(255,0,0,0.5); + background-color: rgba(255,0,0,0.5); } /*th, td{ @@ -343,15 +338,6 @@ and open the template in the editor. font-size:11px } -.checkbox label::before, .checkbox label::after{ - width:13px; - height: 13px; -} - -.checkbox { - padding-left: 12px; -} - .collapser-form-wab-modal{ font-size: 40px; padding-top: 10px; @@ -359,8 +345,8 @@ and open the template in the editor. } .transition-form-wab-collapser{ - transition: width 0.5s; - //transition: display 1s; + transition: width 0.5s; + //transition: display 1s; } .form-tools-tree-container{ overflow-y: auto; @@ -381,4 +367,4 @@ and open the template in the editor. background-color: initial; top: initial; //border: initial; -} \ No newline at end of file +} diff --git a/client/javascript/externs/studio/templates/JsonLoader.html b/client/javascript/externs/studio/templates/JsonLoader.html index f5b18f1bbcdc94c3affda84e3f319650ca32def9..6e320cdab08eda903260ccea6a2e5c0effbf9041 100755 --- a/client/javascript/externs/studio/templates/JsonLoader.html +++ b/client/javascript/externs/studio/templates/JsonLoader.html @@ -1,8 +1,4 @@ <div class="panel panel-veremes" id="FilesURL"> - <!-- <div class="panel-heading unselectable" ng-click="ctrl.resize()">{{::ctrl.text.Title}} - <span ng-if="collapsed" id="colapse_uploader_icon" class="fa fa-angle-right fa-lg" style="float:right"></span> - <span ng-if="!collapsed" id="colapse_uploader_icon" class="fa fa-angle-down fa-lg" style="float:right"></span> - </div>--> <div class="panel-heading unselectable"> <!--Fichier--> <div class="btn-group dropdown margin-right-10"> @@ -50,6 +46,24 @@ {{::ctrl.text.InfoBulle.Perso.Publish}} </a> </li> + <li ng-hide="ctrl.buttonHide" + ng-show="(FormSelected === 'Perso' || FormSelected === 'Published') && ctrl.applicationName === 'vmap'"> + <a title="{{::ctrl.text.InfoBulle.Published.Delete}}" + href="javascript:void(0);" + ng-click="ctrl.deletePublishedForm()"> + <span class="fa icon-trash" aria-hidden="true"></span> + {{::ctrl.text.InfoBulle.Published.DeletePublishedForm}} + </a> + </li> + <li ng-hide="ctrl.buttonHide" + ng-show="(FormSelected === 'Perso' || FormSelected === 'Published') && ctrl.applicationName === 'vmap'"> + <a title="{{::ctrl.text.InfoBulle.Perso.Delete_JS}}" + href="javascript:void(0);" + ng-click="ctrl.deleteJS()"> + <span class="fa icon-trash" aria-hidden="true"></span> + {{::ctrl.text.InfoBulle.Perso.Delete_JS}} + </a> + </li> <li ng-hide="ctrl.buttonHide" ng-show="FormSelected === 'Perso'"> <a title="{{::ctrl.text.InfoBulle.Perso.Reset}}" href="javascript:void(0);" diff --git a/client/less/main.less b/client/less/main.less index d567b91f34adfab804aee576cdf68409e253dda4..56042ea63502decf8696aff10e5c6dc4cc2020da 100644 --- a/client/less/main.less +++ b/client/less/main.less @@ -1046,3 +1046,24 @@ div[data-app-html-form]>div[app-form-reader]>.modal>.modal-dialog{ /*@supports (-ms-accelerator:true) and (not (color:unset)) { .selector { property:value; } }*/ + +.checkbox { + padding-left: 12px; +} + +.checkbox_margin { + margin-left: 30px; +} + +.checkbox-inline label::before{ + top: 3px; + left: 1px +} +.checkbox-inline label::after{ + top: 2px; +} + +.checkbox label::before, .checkbox label::after{ + width:13px; + height: 13px; +} diff --git a/vas/sql/sqlQueries.xml b/vas/sql/sqlQueries.xml index 4e745ccc2419751dc9590cbf5e359dc3ed5fb6a2..15c2ea3f0f97657a07c50e83ddf323b6e5b5dd31 100644 --- a/vas/sql/sqlQueries.xml +++ b/vas/sql/sqlQueries.xml @@ -67,7 +67,7 @@ ALTER TABLE v_user OWNER TO u_vitis; CREATE VIEW v_user_group AS SELECT user_group.group_id, user_group.user_id FROM ((user_group LEFT JOIN "user" ON ((user_group.user_id = "user".user_id))) LEFT JOIN "group" ON (("group".group_id = user_group.group_id))) WHERE ((("user".login)::name)::text = ("current_user"())::text); ALTER TABLE v_user_group OWNER TO u_vitis; - CREATE TABLE version ( version character varying(10) NOT NULL, build integer NOT NULL, date timestamp with time zone NOT NULL, active boolean); + CREATE TABLE version ( version character varying(100) NOT NULL, build integer NOT NULL, date timestamp with time zone NOT NULL, active boolean); ALTER TABLE version OWNER TO u_vitis; CREATE TABLE vm_application ( name character varying(100) NOT NULL); ALTER TABLE vm_application OWNER TO u_vitis;