feat: implement Google Form plugin and enhance TinyMCE editor with advanced configuration attributes

This commit is contained in:
2026-08-08 09:32:07 +07:00
parent 373ee63716
commit 57a5c0cce3
39 changed files with 6600 additions and 577 deletions
@@ -23,6 +23,9 @@
<!-- Project-wide CSS Variables & Custom Styles -->
<link rel="stylesheet" th:href="@{/css/custom.css}">
<!-- Select2 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2-bootstrap-theme/0.1.0-beta.10/select2-bootstrap.min.css">
<!-- Admin Head Hook -->
<th:block th:utext="${hookManager.doActionAndReturn('admin_head')}"></th:block>
</head>
@@ -407,6 +410,13 @@
<!-- Bootstrap core JavaScript-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script th:inline="javascript">
$(document).ajaxError(function(event, jqXHR, settings, thrownError) {
if (jqXHR.status === 401 || jqXHR.status === 403) {
window.location.href = /*[[@{/manage/login?expired}]]*/ '/manage/login?expired';
}
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
@@ -415,6 +425,9 @@
<!-- Custom scripts for all pages-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/startbootstrap-sb-admin-2/4.1.4/js/sb-admin-2.min.js"></script>
<!-- Select2 JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<!-- Page-specific scripts injected by child templates -->
<section layout:fragment="scripts"></section>