From b79f490f1761c2c5a04467f007d25dd4a2d14d45 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Thu, 3 Apr 2025 01:08:29 +0200 Subject: [PATCH 01/32] add check horas planning plana --- .../Controllers/Produccion/Ordentrabajo.php | 9 ++++--- ci4/app/Language/es/Produccion.php | 1 + ci4/app/Services/ProductionService.php | 22 ++++++++-------- .../tables/planning_plana_table.php | 4 ++- .../components/tables/planning_rot_table.php | 3 ++- .../planning_rotativa/planning_rotativa.js | 26 ++++++++++++++----- 6 files changed, 42 insertions(+), 23 deletions(-) diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index 0fef800c..002f388c 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -193,8 +193,8 @@ class Ordentrabajo extends BaseController $q = $this->produccionService->papelGramajeDatatableQuery(); return DataTable::of($q) - ->edit("tiempoReal", fn($q) => $q->tiempoReal * 3600) - ->add("action", fn($q) => ["title" => lang('Produccion.datatable.filter_by_task'), 'data' => $q]) + ->edit("tiempoReal", fn($q) => $q->tiempoReal) + ->add("action", fn($q) => ["title" => lang('Produccion.datatable.filter_by_paper'), 'data' => $q]) ->toJson(true); } public function papel_pliego_datatable() @@ -202,8 +202,8 @@ class Ordentrabajo extends BaseController $q = $this->produccionService->papelPliegoDatatableQuery(); return DataTable::of($q) - ->edit("tiempoReal", fn($q) => $q->tiempoReal * 3600) - ->add("action", fn($q) => ["title" => lang('Produccion.datatable.filter_by_task'), 'data' => $q]) + ->edit("tiempoReal", fn($q) => $q->tiempoReal) + ->add("action", fn($q) => ["title" => lang('Produccion.datatable.filter_by_paper'), 'data' => $q]) ->toJson(true); } public function reset_tareas(int $orden_trabajo_id) @@ -297,6 +297,7 @@ class Ordentrabajo extends BaseController { $q = $this->produccionService->planningPlanaQueryDatatable(); return DataTable::of($q) + ->edit("tiempo_real_sum", fn($q) => $q->tiempo_real_sum) ->edit("fecha_entrega_real_at", fn($q) => $q->fecha_entrega_real_at ? Time::createFromFormat("Y-m-d", $q->fecha_entrega_real_at)->format("d/m/Y") : "") ->add("pliegos_check", fn($q) => $q->otId) ->add("action", fn($q) => $q) diff --git a/ci4/app/Language/es/Produccion.php b/ci4/app/Language/es/Produccion.php index da69474a..9ba1dcd0 100644 --- a/ci4/app/Language/es/Produccion.php +++ b/ci4/app/Language/es/Produccion.php @@ -24,6 +24,7 @@ return [ "progreso" => "Progreso", "logo" => "Logo impresion", "filter_by_task" => "Filtrar por tarea", + "filter_by_paper" => "Filtrar por papel", "metros" => "Metros", "corte" => "Corte", "pliegos" => "Pliegos", diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index 15b8b2a8..cf7482df 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -329,6 +329,8 @@ class ProductionService extends BaseService $ot_tareas["nombre"] = $p_linea->tarifa()->nombre; $ot_tareas["orden"] = $linea_maquina->orden_planning ?? 110; $ot_tareas["maquina_id"] = $linea_maquina->id; + $ot_tareas["tiempo_estimado"] = $p_linea->tiempo; + $ot_tareas["tiempo_real"] = $p_linea->tiempo; $ot_tareas["imposicion_id"] = null; $this->otTarea->insert($ot_tareas); $ot_tareas = []; @@ -336,6 +338,8 @@ class ProductionService extends BaseService $ot_tareas["orden_trabajo_id"] = $this->ot->id; $ot_tareas["presupuesto_encuadernado_id"] = $p_linea->id; $ot_tareas["nombre"] = $p_linea->tarifa()->nombre ?? ""; + $ot_tareas["tiempo_estimado"] = $p_linea->tiempo; + $ot_tareas["tiempo_real"] = $p_linea->tiempo; $ot_tareas["orden"] = 110; $this->otTarea->insert($ot_tareas); } @@ -443,13 +447,8 @@ class ProductionService extends BaseService "lg_papel_formato.ancho as papel_ancho", "lg_papel_formato.alto as papel_alto", "presupuesto_linea.rotativa_metros_total as metros", - // "JSON_EXTRACT(presupuesto_linea.formas,'$.maquina_ancho') as maquina_ancho", - // "JSON_EXTRACT(presupuesto_linea.formas,'$.maquina_alto') as maquina_alto", "lg_papel_impresion.nombre as papel_impresion", "presupuesto_linea.gramaje as papel_gramaje", - - - ]) ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") ->join("orden_trabajo_dates", "orden_trabajo_dates.orden_trabajo_id = ordenes_trabajo.id", "left") @@ -460,11 +459,12 @@ class ProductionService extends BaseService ->join("lg_papel_impresion", "lg_papel_impresion.id = presupuesto_linea.papel_impresion_id", "left") ->join("lg_maquinas as lgmp", "lgmp.id = presupuesto_linea.maquina_id", "left") ->join("lg_imposiciones", "lg_imposiciones.id = orden_trabajo_tareas.imposicion_id", "left") - // ->where("orden_trabajo_tareas.orden_trabajo_id", $this->ot->id) ->whereIn("presupuesto_linea.tipo", $this->TIPOS_ROTATIVA) ->where('lg_maquinas.is_rotativa', true) ->where("orden_trabajo_tareas.deleted_at", null) - ->orderBy("orden_trabajo_tareas.orden", "ASC"); + ->orderBy("orden_trabajo_tareas.orden", "ASC") + ->groupBy('ordenes_trabajo.id'); + return $q; } /** @@ -488,9 +488,7 @@ class ProductionService extends BaseService // "JSON_EXTRACT(presupuesto_linea.formas,'$.maquina_alto') as maquina_alto", "lg_papel_impresion.nombre as papel_impresion", "presupuesto_linea.gramaje as papel_gramaje", - - - + "SUM(orden_trabajo_tareas.tiempo_real) as tiempo_real_sum" ]) ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") ->join("orden_trabajo_dates", "orden_trabajo_dates.orden_trabajo_id = ordenes_trabajo.id", "left") @@ -505,7 +503,9 @@ class ProductionService extends BaseService ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) ->where('lg_maquinas.is_rotativa', false) ->where("orden_trabajo_tareas.deleted_at", null) - ->orderBy("orden_trabajo_tareas.orden", "ASC"); + ->orderBy("orden_trabajo_tareas.orden", "ASC") + ->groupBy('ordenes_trabajo.id'); + return $q; } /** diff --git a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php index e0e9aac3..4a95b44b 100644 --- a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php +++ b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php @@ -14,6 +14,7 @@ + @@ -25,13 +26,14 @@ - +
+ diff --git a/ci4/app/Views/themes/vuexy/components/tables/planning_rot_table.php b/ci4/app/Views/themes/vuexy/components/tables/planning_rot_table.php index f12d2c00..5d0c80ad 100644 --- a/ci4/app/Views/themes/vuexy/components/tables/planning_rot_table.php +++ b/ci4/app/Views/themes/vuexy/components/tables/planning_rot_table.php @@ -15,6 +15,7 @@ + @@ -26,7 +27,7 @@ - + ` }, { data: 'metros', searchable: false, sortable: false, render: d => `${d}` }, + { data: 'action', searchable: false, sortable: false, render: this._renderBtnAction }, ] @@ -41,9 +44,10 @@ class PlanningRotativa { { data: 'papel_ancho', searchable: false, sortable: false, width: "5rem", render: d => `${d}` }, { data: 'papel_alto', searchable: false, sortable: false, width: "5rem", render: d => `${d}` }, { data: 'papel_impresion', searchable: false, sortable: false }, - { data: 'papel_gramaje', searchable: false, sortable: false, width: "5rem", render: d => `${d}` }, + { data: 'papel_gramaje', name:"presupuesto_linea.gramaje", searchable: false, sortable: false, width: "5rem", render: d => `${d}` }, { data: 'pliegos_check', searchable: false, sortable: false, render: d => `` }, { data: 'pliegosPedido', searchable: false, sortable: false, render: d => `${d}` }, + { data: 'tiempo_real_sum', searchable: false, sortable: false,render: d => this.formatSeconds(parseFloat(d))}, { data: 'action', searchable: false, sortable: false, render: this._renderBtnAction }, ] @@ -112,6 +116,7 @@ class PlanningRotativa { this.totalMetrosSel = new AutoNumeric(this.item.find('#metros-sel-total')[0], autoNumericOptions); this.totalPliegos = new AutoNumeric(this.item.find('#total-pliegos')[0], autoNumericPliegosOptions); this.totalPliegosSel = new AutoNumeric(this.item.find('#pliegos-sel-total')[0], autoNumericPliegosOptions); + this.maquinaSelectFilter.init() this.papelImpresionFilter.init() this.maquinaSelectFilterPlana.init() @@ -261,25 +266,27 @@ class PlanningRotativa { } getPapelImpresionSuccess(response) { this.papelImpresionFilter.setOption(response.id, response.nombre) - this.tablePlanningRot.find('input[name=gramaje]').val(response.gramaje).trigger("change") + this.tablePlanningRot.find('input[name=papel_gramaje]').val(response.gramaje).trigger("change") this.papelImpresionHeader.text(response.nombre) } getPapelImpresionError(response) { } getPapelImpresionPlanaSuccess(response) { this.papelImpresionFilterPlana.setOption(response.id, response.nombre) - this.tablePlanningPlana.find('input[name=gramaje]').val(response.gramaje).trigger("change") + this.tablePlanningPlana.find('input[name=papel_gramaje]').val(response.gramaje).trigger("change") this.papelImpresionPlanaHeader.text(response.nombre) } getPapelImpresionPlanaError(response) { } formatSeconds(s) { - return [parseInt(s / 60 / 60), parseInt(s / 60 % 60)].join(':').replace(/\b(\d)\b/g, '0$1'); + const hours = Math.floor(s / 60 / 60) + const minutes = Math.floor(s / 60 % 60) + return [hours, minutes].join(':').replace(/\b(\d)\b/g, '0$1'); } addTotalFooter() { const seconds = this.papelGramajeDatatable.column(5).data().reduce((a, b) => { return parseFloat(a) + parseFloat(b) }, 0) const metros = this.papelGramajeDatatable.column(4).data().map((e) => parseFloat(e)) - $('#total-tiempo-papel').text(this.formatSeconds(seconds)) + $('#total-tiempo-papel').text(this.formatSeconds(parseInt(seconds))) this.totalMetros.set(metros.reduce((a, b) => a + b, 0)) @@ -305,7 +312,14 @@ class PlanningRotativa { const metros_sel = this.datatablePlanningPlana.rows((idx, data, node) => { return $(node).find('input[type="checkbox"]').prop('checked'); }).data().toArray().map((e) => parseInt(e.pliegosPedido)) + const tiempo_total_sel = this.datatablePlanningPlana.rows((idx, data, node) => { + return $(node).find('input[type="checkbox"]').prop('checked'); + }).data().toArray().map((e) => parseFloat(e.tiempo_real_sum)) this.totalPliegosSel.set(metros_sel.reduce((a, b) => a + b, 0)) + const totalSeconds = tiempo_total_sel.reduce((a,b) => a+b,0) + console.log("Total seconds",totalSeconds); + this.tiempoPlanaTotal.text(this.formatSeconds(totalSeconds)) + } renderCorteImage(data) { From b141dcacb8f44df1c09298597af63e5671e6bafe Mon Sep 17 00:00:00 2001 From: amazuecos Date: Fri, 4 Apr 2025 00:51:06 +0200 Subject: [PATCH 02/32] add upload get files for ots --- ci4/app/Config/Routes.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 95f60c04..92c10179 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -1001,6 +1001,11 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func $routes->post("upload/portada", 'Ordentrabajo::upload_orden_trabajo_portada'); $routes->delete("portada/(:num)", 'Ordentrabajo::delete_orden_trabajo_portada/$1'); + /**====================== + * FILES + *========================**/ + $routes->post('get_files', 'Ordentrabajo::get_files'); + $routes->post('upload_files', 'Ordentrabajo::upload_files'); /**====================== * PDF *========================**/ From 1777f435d9a0c6a7e8b4cbc9d2ef8a400b95e29b Mon Sep 17 00:00:00 2001 From: amazuecos Date: Fri, 4 Apr 2025 00:51:43 +0200 Subject: [PATCH 03/32] get file and upload_files methods --- .../Controllers/Produccion/Ordentrabajo.php | 61 ++++++++++++++++--- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index 002f388c..35f7334c 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -168,7 +168,7 @@ class Ordentrabajo extends BaseController ->add("logo", fn($q) => site_url($logo->get_logo_path($q->presupuesto_linea_tipo))) ->edit( "fecha_encuadernado_at", - fn($q) =>$q->fecha_encuadernado_at ? Time::createFromFormat("Y-m-d", $q->fecha_encuadernado_at)->format("d/m/Y") : "" + fn($q) => $q->fecha_encuadernado_at ? Time::createFromFormat("Y-m-d", $q->fecha_encuadernado_at)->format("d/m/Y") : "" ) ->add("action", fn($q) => $q->id) ->toJson(true); @@ -260,7 +260,7 @@ class Ordentrabajo extends BaseController $otEntity = $this->otModel->find($orden_trabajo_id); $pathActualFile = $otEntity->portada_path; $fullPath = WRITEPATH . 'uploads/' . $pathActualFile; - if(file_exists($fullPath)){ + if (file_exists($fullPath)) { delete_files($fullPath); } $r = $this->otModel->update($otEntity->id, ["portada_path" => null]); @@ -289,7 +289,7 @@ class Ordentrabajo extends BaseController return DataTable::of($q) ->edit("fecha_entrega_real_at", fn($q) => $q->fecha_entrega_real_at ? Time::createFromFormat("Y-m-d", $q->fecha_entrega_real_at)->format("d/m/Y") : "") ->add("metros_check", fn($q) => $q->otId) - ->add("corte", fn($q) => ["otId" => $q->otId,"tipo_corte" => $this->produccionService->ordenTrabajoTareaCorte($q->otId)]) + ->add("corte", fn($q) => ["otId" => $q->otId, "tipo_corte" => $this->produccionService->ordenTrabajoTareaCorte($q->otId)]) ->add("action", fn($q) => $q) ->toJson(true); } @@ -303,22 +303,26 @@ class Ordentrabajo extends BaseController ->add("action", fn($q) => $q) ->toJson(true); } - public function select_maquina_planning_rot(){ + public function select_maquina_planning_rot() + { $q = $this->request->getGet('q'); $result = $this->produccionService->querySelectMaquinaPlanningRotativa($q); return $this->response->setJSON($result); } - public function select_papel_planning_rot(){ + public function select_papel_planning_rot() + { $q = $this->request->getGet('q'); $result = $this->produccionService->querySelectPapelPlanningRot($q); return $this->response->setJSON($result); } - public function select_maquina_planning_plana(){ + public function select_maquina_planning_plana() + { $q = $this->request->getGet('q'); $result = $this->produccionService->querySelectMaquinaPlanningPlana($q); return $this->response->setJSON($result); } - public function select_papel_planning_plana(){ + public function select_papel_planning_plana() + { $q = $this->request->getGet('q'); $result = $this->produccionService->querySelectPapelPlanningPlana($q); return $this->response->setJSON($result); @@ -326,7 +330,46 @@ class Ordentrabajo extends BaseController public function tarea_toggle_corte($orden_trabajo_id) { $status = $this->produccionService->tareaUpdateMaquinaCorte($orden_trabajo_id); - return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $status ]); + return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $status]); + } + public function get_files() { + $bodyData = $this->request->getPost(); + $files = $this->produccionService->init($bodyData["orden_trabajo_id"])->getOtFiles(); + $response = []; + foreach ($files as $key => $file) { + $file_ci4 = new File($file->file_path); + $response[] = [ + "name" => $file->name, + "size" => $file_ci4->getSize(), + "hash" => $file->hash() + ]; + } + return json_encode($response); + } + public function upload_files() + { + try { + //code... + $otFiles = []; + $bodyData = $this->request->getPost(); + $files = $this->request->getFileMultiple('file'); + $response = $this->produccionService + ->init($bodyData["orden_trabajo_id"]) + ->storeOtFiles($files); + return $this->response->setJSON([ + "message" => lang("App.global_alert_save_success"), + "data" => $response, + "status" => true + ]); + } catch (\Throwable $th) { + return $this->response->setJSON( + [ + "message" => lang("App.global_alert_save_error"), + "data" => $th, + "error" => $th->getMessage(), + "status" => false + ] + ); + } } - } From 00ff185cf165ded9eb3eb52c30ac2ea6332d72c9 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Fri, 4 Apr 2025 00:51:55 +0200 Subject: [PATCH 04/32] orden_trabajo_files_table migrate --- ...25-04-03-233800_OrdenTrabajoFilesTable.php | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 ci4/app/Database/Migrations/2025-04-03-233800_OrdenTrabajoFilesTable.php diff --git a/ci4/app/Database/Migrations/2025-04-03-233800_OrdenTrabajoFilesTable.php b/ci4/app/Database/Migrations/2025-04-03-233800_OrdenTrabajoFilesTable.php new file mode 100644 index 00000000..788b3518 --- /dev/null +++ b/ci4/app/Database/Migrations/2025-04-03-233800_OrdenTrabajoFilesTable.php @@ -0,0 +1,63 @@ + [ + "type" => "INT", + "unsigned" => true, + "auto_increment" => true + ], + "orden_trabajo_id" => [ + "type" => "INT", + "unsigned" => true, + ], + "name" => [ + "type" => "TEXT", + ], + "upload_by" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + ], + "file_path" => [ + "type" => "TEXT", + ] + ]; + + public function up() + { + $this->forge->addField($this->COLUMNS); + $currenttime = new RawSql("CURRENT_TIMESTAMP"); + $this->forge->addField([ + "created_at" => [ + "type" => "TIMESTAMP", + "default" => $currenttime, + + ], + "updated_at" => [ + "type" => "TIMESTAMP", + "null" => true, + + ], + "deleted_at" => [ + "type" => "TIMESTAMP", + "null" => true, + ], + ]); + $this->forge->addPrimaryKey("id"); + $this->forge->addForeignKey("upload_by", "users", "id","CASCADE","CASCADE"); + $this->forge->addForeignKey("orden_trabajo_id", "ordenes_trabajo", "id","CASCADE","CASCADE"); + $this->forge->createTable("orden_trabajo_files", true); + } + + public function down() + { + $this->forge->dropTable("orden_trabajo_files"); + } +} From 3d6e8b48869adfedd11d760c54586f287d9cdd84 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Fri, 4 Apr 2025 00:52:41 +0200 Subject: [PATCH 05/32] update with ot files --- .../Produccion/OrdenTrabajoEntity.php | 6 ++ .../Produccion/OrdenTrabajoFileEntity.php | 32 +++++++++++ .../OrdenTrabajo/OrdenTrabajoFileModel.php | 56 +++++++++++++++++++ ci4/app/Services/ProductionService.php | 45 ++++++++++++++- .../themes/vuexy/components/dropzone.php | 4 +- .../vuexy/form/produccion/ot/otFiles.php | 5 ++ .../form/produccion/viewOrdenTrabajoEdit.php | 19 ++++--- .../components/forms/fileUploadDropzone.js | 2 +- .../assets/js/safekat/pages/produccion/ot.js | 22 +++++++- 9 files changed, 174 insertions(+), 17 deletions(-) create mode 100644 ci4/app/Entities/Produccion/OrdenTrabajoFileEntity.php create mode 100644 ci4/app/Models/OrdenTrabajo/OrdenTrabajoFileModel.php create mode 100644 ci4/app/Views/themes/vuexy/form/produccion/ot/otFiles.php diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php index 329a3e3f..81df1687 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php @@ -6,6 +6,7 @@ use App\Controllers\Produccion\Ordentrabajo; use App\Database\Migrations\OrdenTrabajoDatesTable; use App\Entities\Pedidos\PedidoEntity; use App\Models\OrdenTrabajo\OrdenTrabajoDate; +use App\Models\OrdenTrabajo\OrdenTrabajoFileModel; use App\Models\OrdenTrabajo\OrdenTrabajoTarea; use App\Models\OrdenTrabajo\OrdenTrabajoUser; use App\Models\Pedidos\PedidoModel; @@ -109,4 +110,9 @@ class OrdenTrabajoEntity extends Entity $barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id); return base64_encode($renderer->render($barcodeData,200, 50)); } + public function files() : array + { + $m = model(OrdenTrabajoFileModel::class); + return $m->where('orden_trabajo_id',$this->attributes['id'])->findAll() ?? []; + } } diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoFileEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoFileEntity.php new file mode 100644 index 00000000..87d9de3a --- /dev/null +++ b/ci4/app/Entities/Produccion/OrdenTrabajoFileEntity.php @@ -0,0 +1,32 @@ + null, + "name" => null, + "upload_by" => null, + "file_path" => null + ]; + protected $casts = [ + "orden_trabajo_id" => "integer", + "name" => "string", + "upload_by" => "integer", + "file_path" => "string" + ]; + + public function orden_trabajo(): ?OrdenTrabajoEntity + { + $m = model(OrdenTrabajoModel::class); + return $m->find($this->attributes["orden_trabajo_id"]); + } + public function hash(): string + { + return array_reverse(explode('/', $this->attributes["file_path"]))[0]; + } +} diff --git a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoFileModel.php b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoFileModel.php new file mode 100644 index 00000000..5676317b --- /dev/null +++ b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoFileModel.php @@ -0,0 +1,56 @@ +otTarea = model(OrdenTrabajoTarea::class); $this->otUser = model(OrdenTrabajoUser::class); $this->userModel = model(UserModel::class); + $this->otFileModel = model(OrdenTrabajoFileModel::class); } public function init(int $orden_trabajo_id): self { @@ -894,7 +899,8 @@ class ProductionService extends BaseService ->join("lg_papel_impresion", "presupuesto_linea.papel_impresion_id = lg_papel_impresion.id", "left") ->join("lg_papel_formato", "lg_papel_formato.id = presupuestos.papel_formato_id", "left") ->where("orden_trabajo_tareas.deleted_at", null) - ->where("orden_trabajo_tareas.presupuesto_linea_id IS NOT NULL", NULL, FALSE) + ->where("orden_trabajo_tareas.presupuesto_linea_ + id IS NOT NULL", NULL, FALSE) ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) ->groupBy('lg_papel_impresion.id'); if ($q) { @@ -926,4 +932,37 @@ class ProductionService extends BaseService { return $this->otTarea->where('orden_trabajo_id', $ot_id)->where('is_corte', true)?->first()->tipo_corte ?? null; } + + public function getOtFiles() : array + { + $otFiles = $this->ot->files(); + return $otFiles; + } + public function storeOtFiles(array $uploadFiles): array + { + $otFileEntities = []; + foreach ($uploadFiles as $uploadFile) { + $otFileEntities[] = $this->storeOtFile($uploadFile); + } + return $otFileEntities; + } + protected function storeOtFile(UploadedFile $file) : ?OrdenTrabajoFileEntity + { + $result = null; + if($this->ot){ + if ($file->isValid() && !$file->hasMoved()) { + $fullpath = $file->store('orden_trabajo/'.$this->ot->id); + $ot_file_id = $this->otFileModel->insert([ + "orden_trabajo_id" => $this->ot->id, + "name" => $file->getClientName(), + "file_path" => WRITEPATH.'uploads/'.$fullpath, + "upload_by" => auth()->user()->id + ]); + $result = $this->otFileModel->find($ot_file_id); + } + return $result; + }else{ + throw new Exception('No se ha especificado una orden de trabajo. Usa $this->producctionService->init($orden_trabajo_id)'); + } + } } diff --git a/ci4/app/Views/themes/vuexy/components/dropzone.php b/ci4/app/Views/themes/vuexy/components/dropzone.php index 886d4d24..8da70305 100644 --- a/ci4/app/Views/themes/vuexy/components/dropzone.php +++ b/ci4/app/Views/themes/vuexy/components/dropzone.php @@ -22,11 +22,11 @@
- - diff --git a/ci4/app/Views/themes/vuexy/form/produccion/ot/otFiles.php b/ci4/app/Views/themes/vuexy/form/produccion/ot/otFiles.php new file mode 100644 index 00000000..40b4185a --- /dev/null +++ b/ci4/app/Views/themes/vuexy/form/produccion/ot/otFiles.php @@ -0,0 +1,5 @@ +
+
+ 'dropzone-ot-files','modelId' => $modelId]) ?> +
+
\ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php b/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php index f6b947fb..f566213e 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php @@ -9,10 +9,13 @@
-
+
+
+ +
@@ -31,19 +34,19 @@
- -
- +
+
+ "> - - + + -
+
"}if(s.innerHTML=u+"
"+g+"
"+j+w+"
"+m+""+v+"
",!a.document.getElementById(s.id)){a.document.body.appendChild(s);var B=a.document.getElementById(s.id),C=a.document.getElementById("NXConfirmButtonOk"),D=a.document.getElementById("NXConfirmValidationInput");if(D&&(D.focus(),D.setSelectionRange(0,(D.value||"").length),D.addEventListener("keyup",function(a){var b=a.target.value;if(e===c.Ask&&b!==x)a.preventDefault(),D.classList.add("nx-validation-failure"),D.classList.remove("nx-validation-success");else{e===c.Ask&&(D.classList.remove("nx-validation-failure"),D.classList.add("nx-validation-success"));var d="enter"===(a.key||"").toLocaleLowerCase("en")||13===a.keyCode;d&&C.dispatchEvent(new Event("click"))}})),C.addEventListener("click",function(a){if(e===c.Ask&&x&&D){var d=(D.value||"").toString();if(d!==x)return D.focus(),D.classList.add("nx-validation-failure"),a.stopPropagation(),a.preventDefault(),a.returnValue=!1,a.cancelBubble=!0,!1;D.classList.remove("nx-validation-failure")}"function"==typeof o&&(e===c.Prompt&&D&&(y=D.value||""),o(y)),B.classList.add("nx-remove");var f=setTimeout(function(){null!==B.parentNode&&(B.parentNode.removeChild(B),clearTimeout(f))},b.cssAnimationDuration)}),"function"==typeof o){var E=a.document.getElementById("NXConfirmButtonCancel");E.addEventListener("click",function(){"function"==typeof p&&(e===c.Prompt&&D&&(y=D.value||""),p(y)),B.classList.add("nx-remove");var a=setTimeout(function(){null!==B.parentNode&&(B.parentNode.removeChild(B),clearTimeout(a))},b.cssAnimationDuration)})}}b=h(!0,b,r)},l={Confirm:{init:function(a){b=h(!0,d,a),g(j,"NotiflixConfirmInternalCSS")},merge:function(a){return b?void(b=h(!0,b,a)):(e("You have to initialize the Confirm module before call Merge function."),!1)},show:function(a,b,d,e,f,g,h){k(c.Show,a,b,null,d,e,f,g,h)},ask:function(a,b,d,e,f,g,h,i){k(c.Ask,a,b,d,e,f,g,h,i)},prompt:function(a,b,d,e,f,g,h,i){k(c.Prompt,a,b,d,e,f,g,h,i)}}};return"object"==typeof a.Notiflix?h(!0,a.Notiflix,{Confirm:l.Confirm}):{Confirm:l.Confirm}}); \ No newline at end of file diff --git a/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-loading-aio-3.2.8.min.js b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-loading-aio-3.2.8.min.js new file mode 100644 index 00000000..8094e537 --- /dev/null +++ b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-loading-aio-3.2.8.min.js @@ -0,0 +1,3 @@ +/* Notiflix Loading AIO (https://notiflix.github.io) - Version: 3.2.8 - Author: Furkan (https://github.com/furcan) - Copyright 2019 - 2025 Notiflix, MIT License (https://opensource.org/licenses/MIT) */ + +(function(a,b){"function"==typeof define&&define.amd?define([],function(){return b(a)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=b(a):a.Notiflix=b(a)})("undefined"==typeof global?"undefined"==typeof window?this:window:global,function(a){'use strict';if("undefined"==typeof a&&"undefined"==typeof a.document)return!1;var b,c={Standard:"Standard",Hourglass:"Hourglass",Circle:"Circle",Arrows:"Arrows",Dots:"Dots",Pulse:"Pulse",Custom:"Custom",Notiflix:"Notiflix"},d={ID:"NotiflixLoadingWrap",className:"notiflix-loading",zindex:4e3,backgroundColor:"rgba(0,0,0,0.8)",rtl:!1,fontFamily:"Quicksand",cssAnimation:!0,cssAnimationDuration:400,clickToClose:!1,customSvgUrl:null,customSvgCode:null,svgSize:"80px",svgColor:"#32c682",messageID:"NotiflixLoadingMessage",messageFontSize:"15px",messageMaxLength:34,messageColor:"#dcdcdc"},e=function(a){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+a+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},f=function(b){return b||(b="head"),void 0!==a.document[b]||(e("\nNotiflix needs to be appended to the \"<"+b+">\" element, but you called it before the \"<"+b+">\" element has been created."),!1)},g=function(b,c){if(!f("head"))return!1;if(null!==b()&&!a.document.getElementById(c)){var d=a.document.createElement("style");d.id=c,d.innerHTML=b(),a.document.head.appendChild(d)}},h=function(){var a={},b=!1,c=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(b=arguments[0],c++);for(var d=function(c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=b&&"[object Object]"===Object.prototype.toString.call(c[d])?h(a[d],c[d]):c[d])};c";return c},k=function(a,b){a||(a="60px"),b||(b="#32c682");var c="";return c},l=function(a,b){a||(a="60px"),b||(b="#32c682");var c="";return c},m=function(a,b){a||(a="60px"),b||(b="#32c682");var c="";return c},n=function(a,b){a||(a="60px"),b||(b="#32c682");var c="";return c},o=function(a,b){a||(a="60px"),b||(b="#32c682");var c="";return c},p=function(a,b,c){a||(a="60px"),b||(b="#f8f8f8"),c||(c="#32c682");var d="";return d},q=function(){return"[id^=NotiflixLoadingWrap]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:4000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;margin:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.8);font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif}[id^=NotiflixLoadingWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixLoadingWrap].nx-loading-click-to-close{cursor:pointer}[id^=NotiflixLoadingWrap]>div[class*=\"-icon\"]{width:60px;height:60px;position:relative;-webkit-transition:top .2s ease-in-out;-o-transition:top .2s ease-in-out;transition:top .2s ease-in-out;margin:0 auto}[id^=NotiflixLoadingWrap]>div[class*=\"-icon\"] img,[id^=NotiflixLoadingWrap]>div[class*=\"-icon\"] svg{max-width:unset;max-height:unset;width:100%;height:auto;position:absolute;left:0;top:0}[id^=NotiflixLoadingWrap]>p{position:relative;margin:10px auto 0;font-family:inherit!important;font-weight:normal;font-size:15px;line-height:1.4;padding:0 10px;width:100%;text-align:center}[id^=NotiflixLoadingWrap].nx-with-animation{-webkit-animation:loading-animation-fade .3s ease-in-out 0s normal;animation:loading-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes loading-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes loading-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixLoadingWrap].nx-with-animation.nx-remove{opacity:0;-webkit-animation:loading-animation-fade-remove .3s ease-in-out 0s normal;animation:loading-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes loading-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes loading-animation-fade-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixLoadingWrap]>p.nx-loading-message-new{-webkit-animation:loading-new-message-fade .3s ease-in-out 0s normal;animation:loading-new-message-fade .3s ease-in-out 0s normal}@-webkit-keyframes loading-new-message-fade{0%{opacity:0}100%{opacity:1}}@keyframes loading-new-message-fade{0%{opacity:0}100%{opacity:1}}"},r=function(g,q,r,s,u){if(!f("body"))return!1;b||t.Loading.init({});var v=h(!0,b,{});if("object"==typeof q&&!Array.isArray(q)||"object"==typeof r&&!Array.isArray(r)){var w={};"object"==typeof q?w=q:"object"==typeof r&&(w=r),b=h(!0,b,w)}var x="";if("string"==typeof q&&0b.messageMaxLength?i(x).toString().substring(0,b.messageMaxLength)+"...":i(x).toString();var y="";0"+x+"

"),b.cssAnimation||(b.cssAnimationDuration=0);var z="";if(g===c.Standard)z=j(b.svgSize,b.svgColor);else if(g===c.Hourglass)z=k(b.svgSize,b.svgColor);else if(g===c.Circle)z=l(b.svgSize,b.svgColor);else if(g===c.Arrows)z=m(b.svgSize,b.svgColor);else if(g===c.Dots)z=n(b.svgSize,b.svgColor);else if(g===c.Pulse)z=o(b.svgSize,b.svgColor);else if(g===c.Custom&&null!==b.customSvgCode&&null===b.customSvgUrl)z=b.customSvgCode||"";else if(g===c.Custom&&null!==b.customSvgUrl&&null===b.customSvgCode)z="\"Notiflix\"";else{if(g===c.Custom&&(null===b.customSvgUrl||null===b.customSvgCode))return e("You have to set a static SVG url to \"customSvgUrl\" option to use Loading Custom."),!1;z=p(b.svgSize,"#f8f8f8","#32c682")}var A=parseInt((b.svgSize||"").replace(/[^0-9]/g,"")),B=a.innerWidth,C=A>=B?B-40+"px":A+"px",D="
"+z+"
",E=a.document.createElement("div");if(E.id=d.ID,E.className=b.className+(b.cssAnimation?" nx-with-animation":"")+(b.clickToClose?" nx-loading-click-to-close":""),E.style.zIndex=b.zindex,E.style.background=b.backgroundColor,E.style.animationDuration=b.cssAnimationDuration+"ms",E.style.fontFamily="\""+b.fontFamily+"\", "+"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif",E.style.display="flex",E.style.flexWrap="wrap",E.style.flexDirection="column",E.style.alignItems="center",E.style.justifyContent="center",b.rtl&&(E.setAttribute("dir","rtl"),E.classList.add("nx-rtl-on")),E.innerHTML=D+y,!a.document.getElementById(E.id)&&(a.document.body.appendChild(E),b.clickToClose)){var F=a.document.getElementById(E.id);F.addEventListener("click",function(){E.classList.add("nx-remove");var a=setTimeout(function(){null!==E.parentNode&&(E.parentNode.removeChild(E),clearTimeout(a))},b.cssAnimationDuration)})}}else if(a.document.getElementById(d.ID))var G=a.document.getElementById(d.ID),H=setTimeout(function(){G.classList.add("nx-remove");var a=setTimeout(function(){null!==G.parentNode&&(G.parentNode.removeChild(G),clearTimeout(a))},b.cssAnimationDuration);clearTimeout(H)},u);b=h(!0,b,v)},s=function(c){"string"!=typeof c&&(c="");var f=a.document.getElementById(d.ID);if(f)if(0b.messageMaxLength?i(c).substring(0,b.messageMaxLength)+"...":i(c);var g=f.getElementsByTagName("p")[0];if(g)g.innerHTML=c;else{var h=a.document.createElement("p");h.id=b.messageID,h.className="nx-loading-message nx-loading-message-new",h.style.color=b.messageColor,h.style.fontSize=b.messageFontSize,h.innerHTML=c,f.appendChild(h)}}else e("Where is the new message?")},t={Loading:{init:function(a){b=h(!0,d,a),g(q,"NotiflixLoadingInternalCSS")},merge:function(a){return b?void(b=h(!0,b,a)):(e("You have to initialize the Loading module before call Merge function."),!1)},standard:function(a,b){r(c.Standard,a,b,!0,0)},hourglass:function(a,b){r(c.Hourglass,a,b,!0,0)},circle:function(a,b){r(c.Circle,a,b,!0,0)},arrows:function(a,b){r(c.Arrows,a,b,!0,0)},dots:function(a,b){r(c.Dots,a,b,!0,0)},pulse:function(a,b){r(c.Pulse,a,b,!0,0)},custom:function(a,b){r(c.Custom,a,b,!0,0)},notiflix:function(a,b){r(c.Notiflix,a,b,!0,0)},remove:function(a){"number"!=typeof a&&(a=0),r(null,null,null,!1,a)},change:function(a){s(a)}}};return"object"==typeof a.Notiflix?h(!0,a.Notiflix,{Loading:t.Loading}):{Loading:t.Loading}}); \ No newline at end of file diff --git a/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-notify-aio-3.2.8.min.js b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-notify-aio-3.2.8.min.js new file mode 100644 index 00000000..3da52683 --- /dev/null +++ b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix-notify-aio-3.2.8.min.js @@ -0,0 +1,3 @@ +/* Notiflix Notify AIO (https://notiflix.github.io) - Version: 3.2.8 - Author: Furkan (https://github.com/furcan) - Copyright 2019 - 2025 Notiflix, MIT License (https://opensource.org/licenses/MIT) */ + +(function(a,b){"function"==typeof define&&define.amd?define([],function(){return b(a)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=b(a):a.Notiflix=b(a)})("undefined"==typeof global?"undefined"==typeof window?this:window:global,function(a){'use strict';if("undefined"==typeof a&&"undefined"==typeof a.document)return!1;var b,c={Success:"Success",Failure:"Failure",Warning:"Warning",Info:"Info"},d={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},e=function(a){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+a+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},f=function(b){return b||(b="head"),void 0!==a.document[b]||(e("\nNotiflix needs to be appended to the \"<"+b+">\" element, but you called it before the \"<"+b+">\" element has been created."),!1)},g=function(b,c){if(!f("head"))return!1;if(null!==b()&&!a.document.getElementById(c)){var d=a.document.createElement("style");d.id=c,d.innerHTML=b(),a.document.head.appendChild(d)}},h=function(){var a={},b=!1,c=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(b=arguments[0],c++);for(var d=function(c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=b&&"[object Object]"===Object.prototype.toString.call(c[d])?h(a[d],c[d]):c[d])};cdiv{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}"},l=0,m=function(e,g,k,m){if(!f("body"))return!1;b||n.Notify.init({});var o=h(!0,b,{});if("object"==typeof k&&!Array.isArray(k)||"object"==typeof m&&!Array.isArray(m)){var p={};"object"==typeof k?p=k:"object"==typeof m&&(p=m),b=h(!0,b,p)}var q=b[e.toLocaleLowerCase("en")];l++,"string"!=typeof g&&(g="Notiflix "+e),b.plainText&&(g=j(g)),!b.plainText&&g.length>b.messageMaxLength&&(b=h(!0,b,{closeButton:!0,messageMaxLength:150}),g="Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option."),g.length>b.messageMaxLength&&(g=g.substring(0,b.messageMaxLength)+"..."),"shadow"===b.fontAwesomeIconStyle&&(q.fontAwesomeIconColor=q.background),b.cssAnimation||(b.cssAnimationDuration=0);var r=a.document.getElementById(d.wrapID)||a.document.createElement("div");if(r.id=d.wrapID,r.style.width=b.width,r.style.zIndex=b.zindex,r.style.opacity=b.opacity,"center-center"===b.position?(r.style.left=b.distance,r.style.top=b.distance,r.style.right=b.distance,r.style.bottom=b.distance,r.style.margin="auto",r.classList.add("nx-flex-center-center"),r.style.maxHeight="calc((100vh - "+b.distance+") - "+b.distance+")",r.style.display="flex",r.style.flexWrap="wrap",r.style.flexDirection="column",r.style.justifyContent="center",r.style.alignItems="center",r.style.pointerEvents="none"):"center-top"===b.position?(r.style.left=b.distance,r.style.right=b.distance,r.style.top=b.distance,r.style.bottom="auto",r.style.margin="auto"):"center-bottom"===b.position?(r.style.left=b.distance,r.style.right=b.distance,r.style.bottom=b.distance,r.style.top="auto",r.style.margin="auto"):"right-bottom"===b.position?(r.style.right=b.distance,r.style.bottom=b.distance,r.style.top="auto",r.style.left="auto"):"left-top"===b.position?(r.style.left=b.distance,r.style.top=b.distance,r.style.right="auto",r.style.bottom="auto"):"left-bottom"===b.position?(r.style.left=b.distance,r.style.bottom=b.distance,r.style.top="auto",r.style.right="auto"):(r.style.right=b.distance,r.style.top=b.distance,r.style.left="auto",r.style.bottom="auto"),b.backOverlay){var s=a.document.getElementById(d.overlayID)||a.document.createElement("div");s.id=d.overlayID,s.style.width="100%",s.style.height="100%",s.style.position="fixed",s.style.zIndex=b.zindex-1,s.style.left=0,s.style.top=0,s.style.right=0,s.style.bottom=0,s.style.background=q.backOverlayColor||b.backOverlayColor,s.className=b.cssAnimation?"nx-with-animation":"",s.style.animationDuration=b.cssAnimation?b.cssAnimationDuration+"ms":"",a.document.getElementById(d.overlayID)||a.document.body.appendChild(s)}a.document.getElementById(d.wrapID)||a.document.body.appendChild(r);var t=a.document.createElement("div");t.id=b.ID+"-"+l,t.className=b.className+" "+q.childClassName+" "+(b.cssAnimation?"nx-with-animation":"")+" "+(b.useIcon?"nx-with-icon":"")+" nx-"+b.cssAnimationStyle+" "+(b.closeButton&&"function"!=typeof k?"nx-with-close-button":"")+" "+("function"==typeof k?"nx-with-callback":"")+" "+(b.clickToClose?"nx-notify-click-to-close":""),t.style.fontSize=b.fontSize,t.style.color=q.textColor,t.style.background=q.background,t.style.borderRadius=b.borderRadius,t.style.pointerEvents="all",b.rtl&&(t.setAttribute("dir","rtl"),t.classList.add("nx-rtl-on")),t.style.fontFamily="\""+b.fontFamily+"\", "+"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif",b.cssAnimation&&(t.style.animationDuration=b.cssAnimationDuration+"ms");var u="";if(b.closeButton&&"function"!=typeof k&&(u=""),!b.useIcon)t.innerHTML=""+g+""+(b.closeButton?u:"");else if(b.useFontAwesome)t.innerHTML=""+g+""+(b.closeButton?u:"");else{var v="";e===c.Success?v="":e===c.Failure?v="":e===c.Warning?v="":e===c.Info&&(v=""),t.innerHTML=v+""+g+""+(b.closeButton?u:"")}if("left-bottom"===b.position||"right-bottom"===b.position){var w=a.document.getElementById(d.wrapID);w.insertBefore(t,w.firstChild)}else a.document.getElementById(d.wrapID).appendChild(t);var x=a.document.getElementById(t.id);if(x){var y,z,A=function(){x.classList.add("nx-remove");var b=a.document.getElementById(d.overlayID);b&&0>=r.childElementCount&&b.classList.add("nx-remove"),clearTimeout(y)},B=function(){if(x&&null!==x.parentNode&&x.parentNode.removeChild(x),0>=r.childElementCount&&null!==r.parentNode){r.parentNode.removeChild(r);var b=a.document.getElementById(d.overlayID);b&&null!==b.parentNode&&b.parentNode.removeChild(b)}clearTimeout(z)};if(b.closeButton&&"function"!=typeof k){var C=a.document.getElementById(t.id).querySelector("span.nx-close-button");C.addEventListener("click",function(){A();var a=setTimeout(function(){B(),clearTimeout(a)},b.cssAnimationDuration)})}if(("function"==typeof k||b.clickToClose)&&x.addEventListener("click",function(){"function"==typeof k&&k(),A();var a=setTimeout(function(){B(),clearTimeout(a)},b.cssAnimationDuration)}),!b.closeButton&&"function"!=typeof k){var D=function(){y=setTimeout(function(){A()},b.timeout),z=setTimeout(function(){B()},b.timeout+b.cssAnimationDuration)};D(),b.pauseOnHover&&(x.addEventListener("mouseenter",function(){x.classList.add("nx-paused"),clearTimeout(y),clearTimeout(z)}),x.addEventListener("mouseleave",function(){x.classList.remove("nx-paused"),D()}))}}if(b.showOnlyTheLastOne&&0\" element, but you called it before the \"<"+b+">\" element has been created."),!1)},g=function(b,c){if(!f("head"))return!1;if(null!==b()&&!a.document.getElementById(c)){var d=a.document.createElement("style");d.id=c,d.innerHTML=b(),a.document.head.appendChild(d)}},h=function(){var a={},b=!1,c=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(b=arguments[0],c++);for(var d=function(c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=b&&"[object Object]"===Object.prototype.toString.call(c[d])?h(a[d],c[d]):c[d])};c";return c},k=function(a,b){a||(a="110px"),b||(b="#ff5549");var c="";return c},l=function(a,b){a||(a="110px"),b||(b="#eebf31");var c="";return c},m=function(a,b){a||(a="110px"),b||(b="#26c0d3");var c="";return c},n=function(){return"[id^=NotiflixReportWrap]{position:fixed;z-index:4002;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;left:0;top:0;padding:10px;color:#1e1e1e;border-radius:25px;background:transparent;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[id^=NotiflixReportWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixReportWrap]>div[class*=\"-overlay\"]{width:100%;height:100%;left:0;top:0;background:rgba(255,255,255,.5);position:fixed;z-index:0}[id^=NotiflixReportWrap]>div.nx-report-click-to-close{cursor:pointer}[id^=NotiflixReportWrap]>div[class*=\"-content\"]{width:320px;max-width:100%;max-height:96vh;overflow-x:hidden;overflow-y:auto;border-radius:inherit;padding:10px;-webkit-filter:drop-shadow(0 0 5px rgba(0,0,0,0.05));filter:drop-shadow(0 0 5px rgba(0, 0, 0, .05));border:1px solid rgba(0,0,0,.03);background:#f8f8f8;position:relative;z-index:1}[id^=NotiflixReportWrap]>div[class*=\"-content\"]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixReportWrap]>div[class*=\"-content\"]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixReportWrap]>div[class*=\"-content\"]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixReportWrap]>div[class*=\"-content\"]>div[class$=\"-icon\"]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:110px;height:110px;display:block;margin:6px auto 12px}[id^=NotiflixReportWrap]>div[class*=\"-content\"]>div[class$=\"-icon\"] svg{min-width:100%;max-width:100%;height:auto}[id^=NotiflixReportWrap]>*>h5{word-break:break-all;word-break:break-word;font-family:inherit!important;font-size:16px;font-weight:500;line-height:1.4;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid rgba(0,0,0,.1);float:left;width:100%;text-align:center}[id^=NotiflixReportWrap]>*>p{word-break:break-all;word-break:break-word;font-family:inherit!important;font-size:13px;line-height:1.4;font-weight:normal;float:left;width:100%;padding:0 10px;margin:0 0 10px}[id^=NotiflixReportWrap] a#NXReportButton{word-break:break-all;word-break:break-word;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:inherit!important;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;cursor:pointer;float:right;padding:7px 17px;background:#32c682;font-size:14px;line-height:1.4;font-weight:500;border-radius:inherit!important;color:#fff}[id^=NotiflixReportWrap] a#NXReportButton:hover{-webkit-box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25);box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25)}[id^=NotiflixReportWrap].nx-rtl-on a#NXReportButton{float:left}[id^=NotiflixReportWrap]>div[class*=\"-overlay\"].nx-with-animation{-webkit-animation:report-overlay-animation .3s ease-in-out 0s normal;animation:report-overlay-animation .3s ease-in-out 0s normal}@-webkit-keyframes report-overlay-animation{0%{opacity:0}100%{opacity:1}}@keyframes report-overlay-animation{0%{opacity:0}100%{opacity:1}}[id^=NotiflixReportWrap]>div[class*=\"-content\"].nx-with-animation.nx-fade{-webkit-animation:report-animation-fade .3s ease-in-out 0s normal;animation:report-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes report-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixReportWrap]>div[class*=\"-content\"].nx-with-animation.nx-zoom{-webkit-animation:report-animation-zoom .3s ease-in-out 0s normal;animation:report-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes report-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixReportWrap].nx-remove>div[class*=\"-overlay\"].nx-with-animation{opacity:0;-webkit-animation:report-overlay-animation-remove .3s ease-in-out 0s normal;animation:report-overlay-animation-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}@keyframes report-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixReportWrap].nx-remove>div[class*=\"-content\"].nx-with-animation.nx-fade{opacity:0;-webkit-animation:report-animation-fade-remove .3s ease-in-out 0s normal;animation:report-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes report-animation-fade-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixReportWrap].nx-remove>div[class*=\"-content\"].nx-with-animation.nx-zoom{opacity:0;-webkit-animation:report-animation-zoom-remove .3s ease-in-out 0s normal;animation:report-animation-zoom-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes report-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}"},o=function(e,g,n,o,q,r){if(!f("body"))return!1;b||p.Report.init({});var s={};if("object"==typeof q&&!Array.isArray(q)||"object"==typeof r&&!Array.isArray(r)){var t={};"object"==typeof q?t=q:"object"==typeof r&&(t=r),s=h(!0,b,{}),b=h(!0,b,t)}var u=b[e.toLocaleLowerCase("en")];"string"!=typeof g&&(g="Notiflix "+e),"string"!=typeof n&&(e===c.Success?n="\"Do not try to become a person of success but try to become a person of value.\"

- Albert Einstein":e===c.Failure?n="\"Failure is simply the opportunity to begin again, this time more intelligently.\"

- Henry Ford":e===c.Warning?n="\"The peoples who want to live comfortably without producing and fatigue; they are doomed to lose their dignity, then liberty, and then independence and destiny.\"

- Mustafa Kemal Ataturk":e===c.Info&&(n="\"Knowledge rests not upon truth alone, but upon error also.\"

- Carl Gustav Jung")),"string"!=typeof o&&(o="Okay"),b.plainText&&(g=i(g),n=i(n),o=i(o)),b.plainText||(g.length>b.titleMaxLength&&(g="Possible HTML Tags Error",n="The \"plainText\" option is \"false\" and the title content length is more than the \"titleMaxLength\" option.",o="Okay"),n.length>b.messageMaxLength&&(g="Possible HTML Tags Error",n="The \"plainText\" option is \"false\" and the message content length is more than the \"messageMaxLength\" option.",o="Okay"),o.length>b.buttonMaxLength&&(g="Possible HTML Tags Error",n="The \"plainText\" option is \"false\" and the button content length is more than the \"buttonMaxLength\" option.",o="Okay")),g.length>b.titleMaxLength&&(g=g.substring(0,b.titleMaxLength)+"..."),n.length>b.messageMaxLength&&(n=n.substring(0,b.messageMaxLength)+"..."),o.length>b.buttonMaxLength&&(o=o.substring(0,b.buttonMaxLength)+"..."),b.cssAnimation||(b.cssAnimationDuration=0);var v=a.document.createElement("div");v.id=d.ID,v.className=b.className,v.style.zIndex=b.zindex,v.style.borderRadius=b.borderRadius,v.style.fontFamily="\""+b.fontFamily+"\", "+"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif",b.rtl&&(v.setAttribute("dir","rtl"),v.classList.add("nx-rtl-on")),v.style.display="flex",v.style.flexWrap="wrap",v.style.flexDirection="column",v.style.alignItems="center",v.style.justifyContent="center";var w="",x=!0===b.backOverlayClickToClose;b.backOverlay&&(w="
");var y="";if(e===c.Success?y=j(b.svgSize,u.svgColor):e===c.Failure?y=k(b.svgSize,u.svgColor):e===c.Warning?y=l(b.svgSize,u.svgColor):e===c.Info&&(y=m(b.svgSize,u.svgColor)),v.innerHTML=w+"
"+y+"
"+g+"

"+n+"

"+o+"
",!a.document.getElementById(v.id)){a.document.body.appendChild(v);var z=function(){var c=a.document.getElementById(v.id);c.classList.add("nx-remove");var d=setTimeout(function(){null!==c.parentNode&&c.parentNode.removeChild(c),clearTimeout(d)},b.cssAnimationDuration)},A=a.document.getElementById("NXReportButton");if(A.addEventListener("click",function(){"function"==typeof q&&q(),z()}),w&&x){var B=a.document.querySelector(".nx-report-click-to-close");B.addEventListener("click",function(){z()})}}b=h(!0,b,s)},p={Report:{init:function(a){b=h(!0,d,a),g(n,"NotiflixReportInternalCSS")},merge:function(a){return b?void(b=h(!0,b,a)):(e("You have to initialize the Report module before call Merge function."),!1)},success:function(a,b,d,e,f){o(c.Success,a,b,d,e,f)},failure:function(a,b,d,e,f){o(c.Failure,a,b,d,e,f)},warning:function(a,b,d,e,f){o(c.Warning,a,b,d,e,f)},info:function(a,b,d,e,f){o(c.Info,a,b,d,e,f)}}};return"object"==typeof a.Notiflix?h(!0,a.Notiflix,{Report:p.Report}):{Report:p.Report}}); \ No newline at end of file diff --git a/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.css b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.css new file mode 100644 index 00000000..0746bcc6 --- /dev/null +++ b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.css @@ -0,0 +1,3 @@ +/* Notiflix (https://notiflix.github.io) - Version: 3.2.8 - Author: Furkan (https://github.com/furcan) - Copyright 2019 - 2025 Notiflix, MIT License (https://opensource.org/licenses/MIT) */ + +[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}[id^=NotiflixReportWrap]{position:fixed;z-index:4002;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;left:0;top:0;padding:10px;color:#1e1e1e;border-radius:25px;background:transparent;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[id^=NotiflixReportWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixReportWrap]>div[class*="-overlay"]{width:100%;height:100%;left:0;top:0;background:rgba(255,255,255,.5);position:fixed;z-index:0}[id^=NotiflixReportWrap]>div.nx-report-click-to-close{cursor:pointer}[id^=NotiflixReportWrap]>div[class*="-content"]{width:320px;max-width:100%;max-height:96vh;overflow-x:hidden;overflow-y:auto;border-radius:inherit;padding:10px;-webkit-filter:drop-shadow(0 0 5px rgba(0,0,0,0.05));filter:drop-shadow(0 0 5px rgba(0, 0, 0, .05));border:1px solid rgba(0,0,0,.03);background:#f8f8f8;position:relative;z-index:1}[id^=NotiflixReportWrap]>div[class*="-content"]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixReportWrap]>div[class*="-content"]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixReportWrap]>div[class*="-content"]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixReportWrap]>div[class*="-content"]>div[class$="-icon"]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:110px;height:110px;display:block;margin:6px auto 12px}[id^=NotiflixReportWrap]>div[class*="-content"]>div[class$="-icon"] svg{min-width:100%;max-width:100%;height:auto}[id^=NotiflixReportWrap]>*>h5{word-break:break-all;word-break:break-word;font-family:inherit!important;font-size:16px;font-weight:500;line-height:1.4;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid rgba(0,0,0,.1);float:left;width:100%;text-align:center}[id^=NotiflixReportWrap]>*>p{word-break:break-all;word-break:break-word;font-family:inherit!important;font-size:13px;line-height:1.4;font-weight:normal;float:left;width:100%;padding:0 10px;margin:0 0 10px}[id^=NotiflixReportWrap] a#NXReportButton{word-break:break-all;word-break:break-word;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:inherit!important;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;cursor:pointer;float:right;padding:7px 17px;background:#32c682;font-size:14px;line-height:1.4;font-weight:500;border-radius:inherit!important;color:#fff}[id^=NotiflixReportWrap] a#NXReportButton:hover{-webkit-box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25);box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25)}[id^=NotiflixReportWrap].nx-rtl-on a#NXReportButton{float:left}[id^=NotiflixReportWrap]>div[class*="-overlay"].nx-with-animation{-webkit-animation:report-overlay-animation .3s ease-in-out 0s normal;animation:report-overlay-animation .3s ease-in-out 0s normal}@-webkit-keyframes report-overlay-animation{0%{opacity:0}100%{opacity:1}}@keyframes report-overlay-animation{0%{opacity:0}100%{opacity:1}}[id^=NotiflixReportWrap]>div[class*="-content"].nx-with-animation.nx-fade{-webkit-animation:report-animation-fade .3s ease-in-out 0s normal;animation:report-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes report-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixReportWrap]>div[class*="-content"].nx-with-animation.nx-zoom{-webkit-animation:report-animation-zoom .3s ease-in-out 0s normal;animation:report-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes report-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixReportWrap].nx-remove>div[class*="-overlay"].nx-with-animation{opacity:0;-webkit-animation:report-overlay-animation-remove .3s ease-in-out 0s normal;animation:report-overlay-animation-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}@keyframes report-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixReportWrap].nx-remove>div[class*="-content"].nx-with-animation.nx-fade{opacity:0;-webkit-animation:report-animation-fade-remove .3s ease-in-out 0s normal;animation:report-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes report-animation-fade-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixReportWrap].nx-remove>div[class*="-content"].nx-with-animation.nx-zoom{opacity:0;-webkit-animation:report-animation-zoom-remove .3s ease-in-out 0s normal;animation:report-animation-zoom-remove .3s ease-in-out 0s normal}@-webkit-keyframes report-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes report-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixConfirmWrap]{position:fixed;z-index:4003;width:100%;height:100%;left:0;top:0;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[id^=NotiflixConfirmWrap].nx-position-center-top{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}[id^=NotiflixConfirmWrap].nx-position-center-bottom{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[id^=NotiflixConfirmWrap].nx-position-left-top{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}[id^=NotiflixConfirmWrap].nx-position-left-center{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[id^=NotiflixConfirmWrap].nx-position-left-bottom{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[id^=NotiflixConfirmWrap].nx-position-right-top{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}[id^=NotiflixConfirmWrap].nx-position-right-center{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[id^=NotiflixConfirmWrap].nx-position-right-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[id^=NotiflixConfirmWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixConfirmWrap]>div[class*="-overlay"]{width:100%;height:100%;left:0;top:0;background:rgba(255,255,255,.5);position:fixed;z-index:0}[id^=NotiflixConfirmWrap]>div[class*="-overlay"].nx-with-animation{-webkit-animation:confirm-overlay-animation .3s ease-in-out 0s normal;animation:confirm-overlay-animation .3s ease-in-out 0s normal}@-webkit-keyframes confirm-overlay-animation{0%{opacity:0}100%{opacity:1}}@keyframes confirm-overlay-animation{0%{opacity:0}100%{opacity:1}}[id^=NotiflixConfirmWrap].nx-remove>div[class*="-overlay"].nx-with-animation{opacity:0;-webkit-animation:confirm-overlay-animation-remove .3s ease-in-out 0s normal;animation:confirm-overlay-animation-remove .3s ease-in-out 0s normal}@-webkit-keyframes confirm-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}@keyframes confirm-overlay-animation-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixConfirmWrap]>div[class*="-content"]{width:300px;max-width:100%;max-height:96vh;overflow-x:hidden;overflow-y:auto;border-radius:25px;padding:10px;margin:0;-webkit-filter:drop-shadow(0 0 5px rgba(0,0,0,0.05));filter:drop-shadow(0 0 5px rgba(0, 0, 0, .05));background:#f8f8f8;color:#1e1e1e;position:relative;z-index:1;text-align:center}[id^=NotiflixConfirmWrap]>div[class*="-content"]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixConfirmWrap]>div[class*="-content"]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixConfirmWrap]>div[class*="-content"]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]{float:left;width:100%;text-align:inherit}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>h5{float:left;width:100%;margin:0;padding:0 0 10px;border-bottom:1px solid rgba(0,0,0,.1);color:#32c682;font-family:inherit!important;font-size:16px;line-height:1.4;font-weight:500;text-align:inherit}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div{font-family:inherit!important;margin:15px 0 20px;padding:0 10px;float:left;width:100%;font-size:14px;line-height:1.4;font-weight:normal;color:inherit;text-align:inherit}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div{font-family:inherit!important;float:left;width:100%;margin:15px 0 0;padding:0}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div>input{font-family:inherit!important;float:left;width:100%;height:40px;margin:0;padding:0 15px;border:1px solid rgba(0,0,0,.1);border-radius:25px;font-size:14px;font-weight:normal;line-height:1;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-align:left}[id^=NotiflixConfirmWrap].nx-rtl-on>div[class*="-content"]>div[class*="-head"]>div>div>input{text-align:right}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div>input:hover{border-color:rgba(0,0,0,.1)}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div>input:focus{border-color:rgba(0,0,0,.3)}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div>input.nx-validation-failure{border-color:#ff5549}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-head"]>div>div>input.nx-validation-success{border-color:#32c682}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:inherit;float:left;width:100%;text-align:inherit}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]>a{cursor:pointer;font-family:inherit!important;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;float:left;width:48%;padding:9px 5px;border-radius:inherit!important;font-weight:500;font-size:15px;line-height:1.4;color:#f8f8f8;text-align:inherit}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]>a.nx-confirm-button-ok{margin:0 2% 0 0;background:#32c682}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]>a.nx-confirm-button-cancel{margin:0 0 0 2%;background:#a9a9a9}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]>a.nx-full{margin:0;width:100%}[id^=NotiflixConfirmWrap]>div[class*="-content"]>div[class*="-buttons"]>a:hover{-webkit-box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25);box-shadow:inset 0 -60px 5px -5px rgba(0,0,0,.25)}[id^=NotiflixConfirmWrap].nx-rtl-on>div[class*="-content"]>div[class*="-buttons"],[id^=NotiflixConfirmWrap].nx-rtl-on>div[class*="-content"]>div[class*="-buttons"]>a{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}[id^=NotiflixConfirmWrap].nx-with-animation.nx-fade>div[class*="-content"]{-webkit-animation:confirm-animation-fade .3s ease-in-out 0s normal;animation:confirm-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes confirm-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes confirm-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixConfirmWrap].nx-with-animation.nx-zoom>div[class*="-content"]{-webkit-animation:confirm-animation-zoom .3s ease-in-out 0s normal;animation:confirm-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes confirm-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes confirm-animation-zoom{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixConfirmWrap].nx-with-animation.nx-fade.nx-remove>div[class*="-content"]{opacity:0;-webkit-animation:confirm-animation-fade-remove .3s ease-in-out 0s normal;animation:confirm-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes confirm-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes confirm-animation-fade-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixConfirmWrap].nx-with-animation.nx-zoom.nx-remove>div[class*="-content"]{opacity:0;-webkit-animation:confirm-animation-zoom-remove .3s ease-in-out 0s normal;animation:confirm-animation-zoom-remove .3s ease-in-out 0s normal}@-webkit-keyframes confirm-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes confirm-animation-zoom-remove{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.05);transform:scale(1.05)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixLoadingWrap]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:4000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;margin:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.8);font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}[id^=NotiflixLoadingWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixLoadingWrap].nx-loading-click-to-close{cursor:pointer}[id^=NotiflixLoadingWrap]>div[class*="-icon"]{width:60px;height:60px;position:relative;-webkit-transition:top .2s ease-in-out;-o-transition:top .2s ease-in-out;transition:top .2s ease-in-out;margin:0 auto}[id^=NotiflixLoadingWrap]>div[class*="-icon"] img,[id^=NotiflixLoadingWrap]>div[class*="-icon"] svg{max-width:unset;max-height:unset;width:100%;height:auto;position:absolute;left:0;top:0}[id^=NotiflixLoadingWrap]>p{position:relative;margin:10px auto 0;font-family:inherit!important;font-weight:normal;font-size:15px;line-height:1.4;padding:0 10px;width:100%;text-align:center}[id^=NotiflixLoadingWrap].nx-with-animation{-webkit-animation:loading-animation-fade .3s ease-in-out 0s normal;animation:loading-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes loading-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes loading-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixLoadingWrap].nx-with-animation.nx-remove{opacity:0;-webkit-animation:loading-animation-fade-remove .3s ease-in-out 0s normal;animation:loading-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes loading-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes loading-animation-fade-remove{0%{opacity:1}100%{opacity:0}}[id^=NotiflixLoadingWrap]>p.nx-loading-message-new{-webkit-animation:loading-new-message-fade .3s ease-in-out 0s normal;animation:loading-new-message-fade .3s ease-in-out 0s normal}@-webkit-keyframes loading-new-message-fade{0%{opacity:0}100%{opacity:1}}@keyframes loading-new-message-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixBlockWrap]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1000;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:rgba(255,255,255,.9);text-align:center;animation-duration:.4s;width:100%;height:100%;left:0;top:0;border-radius:inherit;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[id^=NotiflixBlockWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixBlockWrap]>span[class*="-icon"]{display:block;width:45px;height:45px;position:relative;margin:0 auto}[id^=NotiflixBlockWrap]>span[class*="-icon"] svg{width:inherit;height:inherit}[id^=NotiflixBlockWrap]>span[class*="-message"]{position:relative;display:block;width:100%;margin:10px auto 0;padding:0 10px;font-family:inherit!important;font-weight:normal;font-size:14px;line-height:1.4}[id^=NotiflixBlockWrap].nx-with-animation{-webkit-animation:block-animation-fade .3s ease-in-out 0s normal;animation:block-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes block-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes block-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixBlockWrap].nx-with-animation.nx-remove{opacity:0;-webkit-animation:block-animation-fade-remove .3s ease-in-out 0s normal;animation:block-animation-fade-remove .3s ease-in-out 0s normal}@-webkit-keyframes block-animation-fade-remove{0%{opacity:1}100%{opacity:0}}@keyframes block-animation-fade-remove{0%{opacity:1}100%{opacity:0}} \ No newline at end of file diff --git a/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.js b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.js new file mode 100644 index 00000000..e36cba85 --- /dev/null +++ b/httpdocs/themes/vuexy/vendor/libs/notiflix/notiflix.js @@ -0,0 +1,3 @@ +/* Notiflix (https://notiflix.github.io) - Version: 3.2.8 - Author: Furkan (https://github.com/furcan) - Copyright 2019 - 2025 Notiflix, MIT License (https://opensource.org/licenses/MIT) */ + +(function(t,e){"function"==typeof define&&define.amd?define([],function(){return e(t)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t):t.Notiflix=e(t)})("undefined"==typeof global?"undefined"==typeof window?this:window:global,function(t){'use strict';if("undefined"==typeof t&&"undefined"==typeof t.document)return!1;var e,a,n,i,o,s="\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation",r="-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif",l={Success:"Success",Failure:"Failure",Warning:"Warning",Info:"Info"},c={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},m={Success:"Success",Failure:"Failure",Warning:"Warning",Info:"Info"},p={ID:"NotiflixReportWrap",className:"notiflix-report",width:"320px",backgroundColor:"#f8f8f8",borderRadius:"25px",rtl:!1,zindex:4002,backOverlay:!0,backOverlayColor:"rgba(0,0,0,0.5)",backOverlayClickToClose:!1,fontFamily:"Quicksand",svgSize:"110px",plainText:!0,titleFontSize:"16px",titleMaxLength:34,messageFontSize:"13px",messageMaxLength:400,buttonFontSize:"14px",buttonMaxLength:34,cssAnimation:!0,cssAnimationDuration:360,cssAnimationStyle:"fade",success:{svgColor:"#32c682",titleColor:"#1e1e1e",messageColor:"#242424",buttonBackground:"#32c682",buttonColor:"#fff",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{svgColor:"#ff5549",titleColor:"#1e1e1e",messageColor:"#242424",buttonBackground:"#ff5549",buttonColor:"#fff",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{svgColor:"#eebf31",titleColor:"#1e1e1e",messageColor:"#242424",buttonBackground:"#eebf31",buttonColor:"#fff",backOverlayColor:"rgba(238,191,49,0.2)"},info:{svgColor:"#26c0d3",titleColor:"#1e1e1e",messageColor:"#242424",buttonBackground:"#26c0d3",buttonColor:"#fff",backOverlayColor:"rgba(38,192,211,0.2)"}},d={Show:"Show",Ask:"Ask",Prompt:"Prompt"},f={ID:"NotiflixConfirmWrap",className:"notiflix-confirm",width:"300px",zindex:4003,position:"center",distance:"10px",backgroundColor:"#f8f8f8",borderRadius:"25px",backOverlay:!0,backOverlayColor:"rgba(0,0,0,0.5)",rtl:!1,fontFamily:"Quicksand",cssAnimation:!0,cssAnimationDuration:300,cssAnimationStyle:"fade",plainText:!0,titleColor:"#32c682",titleFontSize:"16px",titleMaxLength:34,messageColor:"#1e1e1e",messageFontSize:"14px",messageMaxLength:110,buttonsFontSize:"15px",buttonsMaxLength:34,okButtonColor:"#f8f8f8",okButtonBackground:"#32c682",cancelButtonColor:"#f8f8f8",cancelButtonBackground:"#a9a9a9"},x={Standard:"Standard",Hourglass:"Hourglass",Circle:"Circle",Arrows:"Arrows",Dots:"Dots",Pulse:"Pulse",Custom:"Custom",Notiflix:"Notiflix"},g={ID:"NotiflixLoadingWrap",className:"notiflix-loading",zindex:4e3,backgroundColor:"rgba(0,0,0,0.8)",rtl:!1,fontFamily:"Quicksand",cssAnimation:!0,cssAnimationDuration:400,clickToClose:!1,customSvgUrl:null,customSvgCode:null,svgSize:"80px",svgColor:"#32c682",messageID:"NotiflixLoadingMessage",messageFontSize:"15px",messageMaxLength:34,messageColor:"#dcdcdc"},u={Standard:"Standard",Hourglass:"Hourglass",Circle:"Circle",Arrows:"Arrows",Dots:"Dots",Pulse:"Pulse"},b={ID:"NotiflixBlockWrap",querySelectorLimit:200,className:"notiflix-block",position:"absolute",zindex:1e3,backgroundColor:"rgba(255,255,255,0.9)",rtl:!1,fontFamily:"Quicksand",cssAnimation:!0,cssAnimationDuration:300,svgSize:"45px",svgColor:"#383838",messageFontSize:"14px",messageMaxLength:34,messageColor:"#383838"},y=function(t){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+t+s)},h=function(t){return console.log("%c Notiflix Info ","padding:2px;border-radius:20px;color:#fff;background:#26c0d3","\n"+t+s)},k=function(e){return e||(e="head"),void 0!==t.document[e]||(y("\nNotiflix needs to be appended to the \"<"+e+">\" element, but you called it before the \"<"+e+">\" element has been created."),!1)},w=function(e,a){if(!k("head"))return!1;if(null!==e()&&!t.document.getElementById(a)){var n=t.document.createElement("style");n.id=a,n.innerHTML=e(),t.document.head.appendChild(n)}},v=function(){var t={},e=!1,a=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],a++);for(var n=function(a){for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=e&&"[object Object]"===Object.prototype.toString.call(a[n])?v(t[n],a[n]):a[n])};a";return a},z=function(t,e){t||(t="110px"),e||(e="#ff5549");var a="";return a},S=function(t,e){t||(t="110px"),e||(e="#eebf31");var a="";return a},L=function(t,e){t||(t="110px"),e||(e="#26c0d3");var a="";return a},I=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},A=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},M=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},X=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},R=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},B=function(t,e){t||(t="60px"),e||(e="#32c682");var a="";return a},D=function(t,e,a){t||(t="60px"),e||(e="#f8f8f8"),a||(a="#32c682");var n="";return n},T=function(){return null},F=0,E=function(a,n,o,s){if(!k("body"))return!1;e||G.Notify.init({});var m=v(!0,e,{});if("object"==typeof o&&!Array.isArray(o)||"object"==typeof s&&!Array.isArray(s)){var p={};"object"==typeof o?p=o:"object"==typeof s&&(p=s),e=v(!0,e,p)}var d=e[a.toLocaleLowerCase("en")];F++,"string"!=typeof n&&(n="Notiflix "+a),e.plainText&&(n=N(n)),!e.plainText&&n.length>e.messageMaxLength&&(e=v(!0,e,{closeButton:!0,messageMaxLength:150}),n="Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option."),n.length>e.messageMaxLength&&(n=n.substring(0,e.messageMaxLength)+"..."),"shadow"===e.fontAwesomeIconStyle&&(d.fontAwesomeIconColor=d.background),e.cssAnimation||(e.cssAnimationDuration=0);var f=t.document.getElementById(c.wrapID)||t.document.createElement("div");if(f.id=c.wrapID,f.style.width=e.width,f.style.zIndex=e.zindex,f.style.opacity=e.opacity,"center-center"===e.position?(f.style.left=e.distance,f.style.top=e.distance,f.style.right=e.distance,f.style.bottom=e.distance,f.style.margin="auto",f.classList.add("nx-flex-center-center"),f.style.maxHeight="calc((100vh - "+e.distance+") - "+e.distance+")",f.style.display="flex",f.style.flexWrap="wrap",f.style.flexDirection="column",f.style.justifyContent="center",f.style.alignItems="center",f.style.pointerEvents="none"):"center-top"===e.position?(f.style.left=e.distance,f.style.right=e.distance,f.style.top=e.distance,f.style.bottom="auto",f.style.margin="auto"):"center-bottom"===e.position?(f.style.left=e.distance,f.style.right=e.distance,f.style.bottom=e.distance,f.style.top="auto",f.style.margin="auto"):"right-bottom"===e.position?(f.style.right=e.distance,f.style.bottom=e.distance,f.style.top="auto",f.style.left="auto"):"left-top"===e.position?(f.style.left=e.distance,f.style.top=e.distance,f.style.right="auto",f.style.bottom="auto"):"left-bottom"===e.position?(f.style.left=e.distance,f.style.bottom=e.distance,f.style.top="auto",f.style.right="auto"):(f.style.right=e.distance,f.style.top=e.distance,f.style.left="auto",f.style.bottom="auto"),e.backOverlay){var x=t.document.getElementById(c.overlayID)||t.document.createElement("div");x.id=c.overlayID,x.style.width="100%",x.style.height="100%",x.style.position="fixed",x.style.zIndex=e.zindex-1,x.style.left=0,x.style.top=0,x.style.right=0,x.style.bottom=0,x.style.background=d.backOverlayColor||e.backOverlayColor,x.className=e.cssAnimation?"nx-with-animation":"",x.style.animationDuration=e.cssAnimation?e.cssAnimationDuration+"ms":"",t.document.getElementById(c.overlayID)||t.document.body.appendChild(x)}t.document.getElementById(c.wrapID)||t.document.body.appendChild(f);var g=t.document.createElement("div");g.id=e.ID+"-"+F,g.className=e.className+" "+d.childClassName+" "+(e.cssAnimation?"nx-with-animation":"")+" "+(e.useIcon?"nx-with-icon":"")+" nx-"+e.cssAnimationStyle+" "+(e.closeButton&&"function"!=typeof o?"nx-with-close-button":"")+" "+("function"==typeof o?"nx-with-callback":"")+" "+(e.clickToClose?"nx-notify-click-to-close":""),g.style.fontSize=e.fontSize,g.style.color=d.textColor,g.style.background=d.background,g.style.borderRadius=e.borderRadius,g.style.pointerEvents="all",e.rtl&&(g.setAttribute("dir","rtl"),g.classList.add("nx-rtl-on")),g.style.fontFamily="\""+e.fontFamily+"\", "+r,e.cssAnimation&&(g.style.animationDuration=e.cssAnimationDuration+"ms");var u="";if(e.closeButton&&"function"!=typeof o&&(u=""),!e.useIcon)g.innerHTML=""+n+""+(e.closeButton?u:"");else if(e.useFontAwesome)g.innerHTML=""+n+""+(e.closeButton?u:"");else{var b="";a===l.Success?b="":a===l.Failure?b="":a===l.Warning?b="":a===l.Info&&(b=""),g.innerHTML=b+""+n+""+(e.closeButton?u:"")}if("left-bottom"===e.position||"right-bottom"===e.position){var y=t.document.getElementById(c.wrapID);y.insertBefore(g,y.firstChild)}else t.document.getElementById(c.wrapID).appendChild(g);var h=t.document.getElementById(g.id);if(h){var w,C,z=function(){h.classList.add("nx-remove");var e=t.document.getElementById(c.overlayID);e&&0>=f.childElementCount&&e.classList.add("nx-remove"),clearTimeout(w)},S=function(){if(h&&null!==h.parentNode&&h.parentNode.removeChild(h),0>=f.childElementCount&&null!==f.parentNode){f.parentNode.removeChild(f);var e=t.document.getElementById(c.overlayID);e&&null!==e.parentNode&&e.parentNode.removeChild(e)}clearTimeout(C)};if(e.closeButton&&"function"!=typeof o){var L=t.document.getElementById(g.id).querySelector("span.nx-close-button");L.addEventListener("click",function(){z();var t=setTimeout(function(){S(),clearTimeout(t)},e.cssAnimationDuration)})}if(("function"==typeof o||e.clickToClose)&&h.addEventListener("click",function(){"function"==typeof o&&o(),z();var t=setTimeout(function(){S(),clearTimeout(t)},e.cssAnimationDuration)}),!e.closeButton&&"function"!=typeof o){var I=function(){w=setTimeout(function(){z()},e.timeout),C=setTimeout(function(){S()},e.timeout+e.cssAnimationDuration)};I(),e.pauseOnHover&&(h.addEventListener("mouseenter",function(){h.classList.add("nx-paused"),clearTimeout(w),clearTimeout(C)}),h.addEventListener("mouseleave",function(){h.classList.remove("nx-paused"),I()}))}}if(e.showOnlyTheLastOne&&0
- Albert Einstein":e===m.Failure?i="\"Failure is simply the opportunity to begin again, this time more intelligently.\"

- Henry Ford":e===m.Warning?i="\"The peoples who want to live comfortably without producing and fatigue; they are doomed to lose their dignity, then liberty, and then independence and destiny.\"

- Mustafa Kemal Ataturk":e===m.Info&&(i="\"Knowledge rests not upon truth alone, but upon error also.\"

- Carl Gustav Jung")),"string"!=typeof o&&(o="Okay"),a.plainText&&(n=N(n),i=N(i),o=N(o)),a.plainText||(n.length>a.titleMaxLength&&(n="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the title content length is more than the \"titleMaxLength\" option.",o="Okay"),i.length>a.messageMaxLength&&(n="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the message content length is more than the \"messageMaxLength\" option.",o="Okay"),o.length>a.buttonMaxLength&&(n="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the button content length is more than the \"buttonMaxLength\" option.",o="Okay")),n.length>a.titleMaxLength&&(n=n.substring(0,a.titleMaxLength)+"..."),i.length>a.messageMaxLength&&(i=i.substring(0,a.messageMaxLength)+"..."),o.length>a.buttonMaxLength&&(o=o.substring(0,a.buttonMaxLength)+"..."),a.cssAnimation||(a.cssAnimationDuration=0);var x=t.document.createElement("div");x.id=p.ID,x.className=a.className,x.style.zIndex=a.zindex,x.style.borderRadius=a.borderRadius,x.style.fontFamily="\""+a.fontFamily+"\", "+r,a.rtl&&(x.setAttribute("dir","rtl"),x.classList.add("nx-rtl-on")),x.style.display="flex",x.style.flexWrap="wrap",x.style.flexDirection="column",x.style.alignItems="center",x.style.justifyContent="center";var g="",u=!0===a.backOverlayClickToClose;a.backOverlay&&(g="
");var b="";if(e===m.Success?b=C(a.svgSize,f.svgColor):e===m.Failure?b=z(a.svgSize,f.svgColor):e===m.Warning?b=S(a.svgSize,f.svgColor):e===m.Info&&(b=L(a.svgSize,f.svgColor)),x.innerHTML=g+"
"+b+"
"+n+"

"+i+"

"+o+"
",!t.document.getElementById(x.id)){t.document.body.appendChild(x);var y=function(){var e=t.document.getElementById(x.id);e.classList.add("nx-remove");var n=setTimeout(function(){null!==e.parentNode&&e.parentNode.removeChild(e),clearTimeout(n)},a.cssAnimationDuration)},h=t.document.getElementById("NXReportButton");if(h.addEventListener("click",function(){"function"==typeof s&&s(),y()}),g&&u){var w=t.document.querySelector(".nx-report-click-to-close");w.addEventListener("click",function(){y()})}}a=v(!0,a,c)},W=function(){return null},j=function(e,a,i,o,s,l,c,m,p){if(!k("body"))return!1;n||G.Confirm.init({});var x=v(!0,n,{});"object"!=typeof p||Array.isArray(p)||(n=v(!0,n,p)),"string"!=typeof a&&(a="Notiflix Confirm"),"string"!=typeof i&&(i="Do you agree with me?"),"string"!=typeof s&&(s="Yes"),"string"!=typeof l&&(l="No"),"function"!=typeof c&&(c=void 0),"function"!=typeof m&&(m=void 0),n.plainText&&(a=N(a),i=N(i),s=N(s),l=N(l)),n.plainText||(a.length>n.titleMaxLength&&(a="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the title content length is more than \"titleMaxLength\" option.",s="Okay",l="..."),i.length>n.messageMaxLength&&(a="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the message content length is more than \"messageMaxLength\" option.",s="Okay",l="..."),(s.length||l.length)>n.buttonsMaxLength&&(a="Possible HTML Tags Error",i="The \"plainText\" option is \"false\" and the buttons content length is more than \"buttonsMaxLength\" option.",s="Okay",l="...")),a.length>n.titleMaxLength&&(a=a.substring(0,n.titleMaxLength)+"..."),i.length>n.messageMaxLength&&(i=i.substring(0,n.messageMaxLength)+"..."),s.length>n.buttonsMaxLength&&(s=s.substring(0,n.buttonsMaxLength)+"..."),l.length>n.buttonsMaxLength&&(l=l.substring(0,n.buttonsMaxLength)+"..."),n.cssAnimation||(n.cssAnimationDuration=0);var g=t.document.createElement("div");g.id=f.ID,g.className=n.className+(n.cssAnimation?" nx-with-animation nx-"+n.cssAnimationStyle:""),g.style.zIndex=n.zindex,g.style.padding=n.distance,n.rtl&&(g.setAttribute("dir","rtl"),g.classList.add("nx-rtl-on"));var u="string"==typeof n.position?n.position.trim():"center";g.classList.add("nx-position-"+u),g.style.fontFamily="\""+n.fontFamily+"\", "+r;var b="";n.backOverlay&&(b="
");var y="";"function"==typeof c&&(y=""+l+"");var h="",w=null,C=void 0;if(e===d.Ask||e===d.Prompt){w=o||"";var z=e===d.Ask?Math.ceil(1.5*w.length):200"}if(g.innerHTML=b+"
"+a+"
"+i+h+"
"+s+""+y+"
",!t.document.getElementById(g.id)){t.document.body.appendChild(g);var L=t.document.getElementById(g.id),I=t.document.getElementById("NXConfirmButtonOk"),A=t.document.getElementById("NXConfirmValidationInput");if(A&&(A.focus(),A.setSelectionRange(0,(A.value||"").length),A.addEventListener("keyup",function(t){var a=t.target.value;if(e===d.Ask&&a!==w)t.preventDefault(),A.classList.add("nx-validation-failure"),A.classList.remove("nx-validation-success");else{e===d.Ask&&(A.classList.remove("nx-validation-failure"),A.classList.add("nx-validation-success"));var n="enter"===(t.key||"").toLocaleLowerCase("en")||13===t.keyCode;n&&I.dispatchEvent(new Event("click"))}})),I.addEventListener("click",function(t){if(e===d.Ask&&w&&A){var a=(A.value||"").toString();if(a!==w)return A.focus(),A.classList.add("nx-validation-failure"),t.stopPropagation(),t.preventDefault(),t.returnValue=!1,t.cancelBubble=!0,!1;A.classList.remove("nx-validation-failure")}"function"==typeof c&&(e===d.Prompt&&A&&(C=A.value||""),c(C)),L.classList.add("nx-remove");var i=setTimeout(function(){null!==L.parentNode&&(L.parentNode.removeChild(L),clearTimeout(i))},n.cssAnimationDuration)}),"function"==typeof c){var M=t.document.getElementById("NXConfirmButtonCancel");M.addEventListener("click",function(){"function"==typeof m&&(e===d.Prompt&&A&&(C=A.value||""),m(C)),L.classList.add("nx-remove");var t=setTimeout(function(){null!==L.parentNode&&(L.parentNode.removeChild(L),clearTimeout(t))},n.cssAnimationDuration)})}}n=v(!0,n,x)},P=function(){return null},V=function(e,a,n,o,s){if(!k("body"))return!1;i||G.Loading.init({});var l=v(!0,i,{});if("object"==typeof a&&!Array.isArray(a)||"object"==typeof n&&!Array.isArray(n)){var c={};"object"==typeof a?c=a:"object"==typeof n&&(c=n),i=v(!0,i,c)}var m="";if("string"==typeof a&&0i.messageMaxLength?N(m).toString().substring(0,i.messageMaxLength)+"...":N(m).toString();var p="";0"+m+"

"),i.cssAnimation||(i.cssAnimationDuration=0);var d="";if(e===x.Standard)d=I(i.svgSize,i.svgColor);else if(e===x.Hourglass)d=A(i.svgSize,i.svgColor);else if(e===x.Circle)d=M(i.svgSize,i.svgColor);else if(e===x.Arrows)d=X(i.svgSize,i.svgColor);else if(e===x.Dots)d=R(i.svgSize,i.svgColor);else if(e===x.Pulse)d=B(i.svgSize,i.svgColor);else if(e===x.Custom&&null!==i.customSvgCode&&null===i.customSvgUrl)d=i.customSvgCode||"";else if(e===x.Custom&&null!==i.customSvgUrl&&null===i.customSvgCode)d="\"Notiflix\"";else{if(e===x.Custom&&(null===i.customSvgUrl||null===i.customSvgCode))return y("You have to set a static SVG url to \"customSvgUrl\" option to use Loading Custom."),!1;d=D(i.svgSize,"#f8f8f8","#32c682")}var f=parseInt((i.svgSize||"").replace(/[^0-9]/g,"")),u=t.innerWidth,b=f>=u?u-40+"px":f+"px",h="
"+d+"
",w=t.document.createElement("div");if(w.id=g.ID,w.className=i.className+(i.cssAnimation?" nx-with-animation":"")+(i.clickToClose?" nx-loading-click-to-close":""),w.style.zIndex=i.zindex,w.style.background=i.backgroundColor,w.style.animationDuration=i.cssAnimationDuration+"ms",w.style.fontFamily="\""+i.fontFamily+"\", "+r,w.style.display="flex",w.style.flexWrap="wrap",w.style.flexDirection="column",w.style.alignItems="center",w.style.justifyContent="center",i.rtl&&(w.setAttribute("dir","rtl"),w.classList.add("nx-rtl-on")),w.innerHTML=h+p,!t.document.getElementById(w.id)&&(t.document.body.appendChild(w),i.clickToClose)){var C=t.document.getElementById(w.id);C.addEventListener("click",function(){w.classList.add("nx-remove");var t=setTimeout(function(){null!==w.parentNode&&(w.parentNode.removeChild(w),clearTimeout(t))},i.cssAnimationDuration)})}}else if(t.document.getElementById(g.ID))var z=t.document.getElementById(g.ID),S=setTimeout(function(){z.classList.add("nx-remove");var t=setTimeout(function(){null!==z.parentNode&&(z.parentNode.removeChild(z),clearTimeout(t))},i.cssAnimationDuration);clearTimeout(S)},s);i=v(!0,i,l)},q=function(e){"string"!=typeof e&&(e="");var a=t.document.getElementById(g.ID);if(a)if(0i.messageMaxLength?N(e).substring(0,i.messageMaxLength)+"...":N(e);var n=a.getElementsByTagName("p")[0];if(n)n.innerHTML=e;else{var o=t.document.createElement("p");o.id=i.messageID,o.className="nx-loading-message nx-loading-message-new",o.style.color=i.messageColor,o.style.fontSize=i.messageFontSize,o.innerHTML=e,a.appendChild(o)}}else y("Where is the new message?")},Y=function(){return null},U=0,Q=function(e,a,n,i,s,l){var c;if(Array.isArray(n)){if(1>n.length)return y("Array of HTMLElements should contains at least one HTMLElement."),!1;c=n}else if(Object.prototype.isPrototypeOf.call(NodeList.prototype,n)){if(1>n.length)return y("NodeListOf should contains at least one HTMLElement."),!1;c=Array.prototype.slice.call(n)}else{var m="string"!=typeof n||1>(n||"").length||1===(n||"").length&&("#"===(n||"")[0]||"."===(n||"")[0]);if(m)return y("The selector parameter must be a string and matches a specified CSS selector(s)."),!1;var p=t.document.querySelectorAll(n);if(1>p.length)return y("You called the \"Notiflix.Block...\" function with \""+n+"\" selector, but there is no such element(s) in the document."),!1;c=p}o||G.Block.init({});var d=v(!0,o,{});if("object"==typeof i&&!Array.isArray(i)||"object"==typeof s&&!Array.isArray(s)){var f={};"object"==typeof i?f=i:"object"==typeof s&&(f=s),o=v(!0,o,f)}var x="";"string"==typeof i&&0=w?w:c.length,z="nx-block-temporary-position";if(e){for(var S,L=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","html","head","title","script","style","iframe"],D=0;DT.length){var F="";a&&(a===u.Hourglass?F=A(o.svgSize,o.svgColor):a===u.Circle?F=M(o.svgSize,o.svgColor):a===u.Arrows?F=X(o.svgSize,o.svgColor):a===u.Dots?F=R(o.svgSize,o.svgColor):a===u.Pulse?F=B(o.svgSize,o.svgColor):F=I(o.svgSize,o.svgColor));var E=""+F+"",O="";0o.messageMaxLength?N(x).substring(0,o.messageMaxLength)+"...":N(x),O=""+x+""),U++;var H=t.document.createElement("div");H.id=b.ID+"-"+U,H.className=g+(o.cssAnimation?" nx-with-animation":""),H.style.position=o.position,H.style.zIndex=o.zindex,H.style.background=o.backgroundColor,H.style.animationDuration=o.cssAnimationDuration+"ms",H.style.fontFamily="\""+o.fontFamily+"\", "+r,H.style.display="flex",H.style.flexWrap="wrap",H.style.flexDirection="column",H.style.alignItems="center",H.style.justifyContent="center",o.rtl&&(H.setAttribute("dir","rtl"),H.classList.add("nx-rtl-on")),H.innerHTML=E+O;var W=t.getComputedStyle(S).getPropertyValue("position"),j="string"==typeof W?W.toLocaleLowerCase("en"):"relative",P=Math.round(1.25*parseInt(o.svgSize))+40,V=S.offsetHeight||0,q="";P>V&&(q="min-height:"+P+"px;");var Y="";Y=S.getAttribute("id")?"#"+S.getAttribute("id"):S.classList[0]?"."+S.classList[0]:(S.tagName||"").toLocaleLowerCase("en");var Q="",K=-1>=["absolute","relative","fixed","sticky"].indexOf(j);if(K||0"+Y+"."+z+"{"+Q+q+"}",Z=t.document.createRange();Z.selectNode(t.document.head);var $=Z.createContextualFragment(J);t.document.head.appendChild($),S.classList.add(z)}S.appendChild(H)}}}else var _=function(e){var a=setTimeout(function(){null!==e.parentNode&&e.parentNode.removeChild(e);var n=e.getAttribute("id"),i=t.document.getElementById("Style-"+n);i&&null!==i.parentNode&&i.parentNode.removeChild(i),clearTimeout(a)},o.cssAnimationDuration)},tt=function(t){if(t&&0\" or \"NodeListOf\" does not have a \"Block\" element to remove.")},et=function(t){var e=setTimeout(function(){t.classList.remove(z),clearTimeout(e)},o.cssAnimationDuration+300)},at=setTimeout(function(){for(var t,e=0;e Date: Sun, 6 Apr 2025 05:59:23 +0200 Subject: [PATCH 16/32] add block ui and file zone --- .../assets/js/safekat/pages/produccion/ot.js | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/httpdocs/assets/js/safekat/pages/produccion/ot.js b/httpdocs/assets/js/safekat/pages/produccion/ot.js index ebeb51bd..029abab2 100644 --- a/httpdocs/assets/js/safekat/pages/produccion/ot.js +++ b/httpdocs/assets/js/safekat/pages/produccion/ot.js @@ -4,11 +4,11 @@ import DatePicker from "../../components/datepicker.js"; import { alertConfirmationDelete, alertSuccess } from "../../components/alerts/sweetAlert.js"; import Modal from "../../components/modal.js" import FileUploadDropzone from '../../components/forms/fileUploadDropzone.js'; - class OrdenTrabajo { constructor(domItem) { this.item = domItem this.otForm = this.item.find("#ot-edit-form") + this.block = document.querySelector('.section-block'); this.modelId = this.item.data("id"); this.tareasTableItem = this.item.find("#ot-task-table"); this.tareasId = [] @@ -17,6 +17,10 @@ class OrdenTrabajo { this.alertOrdenTrabajo = this.item.find("#alert-orden-trabajo"); this.btnFinalizarPedido = this.item.find("#btn-finalizar-orden-pedido") this.btnResetTareas = this.item.find("#btn-reset-tareas") + this.pedidoEnEsperaCheck = this.item.find("#ot-pedido-espera"); + this.pedidoEnEsperaBy = this.item.find("#pedido_espera_by"); + this.otEstado = this.item.find("#ot-estado"); + this.datatableColumns = [ { data: 'orden', searchable: true, sortable: true, render: this._renderOrdenTarea.bind(this), width: "10%" }, { data: 'nombre', searchable: true, sortable: true, width: "20%" }, @@ -153,6 +157,7 @@ class OrdenTrabajo { return data } _handleGetData() { + Notiflix.Block.circle('.section-block'); const ajax = new Ajax(`/produccion/ordentrabajo/summary/${this.modelId}`, null, null, @@ -282,11 +287,14 @@ class OrdenTrabajo { } finally { this.otForm.on("change", ".ot-date", this.handleDateChange.bind(this)) this.otForm.on("change", ".ot-preview", this.handlePreimpresionReviewChange.bind(this)) + Notiflix.Block.remove('.section-block'); } } - handleSummaryError(error) { } + handleSummaryError(error) { + Notiflix.Block.remove('.section-block'); + } fillPreimpresionReview() { this.otForm.find("[name=fecha_entrega_warning]").prop("checked", this.summaryData.ot.fecha_entrega_warning) this.otForm.find("[name=fecha_entrega_warning_revised]").prop("checked", this.summaryData.ot.fecha_entrega_warning_revised) @@ -298,6 +306,7 @@ class OrdenTrabajo { this.otForm.find("[name=realizar_imposicion]").prop("checked", this.summaryData.ot.realizar_imposicion) this.otForm.find("[name=enviar_impresion]").prop("checked", this.summaryData.ot.enviar_impresion) + } fillOtDetails() { const progreso = this.summaryData.ot.progreso @@ -324,6 +333,14 @@ class OrdenTrabajo { this.espiral.setDate(this.summaryData.dates.fecha_impresion_at) this.embalaje.setDate(this.summaryData.dates.embalaje_at) this.envio.setDate(this.summaryData.dates.envio_at) + this.pedidoEnEsperaCheck.prop("checked",this.summaryData.ot.is_pedido_espera); + if(this.summaryData.ot.pedido_espera_by){ + this.pedidoEnEsperaBy.text([this.summaryData.ot.pedido_espera_by.first_name,this.summaryData.ot.pedido_espera_by.last_name].join(" ")) + }else{ + this.pedidoEnEsperaBy.text(""); + } + this.otEstado.val(this.summaryData.ot.estado) + } @@ -372,12 +389,15 @@ class OrdenTrabajo { }, null, (response) => { + + this._handleGetData(); alertSuccess(response.message).fire() }, null ) ajax.post(); } + handleDateChange(event) { const key = $(event.currentTarget).attr("name") const data = {} @@ -399,6 +419,7 @@ class OrdenTrabajo { handleDateChangeSuccess(formItem, response) { formItem.addClass("is-valid") alertSuccess(response.message).fire() + this._handleGetData(); if (response.user) { formItem.parent().find(".form-text").remove() formItem.parent().append(`
${[response.user.first_name, response.user.last_name].join(" ")}
`) @@ -421,6 +442,7 @@ class OrdenTrabajo { } handlePreimpresionReviewChangeSuccess(response) { + this._handleGetData(); alertSuccess(response.message).fire() } From 4343b866409ddfc28698a996d30128e5f0c980d5 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 05:59:37 +0200 Subject: [PATCH 17/32] fix sistema/intranet path --- .../assets/js/safekat/components/forms/fileUploadDropzone.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js b/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js index 6f2ec78b..a6e6fee8 100644 --- a/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js +++ b/httpdocs/assets/js/safekat/components/forms/fileUploadDropzone.js @@ -71,8 +71,8 @@ class FileUploadDropzone { } } onViewButton(file) { - console.log(window.location.protocol + "//" + window.location.host + this.resourcePath + "/" + file.hash) - window.open(window.location.protocol + "//" + window.location.host + this.resourcePath + "/" + file.hash, '_blank'); + console.log(window.location.protocol + "//" + window.location.host + "/sistema/intranet/" + this.resourcePath + "/" + file.hash) + window.open(window.location.protocol + "//" + window.location.host + "/sistema/intranet/" + this.resourcePath + "/" + file.hash, '_blank'); } _getDropzoneFilesFormData() { var files = this.dropzone.files; From f362087c01e373f0d0ed7e5f67976478e43af061 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:00:09 +0200 Subject: [PATCH 18/32] add pedido espera switch --- .../vuexy/form/produccion/ot/otProgress.php | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php b/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php index 3abb1ac0..380dfb68 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php @@ -3,7 +3,7 @@

+
+ +
From cfa3f7329ff7b61698547220f688b03bc3eb209d Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:00:52 +0200 Subject: [PATCH 19/32] add error resposne to get_orden_trabajo_summary --- ci4/app/Controllers/Produccion/Ordentrabajo.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index 1b802ecb..3238788b 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -68,8 +68,13 @@ class Ordentrabajo extends BaseController public function get_orden_trabajo_summary($orden_trabajo_id) { - $summary = $this->produccionService->init($orden_trabajo_id)->getSummary(); - return $this->response->setJSON($summary); + try { + //code... + $summary = $this->produccionService->init($orden_trabajo_id)->getSummary(); + return $this->response->setJSON($summary); + } catch (\Throwable $th) { + return $this->response->setStatusCode(500)->setJSON(["message" => $th->getMessage(), "error" => $th]); + } } public function add() {} From 98d47a0f0f0f26d645a642304430e325abfdb98f Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:01:12 +0200 Subject: [PATCH 20/32] remove pedido_espera_by cast --- ci4/app/Entities/Produccion/OrdenTrabajoEntity.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php index e5507b3c..2ad1b2fc 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoEntity.php @@ -63,7 +63,6 @@ class OrdenTrabajoEntity extends Entity "enviar_impresion" => "bool", "portada_path" => "string", "is_pedido_espera" => "bool", - "pedido_espera_by" => "?integer" ]; @@ -124,9 +123,17 @@ class OrdenTrabajoEntity extends Entity $m = model(OrdenTrabajoFileModel::class); return $m->where('orden_trabajo_id',$this->attributes['id'])->findAll() ?? []; } - public function pedidoEsperaBy() : UsersEntity + public function pedidoEsperaBy() : ?UsersEntity { $m = model(UserModel::class); - return $m->findById($this->attributes['pedido_espera_by']); + if($this->attributes['pedido_espera_by']){ + return $m->findById($this->attributes['pedido_espera_by']); + }else{ + return null; + } + } + public function getPedidoEsperaBy(): ?UsersEntity + { + return $this->pedidoEsperaBy(); } } From 5051bddf363cbff4882b7c32f9c9cf8e449f573e Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:01:20 +0200 Subject: [PATCH 21/32] add translations --- ci4/app/Language/es/Produccion.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci4/app/Language/es/Produccion.php b/ci4/app/Language/es/Produccion.php index 9ba1dcd0..98e81d76 100644 --- a/ci4/app/Language/es/Produccion.php +++ b/ci4/app/Language/es/Produccion.php @@ -77,6 +77,8 @@ return [ "planning_rotativa" => "Planificación rotativa", "planning_plana" => "Planificación plana", "solapa" => "Solapa", - "papel_gramajes" => "Papel y gramajes" + "papel_gramajes" => "Papel y gramajes", + "estado" => "Estado", + "pedido_espera" => "Pedido en espera" ]; \ No newline at end of file From 7a316d9b81dc9958e80bee55e2d340ad3ed6a9b8 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:01:32 +0200 Subject: [PATCH 22/32] update with pedido espera --- ci4/app/Services/ProductionService.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index fe6568ee..f758c344 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -755,6 +755,9 @@ class ProductionService extends BaseService public function updateOrdenTrabajo($data): bool { + if(isset($data["is_pedido_espera"])){ + $data["pedido_espera_by"] = auth()->user()->id; + } return $this->otModel->update($this->ot->id, $data); } /**======================================================================== From ea11011aca5c991d833c915f1a434f88671dd7a4 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:01:50 +0200 Subject: [PATCH 23/32] buttons to btn-sm --- ci4/app/Views/themes/vuexy/components/dropzone.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/components/dropzone.php b/ci4/app/Views/themes/vuexy/components/dropzone.php index 8da70305..ad2893df 100644 --- a/ci4/app/Views/themes/vuexy/components/dropzone.php +++ b/ci4/app/Views/themes/vuexy/components/dropzone.php @@ -4,7 +4,8 @@

- - From f56ede87da422e2324dfa45c73b0bac79428aa49 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:02:02 +0200 Subject: [PATCH 24/32] reorder sections --- .../form/produccion/viewOrdenTrabajoEdit.php | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php b/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php index f566213e..9a262c65 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/viewOrdenTrabajoEdit.php @@ -10,28 +10,29 @@
-
+
-
- -
-
+ +
-
+
-
+
-
+
-
+
+ +
+
-
+
@@ -70,6 +71,8 @@ section('css') ?> " /> + + @@ -77,6 +80,7 @@ endSection() ?> section('additionalExternalJs') ?> + From 7aa1a33767e20dc0df2c141ff8f35fae4694d361 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:02:27 +0200 Subject: [PATCH 25/32] fix switches inaplazable y revisada css --- .../vuexy/form/produccion/ot/otDates.php | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/form/produccion/ot/otDates.php b/ci4/app/Views/themes/vuexy/form/produccion/ot/otDates.php index 59aeb8cf..d569c1ec 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/ot/otDates.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/ot/otDates.php @@ -3,7 +3,7 @@

-
+
@@ -17,8 +17,8 @@
- - + +
From 071dceced890c9cb9fde2e2aae27790686af6eb1 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 06:17:19 +0200 Subject: [PATCH 27/32] table papeles impresion responsive --- .../maquinas/viewMaquinaForm.php | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/form/configuracion/maquinas/viewMaquinaForm.php b/ci4/app/Views/themes/vuexy/form/configuracion/maquinas/viewMaquinaForm.php index 0a9d8ed3..b72b4b83 100644 --- a/ci4/app/Views/themes/vuexy/form/configuracion/maquinas/viewMaquinaForm.php +++ b/ci4/app/Views/themes/vuexy/form/configuracion/maquinas/viewMaquinaForm.php @@ -135,25 +135,26 @@
- - - - - - - - - - - - - - - - - - -
+
+ + + + + + + + + + + + + + + + + +
+
From b320856af8d31aef10dec4e21fbda6724b7fd0ce Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 09:32:04 +0200 Subject: [PATCH 28/32] select maquina plana padre --- ci4/app/Config/Routes.php | 1 + 1 file changed, 1 insertion(+) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 92c10179..63aa1623 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -1015,6 +1015,7 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func $routes->get('select/maquina/rotativa','Ordentrabajo::select_maquina_planning_rot'); $routes->get('select/papel/rotativa','Ordentrabajo::select_papel_planning_rot'); $routes->get('select/maquina/plana','Ordentrabajo::select_maquina_planning_plana'); + $routes->get('select/maquina/padre/plana','Ordentrabajo::select_maquina_padre_planning_plana'); $routes->get('select/papel/plana','Ordentrabajo::select_papel_planning_plana'); $routes->get('rotativa', 'Ordentrabajo::index_planning_rotativa'); $routes->get('papel/datatable', 'Ordentrabajo::papel_gramaje_datatable'); From 2eb51ffd55b9620e592ce13e1c2290ce07da546c Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 09:32:13 +0200 Subject: [PATCH 29/32] maquina padre plana --- ci4/app/Controllers/Produccion/Ordentrabajo.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index 3238788b..24d9cf75 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -301,6 +301,10 @@ class Ordentrabajo extends BaseController public function planning_plana_datatable() { $q = $this->produccionService->planningPlanaQueryDatatable(); + $padreId = $this->request->getGet('padre_id'); + if($padreId){ + $q->where('lg_maquinas.padre_id',$padreId); + } return DataTable::of($q) ->edit("tiempo_real_sum", fn($q) => $q->tiempo_real_sum) ->edit("fecha_entrega_real_at", fn($q) => $q->fecha_entrega_real_at ? Time::createFromFormat("Y-m-d", $q->fecha_entrega_real_at)->format("d/m/Y") : "") @@ -326,6 +330,12 @@ class Ordentrabajo extends BaseController $result = $this->produccionService->querySelectMaquinaPlanningPlana($q); return $this->response->setJSON($result); } + public function select_maquina_padre_planning_plana() + { + $q = $this->request->getGet('q'); + $result = $this->produccionService->querySelectMaquinaPadrePlanningPlana($q); + return $this->response->setJSON($result); + } public function select_papel_planning_plana() { $q = $this->request->getGet('q'); From 2857697fd205a85eaa889aa5a0928e19dbb7015c Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 09:32:42 +0200 Subject: [PATCH 30/32] add padre_id to select in planningPlanaQueryDatatable --- ci4/app/Services/ProductionService.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index f758c344..bbe61afb 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -486,6 +486,7 @@ class ProductionService extends BaseService "presupuestos.titulo as presupuesto_titulo", "orden_trabajo_tareas.maquina_id", "lg_maquinas.nombre as maquina_planning_nombre", + "lg_maquinas.padre_id as padre_id", "ordenes_trabajo.total_tirada as ot_tirada", "lg_papel_formato.ancho as papel_ancho", "lg_papel_formato.alto as papel_alto", @@ -859,7 +860,6 @@ class ProductionService extends BaseService "lg_maquinas.nombre as name", ]) ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") - ->join("orden_trabajo_dates", "orden_trabajo_dates.orden_trabajo_id = ordenes_trabajo.id", "left") ->join("presupuesto_linea", "presupuesto_linea.id = orden_trabajo_tareas.presupuesto_linea_id", "left") ->join("lg_maquinas", "lg_maquinas.id = orden_trabajo_tareas.maquina_id", "left") ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) @@ -871,6 +871,26 @@ class ProductionService extends BaseService } return $query->get()->getResultArray(); } + public function querySelectMaquinaPadrePlanningPlana($q) + { + $query = $this->otModel->builder()->select([ + "mp.id as id", + "mp.nombre as name", + ]) + ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") + ->join("presupuesto_linea", "presupuesto_linea.id = orden_trabajo_tareas.presupuesto_linea_id", "left") + ->join("lg_maquinas", "lg_maquinas.id = orden_trabajo_tareas.maquina_id", "left") + ->join("lg_maquinas mp", "mp.id = lg_maquinas.padre_id", "left") + ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) + ->where('lg_maquinas.is_rotativa', false) + ->where('mp.is_padre', 0) + ->where("orden_trabajo_tareas.deleted_at", null) + ->groupBy("mp.id"); + if ($q) { + $query->like('lg_maquinas.nombre', $q); + } + return $query->get()->getResultArray(); + } public function querySelectPapelPlanningRot(string $q) { $query = $this->otModel->builder()->select([ From 89ec78bc31f8acf97baa5b8c00ce41121070e24d Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 09:32:53 +0200 Subject: [PATCH 31/32] add select filter maquina padre --- .../vuexy/components/tables/planning_plana_table.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php index 4a95b44b..ab28244c 100644 --- a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php +++ b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php @@ -7,6 +7,7 @@ + @@ -21,7 +22,12 @@ - + +
+ + +
+ From 2b343b0dd9b5598b0c38158a21647fa383c544d3 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 6 Apr 2025 09:33:44 +0200 Subject: [PATCH 32/32] add filter maquina padre in datatablePlanningPlana --- .../planning_rotativa/planning_rotativa.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/httpdocs/assets/js/safekat/pages/produccion/planning_rotativa/planning_rotativa.js b/httpdocs/assets/js/safekat/pages/produccion/planning_rotativa/planning_rotativa.js index a3ec63aa..d14b8623 100644 --- a/httpdocs/assets/js/safekat/pages/produccion/planning_rotativa/planning_rotativa.js +++ b/httpdocs/assets/js/safekat/pages/produccion/planning_rotativa/planning_rotativa.js @@ -90,6 +90,7 @@ class PlanningRotativa { }, $('body')); this.papelImpresionFilter = new ClassSelect(this.tablePlanningRot.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/rotativa`, "Seleccione un papel", true, {}, $('body')); this.maquinaSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-select"), `/produccion/ordentrabajo/planning/select/maquina/plana`, "Seleccione una maquina", true, {}, $('body')); + this.maquinaPadreSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-padre-select"), `/produccion/ordentrabajo/planning/select/maquina/padre/plana`, "Máquina padre", true, {}, $('body')); this.papelImpresionFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/plana`, "Seleccione un papel", true, {}, $('body')); this.maquinaSelectFilter.config.dropdownParent = this.item } @@ -121,6 +122,7 @@ class PlanningRotativa { this.papelImpresionFilter.init() this.maquinaSelectFilterPlana.init() this.papelImpresionFilterPlana.init() + this.maquinaPadreSelectFilterPlana.init(); this.checkAllMetros.on('change', () => { let isChecked = this.checkAllMetros.prop('checked') this.item.find(".metros-check").prop('checked', isChecked).trigger("change") @@ -163,7 +165,15 @@ class PlanningRotativa { url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json" }, columns: this.datatablePlanaColumns, - ajax: '/produccion/ordentrabajo/planning/plana/datatable' + + ajax: { + url : '/produccion/ordentrabajo/planning/plana/datatable', + data : d => { + if(this.maquinaPadreSelectFilterPlana.getVal()){ + d.padre_id = this.maquinaPadreSelectFilterPlana.getVal() + } + } + } }); this.papelGramajeDatatable = this.papelGramajeTablePlanning.DataTable({ processing: true, @@ -223,9 +233,12 @@ class PlanningRotativa { let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) this.datatablePlanningPlana.column(columnIndex).search(this.maquinaSelectFilterPlana.getText()).draw() }) - this.tablePlanningPlana.on("change", ".planning-papel-select", (event) => { + this.tablePlanningPlana.on("change", ".planning-maquina-select", (event) => { let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) - this.datatablePlanningPlana.column(columnIndex).search(this.papelImpresionFilterPlana.getText()).draw() + this.datatablePlanningPlana.column(columnIndex).search(this.maquinaSelectFilterPlana.getText()).draw() + }) + this.tablePlanningPlana.on("change", ".planning-maquina-padre-select", (event) => { + this.datatablePlanningPlana.ajax.reload(); }) this.papelPliegoDatatable.on('draw', this.addTotalFooterPliego.bind(this))