1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/select-vehicle-template-CGKR25d0.js","chunks/polyfazer-app-DumDTOPg.js","chunks/main-BEpca-0G.js","assets/polyfazer-app-BxOL82Ft.css","chunks/vehicle-templates-services-Jr0vDtNx.js","chunks/diamond-selector-child-behavior-rlm1WNXO.js","chunks/diamond-selector-ZCfWGj3g.js","chunks/stamp-repeat-CtgpozQL.js","chunks/image-frame-DZbP5vtK.js"])))=>i.map(i=>d[i]); 2import{aq as s,_ as n}from"./main-BEpca-0G.js";import{C as r,P as o,h,f as c,t as p}from"./polyfazer-app-DumDTOPg.js";import{v as i}from"./vehicle-services-BDTbfryd.js";import{v as m}from"./vehicle-templates-services-Jr0vDtNx.js";import"./select-partner-input-CNOjp5np.js";import"./select-user-input-BH284c4q.js";import"./color-input-BIuxQB3Y.js";import"./vehicle-template-info-BaR83DWO.js";import"./vehicle-tint-image-uut8OlBX.js";import"./paper-shrink-menu-C7LnALvz.js";import{P as a}from"./page-toolbar-C-8EZufE.js";import"./polymer-utils-B8xivS0d.js";import"./BetterHTML-BN6nzApa.js";import"./BetterTemplateHandling-CTXk4mRb.js";import"./dialog-input-behavior-DcN20D9O.js";import"./image-frame-DZbP5vtK.js";import"./question-tag-C9ym_uv9.js";import"./diamond-icon-button-AIbsxFeD.js";import"./BetterPolymerElement-Dg3wVY7D.js";import"./tippy-tooltip-BFt4tVnx.js";class d extends r(o){static get template(){return h` 3 ${super.template} 4 <style> 5 :host { 6 position: relative; 7 width: 100%; 8 height: 100%; 9 display: block; 10 } 11 12 paper-material { 13 width: 100%; 14 margin-bottom: 30px; 15 min-height: 350px; 16 padding: 20px; 17 } 18 19 h3 { 20 margin: 10px 0 0; 21 } 22 23 .vehicle-profile { 24 display: flex; 25 flex-wrap: wrap; 26 align-items: center; 27 } 28 29 .vehicle-details { 30 width: 100%; 31 } 32 33 .flex-row.images { 34 flex-direction: column; 35 } 36 37 .flex-row.images > .column { 38 display: flex; 39 flex-direction: column; 40 justify-content: center; 41 align-items: center; 42 } 43 44 .flex-row h4 { 45 width: 100%; 46 } 47 48 .vehicle-template { 49 display: flex; 50 justify-content: center; 51 } 52 53 .vehicle-template paper-icon-button {
54 align-self: flex-end; 55 } 56 57 .vehicle-template paper-icon-button:hover { 58 color: var(--application-color); 59 } 60 61 .color-settings { 62 justify-content: space-between; 63 align-items: flex-end; 64 } 65 66 .color-setting paper-button { 67 margin-bottom: 8px; 68 } 69 </style> 70 71 <page-toolbar 72 pending="[[or(loading, sending)]]" 73 error="[[error]]" 74 return-href="[[getBackRoute(vehicleID, '%{basePath}', '%{basePath}/%{vehicleID}')]]" 75 > 76 <paper-shrink-menu slot="action-buttons" show-labels> 77 ${a.ACTION_BUTTON.generic({text:"changeTemplate",icon:"polyfazer-template",action:"_openSelectVehicleTemplatePopup"})} 78 79 <template is="dom-if" if="[[vehicleID]]"> 80 ${a.ACTION_BUTTON.delete({action:"_delete"})} 81 </template> 82 ${a.ACTION_BUTTON.save({action:"_save"})} 83 </paper-shrink-menu> 84 </page-toolbar> 85 86 <div class="content-wrap full-height"> 87 <paper-material> 88 <diamond-section-overlay loading="[[loading]]" error="[[error]]" on-retry="refresh"></diamond-section-overlay> 89 90 <div> 91 <div class="vehicle-template"> 92 <vehicle-template-info template="[[vehicle.vehicleTemplate]]" section-header="[[_lang('baseTemplateInformation')]]" data-blacklist="createdOn"> 93 <vehicle-tint-image slot="image" id="tintImage" template-i-d="[[vehicle.vehicleTemplate.id]]"></vehicle-tint-image> 94 </vehicle-template-info> 95 </div> 96 97 <div class="vehicle-profile"> 98 <div class="vehicle-details" id="vehicleDetails"> 99 <div class="column"> 100 <h3 class="column-title">[[_lang('information')]]</h3> 101 <div> 102 <paper-input label="[[_lang('name')]]*" value="{{vehicle.name}}" required></paper-input> 103 <number-input label="[[_lang('batteryCapacity')]]" type="float" value="{{vehicle.batteryCapacity}}" step="0.1"><span slot="suffix">kWh</span></number-input> 104 <number-input label="[[_lang('range')]]" type="float" value="{{vehicle.rangeKm}}"><span slot="suffix">km</span></number-input> 105 106 <color-input style="flex: 1" label="[[_lang('color')]]" value="{{vehicle.color}}"></color-input> 107 108 <template is="dom-if" if="[[managed]]"> 109 <select-partner-input value="{{vehicle.partner}}"></select-partner-input> 110 <select-user-input label="user" value="{{vehicle.user}}"></select-user-input> 111 </template> 112 </div> 113 </div> 114 </div> 115 </div> 116 </div> 117 </paper-material> 118 </div> 119 120 <dialog-wrapper label="[[_lang('selectVehicleTemplate')]]" icon="directions-car" id="selectVehicleTemplate"> 121 <select-vehicle-template></select-vehicle-template> 122 <div slot="action-buttons" class="action-buttons"> 123 <template is="dom-if" if="[[vehicle.vehicleTemplate.id]]"> 124 <paper-button dialog-dismiss class="cancel-button">[[_lang('close')]]</paper-button> 125 </template> 126 <template is="dom-if" if="[[!vehicle.vehicleTemplate.id]]"> 127 <a href$="[[basePath]]" dialog-dismiss> 128 <paper-button class="cancel-button">[[_lang('close')]]</paper-button> 129 </a> 130 </template> 131 <paper-button on-click="_selectConfiguration">[[_lang('accept')]]</paper-button> 132 </div> 133 </dialog-wrapper> 134 `}static get properties(){return{loading:Boolean,sending:Boolean,error:Object,vehicleID:Number,managed:{type:Boolean,value:!1},basePath:{type:String,computed:"_computeBasePath(managed)"},vehicle:{type:Object,value:()=>({})}}}static get observers(){return["_observeColorChange(vehicle.color)"]}_computeBasePath(e){return e?"/managed-vehicles":"/vehicles"}onPageEnter(){window.vehicleEdit=this,this.setRoleAndPermissionData()}onPageLeave(){super.onPageLeave?.(),this.abortSignal("xhr"),this.timeoutClear()}init(e){let{vehicleID:t}=e.params;if(this.set("vehicleID",parseInt(t)),this.set("vehicle",this.clone(s)),this.setMultiple("loading","sending",!1),this.clearErrorFromResponse(),this.get("vehicleID"))this.refresh();else{this.updateRoute(this.get("managed")?"managed-vehicle-creation":"vehicle-creation");let l=this._parseQuery(e.queryString);l.templateID?this._refreshVehicleTemplate(l.templateID):this._openSelectVehicleTemplatePopup()}}refresh(){this.set("loading",!0),this.clearErrorFromResponse();let e=this.createSignal();i.getItemForEdit(this.get("vehicleID"),e).then(t=>{this.set("vehicle",t),t.vehicleTemplate&&this._refreshVehicleTemplate(t.vehicleTemplate.id),this.updatePageTitleWithValue(t.name)},t=>{this.setErrorFromResponse(t),this.timeoutRefresh()}).finally(()=>{this.set("loading",!1),this.set("xhr",null)})}_refreshVehicleTemplate(e){m.getItem(e).then(t=>{this._applyConfiguration(t)},()=>{window.toaster.show(this._lang("vehicleTemplateFetchError"))})}_save(){this.set("sending",!0);const{vehicleID:e,vehicle:t}=this;if(this.checkMandatoryFields(this.$$("#vehicleDetails")))window.toaster.show(this._lang("allFieldsNotFill")),this._handleFinally();else if(e)this.wrapWith("update",i.updateItem(t)).then(this._handleSuccess.bind(this),()=>{window.toaster.show(this._lang("vehicleUpdateError"))}).finally(this._handleFinally.bind(this));else{const l=this.get("managed")?i.createManagedItem(t):i.createItem(t);this.wrapWith("create",l).then(this._handleSuccess.bind(this),()=>{window.toaster.show(this._lang("vehicleCreateError"))}).finally(this._handleFinally.bind(this))}}_handleSuccess(e){this._invalidateVehicleListings(),e.create?window.toaster.show(this._lang("vehicleCreateSuccess")):window.toaster.show(this._lang("vehicleUpdateSuccess")),page.redirect(this.get("basePath")+"/"+(e.create||e.update).id)}_invalidateVehicleListings(){this.invalidateListingData("vehicles-listing"),this.invalidateListingData("managed-vehicles-listing"),this.invalidateListingData("user-vehicles")}_handleFinally(){this.set("sending",!1)}_delete(){window.confirmDialog({title:this._lang("deleteVehicle"),message:this._lang("deleteVehicleMessage"),entity:this.get("vehicle.name")}).then(()=>{this.set("sending",!0),i.deleteItem(this.get("vehicleID")).then(()=>{window.toaster.show(this._lang("vehicleDeletedSuccess")),this._invalidateVehicleListings(),page.redirect(this.get("basePath"))},()=>{window.toaster.show(this._lang("vehicleDeletedError"))}).finally(()=>{this.set("sending",!1)})})}_openSelectVehicleTemplatePopup(){this.appImport(()=>n(()=>import("./select-vehicle-template-CGKR25d0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),"/src/elements/vehicle/vehicleTemplates/select/select-vehicle-template.js").then(()=>{this.$$("#selectVehicleTemplate").open(this.get("vehicle.vehicleTemplate.id"))})}_selectConfiguration(){let e=this.$$("#selectVehicleTemplate");if(e){let t=e.getData();t?(this._applyConfiguration(t),this.updateQueryStringParameter("templateID",t.id),e.close()):window.toaster.show(this._lang("selectConfigurationMessage"))}}_applyConfiguration(e){this.set("vehicle.vehicleTemplate",e),!this.get("vehicle.batteryCapacity")&&this.set("vehicle.batteryCapacity",e.defaultBatteryCapacity),!this.get("vehicle.rangeKm")&&this.set("vehicle.rangeKm",e.defaultRangeKm)}_observeColorChange(e){this._debouncer=c.debounce(this._debouncer,p.after(400),()=>{this.$$("#tintImage").set("color",e)})}}window.customElements.define("vehicle-edit",d); 135//# sourceMappingURL=vehicle-edit-BuZmypoc.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.