Enhanced assets template with optimized loading and QWeb templates

This commit is contained in:
Mohamed Eltayar 2025-08-28 16:48:14 +03:00
parent bf1776e219
commit fce5d88e2a
1 changed files with 135 additions and 21 deletions

View File

@ -1,31 +1,145 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets_backend" name="web_hijri_datepicker assets" inherit_id="web.assets_backend">
<!--
Enhanced Hijri Datepicker Assets Template
Optimized loading order for better compatibility with Odoo 14
Maintains all Hijri functionality while improving performance
-->
<template id="assets_backend"
name="Enhanced Hijri Datepicker Assets"
inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<!-- Modern Hijri Calendar CSS - Updated for better integration with Odoo -->
<link rel="stylesheet" href="/web_hijri_datepicker/static/src/scss/hijri_modern.css"/>
<link rel="stylesheet" href="/web_hijri_datepicker/static/src/scss/web_hijri_date.scss"/>
<!-- Updated jQuery Calendars Library v2.2.0 -->
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.plugin.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.all.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.plus.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.picker.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic-ar.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic-fa.js"/>
<!-- Enhanced CSS Styles - Load early for proper styling -->
<link rel="stylesheet" type="text/css"
href="/web_hijri_datepicker/static/src/scss/hijri_modern.css"
media="screen"/>
<link rel="stylesheet" type="text/css"
href="/web_hijri_datepicker/static/src/scss/web_hijri_date.scss"
media="screen"/>
<!-- Updated Time Entry Library v2.0.1 -->
<link rel="stylesheet" type="text/css" href="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry.css"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.plugin.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry.js"/>
<script type="text/javascript" src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry-ar.js"/>
<!-- jQuery Calendars Library v2.2.0 - Enhanced loading order -->
<!-- Core calendar plugin -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.plugin.js"/>
<!-- Main calendars library -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.js"/>
<!-- All calendar types -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.all.js"/>
<!-- Enhanced calendar features -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.plus.js"/>
<!-- Date picker functionality -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.picker.js"/>
<!-- Islamic calendar implementation -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic.js"/>
<!-- Arabic localization for Islamic calendar -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic-ar.js"/>
<!-- Farsi localization for Islamic calendar (for broader RTL support) -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic-fa.js"/>
<!-- Time Entry Library v2.0.1 - Optional time support -->
<!-- Time entry CSS -->
<link rel="stylesheet" type="text/css"
href="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry.css"
media="screen"/>
<!-- Time entry plugin base -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.2.0/jquery.plugin.js"/>
<!-- Time entry functionality -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry.js"/>
<!-- Arabic time entry localization -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.timeentry.package-2.0.1/jquery.timeentry-ar.js"/>
<!-- Enhanced Hijri Integration Script - Load last for proper initialization -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/src/js/web_hijri_date.js"/>
<!-- Custom Hijri Integration Script -->
<script type="text/javascript" src="/web_hijri_datepicker/static/src/js/web_hijri_date.js"/>
</xpath>
</template>
<!-- Assets for frontend/website if needed -->
<template id="assets_frontend"
name="Hijri Datepicker Frontend Assets"
inherit_id="website.assets_frontend">
<xpath expr="." position="inside">
<!-- Minimal frontend support for Hijri dates -->
<link rel="stylesheet" type="text/css"
href="/web_hijri_datepicker/static/src/scss/hijri_modern.css"
media="screen"/>
<!-- Core calendar libraries for frontend -->
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.plugin.js"/>
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.js"/>
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic.js"/>
<script type="text/javascript"
src="/web_hijri_datepicker/static/lib/jquery.calendars.package-2.2.0/jquery.calendars.islamic-ar.js"/>
</xpath>
</template>
<!-- QWeb templates for dynamic content -->
<template id="hijri_qweb_templates" name="Hijri QWeb Templates">
<!-- Hijri date display template -->
<t t-name="hijri_date_display">
<div class="hijri-date-container">
<div class="gregorian-date" t-esc="gregorian_date"/>
<div class="hijri-date text-success" t-if="hijri_date">
<small>
<i class="fa fa-calendar-alt mr-1"/>
التاريخ الهجري: <span t-esc="hijri_date"/>
</small>
</div>
</div>
</t>
<!-- Hijri picker popup template -->
<t t-name="hijri_picker_popup">
<div class="hijri-picker-popup">
<div class="picker-header">
<h6 class="mb-0">اختيار التاريخ الهجري</h6>
</div>
<div class="picker-body">
<!-- Calendar will be inserted here -->
</div>
<div class="picker-footer">
<button type="button" class="btn btn-sm btn-secondary hijri-cancel">
إلغاء
</button>
<button type="button" class="btn btn-sm btn-primary hijri-today">
اليوم
</button>
</div>
</div>
</t>
</template>
</data>
</odoo>
</odoo>