diff --git a/simpleui/__init__.py b/simpleui/__init__.py index 193d2dbc..f64a8b01 100644 --- a/simpleui/__init__.py +++ b/simpleui/__init__.py @@ -1,2 +1,2 @@ def get_version(): - return '3.1' + return '3.2' diff --git a/simpleui/static/admin/simpleui-x/css/index.css b/simpleui/static/admin/simpleui-x/css/index.css index ae53c1a2..3a5d74b3 100644 --- a/simpleui/static/admin/simpleui-x/css/index.css +++ b/simpleui/static/admin/simpleui-x/css/index.css @@ -99,9 +99,12 @@ body { .simpleui-table tr { height: 35px; } +.simpleui-table tr:hover th, +.simpleui-table tr:hover td { + background-color: inherit!important; +} .simpleui-table tr th { text-align: right; - width: 60px; border-bottom: #eaeef5 1px solid; } .simpleui-table tr td { diff --git a/simpleui/static/admin/simpleui-x/css/index.css.map b/simpleui/static/admin/simpleui-x/css/index.css.map index ad7eed49..4fd78112 100644 --- a/simpleui/static/admin/simpleui-x/css/index.css.map +++ b/simpleui/static/admin/simpleui-x/css/index.css.map @@ -1 +1 @@ -{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"} \ No newline at end of file +{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"} \ No newline at end of file diff --git a/simpleui/static/admin/simpleui-x/css/index.less b/simpleui/static/admin/simpleui-x/css/index.less index f71e4edf..1114af85 100644 --- a/simpleui/static/admin/simpleui-x/css/index.less +++ b/simpleui/static/admin/simpleui-x/css/index.less @@ -111,11 +111,17 @@ html, body { .simpleui-table tr { height: 35px; + + &:hover{ + th,td{ + background-color: inherit!important; + } + } } .simpleui-table tr th { text-align: right; - width: 60px; + //width: 60px; border-bottom: #eaeef5 1px solid; } diff --git a/simpleui/static/admin/simpleui-x/js/index.js b/simpleui/static/admin/simpleui-x/js/index.js index b8b30390..eedd558c 100644 --- a/simpleui/static/admin/simpleui-x/js/index.js +++ b/simpleui/static/admin/simpleui-x/js/index.js @@ -17,23 +17,6 @@ var item = app.menuData[i] if ((item.url || '/') == hash) { app.openTab(item, item.eid, true); - //找到和item.eid同名的菜单 - // var defaultIndex = '1'; - // - // app.menus.forEach(n => { - // if (n.eid == item.eid) { - // console.log(n) - // defaultIndex = n.index; - // } else if (n.models) { - // n.models.forEach(k => { - // if (k.eid == item.eid) { - // console.log(k) - // defaultIndex = k.index; - // } - // }) - // } - // }); - // console.log(defaultIndex) break; } } @@ -50,9 +33,9 @@ } var fontConfig = new Vue({ - el: '#dynamicCss', + // el: '#dynamicCss', data: { - fontSize: 14 + fontSize: null }, created: function () { var val = getCookie('fontSize'); @@ -62,6 +45,26 @@ this.fontSize = 0; } }, + watch: { + fontSize: function (newValue) { + if (newValue != 0) { + var fontStyle = document.getElementById('fontStyle'); + if (!fontStyle) { + fontStyle = document.createElement('style'); + fontStyle.id = 'fontStyle'; + fontStyle.type = 'text/css'; + document.head.append(fontStyle); + } + fontStyle.innerHTML = '*{font-size:' + newValue + 'px!important;}' + + } else { + var fontStyle = document.getElementById('fontStyle'); + if (fontStyle) { + fontStyle.remove(); + } + } + } + }, methods: {} }); @@ -200,6 +203,13 @@ menuData: [] }, watch: { + theme: function (newValue, oldValue) { + this.$nextTick(function () { + if (window.renderCallback) { + window.renderCallback(this); + } + }); + }, fold: function (newValue, oldValue) { // console.log(newValue) }, @@ -229,6 +239,7 @@ }, created: function () { + // this.watch.theme(''); var val = getCookie('fold') == 'true'; this.small = this.fold = val; @@ -277,6 +288,7 @@ this.theme = getCookie('theme'); this.themeName = getCookie('theme_name'); + //接收子页面的事件注册 window.themeEvents = []; window.fontEvents = []; @@ -300,6 +312,11 @@ if (window.onresize) { window.onresize(); } + this.$nextTick(function () { + if (window.renderCallback) { + window.renderCallback(this); + } + }); }, methods: { syncTabs: function () { @@ -414,6 +431,9 @@ } , openTab: function (data, index, selected) { + if (data.breadcrumbs) { + this.breadcrumbs = data.breadcrumbs; + } //如果data没有eid,就直接打开或者添加,根据url if (!data.eid) { @@ -506,6 +526,10 @@ cancelButtonText: language.no, type: 'warning' }).then(function () { + //清除cookie主题设置和sessionStore数据 + delete sessionStorage['tabs']; + setCookie('theme', ''); + setCookie('theme_name', ''); window.location.href = window.urls.logout; }).catch(function () { @@ -544,8 +568,11 @@ displayTimeline: function () { this.timeline = !this.timeline; }, - report: function () { - window.open('https://github.com/newpanjing/simpleui/issues') + report: function (url) { + if(!url){ + url = 'https://github.com/newpanjing/simpleui/issues'; + } + window.open(url); } } }) diff --git a/simpleui/static/admin/simpleui-x/js/language.js b/simpleui/static/admin/simpleui-x/js/language.js index e76ad269..6e9229bf 100644 --- a/simpleui/static/admin/simpleui-x/js/language.js +++ b/simpleui/static/admin/simpleui-x/js/language.js @@ -1,5 +1,4 @@ window.getLanuage = function (key) { - console.log(key) if (!window.Lanuages) { return ""; } diff --git a/simpleui/templates/admin/base.html b/simpleui/templates/admin/base.html index 9396a156..68ade94f 100644 --- a/simpleui/templates/admin/base.html +++ b/simpleui/templates/admin/base.html @@ -10,7 +10,7 @@ {% block title %}{% endblock %} - {% if "SIMPLEUI_STATIC_OFFLINE"|get_config %} + {% if "SIMPLEUI_STATIC_OFFLINE"|get_config %} {% else %} @@ -23,14 +23,14 @@ - {% if "SIMPLEUI_STATIC_OFFLINE"|get_config %} - - - {% else %} -{# #} - - - {% endif %} + {% if "SIMPLEUI_STATIC_OFFLINE"|get_config %} + + + {% else %} + {# #} + + + {% endif %} @@ -38,7 +38,8 @@ {% if ""|get_language_code != 'zh-hans' %} - + @@ -47,7 +48,8 @@ {% block extrastyle %}{% endblock %} {% if LANGUAGE_BIDI %} - {% endif %} + {% endif %} {% block extrahead %}{% endblock %} {% block responsive %} @@ -66,26 +68,41 @@ data-admin-utc-offset="{% now "Z" %}"> {% verbatim dynamicCss %} - {% endverbatim dynamicCss %}
{% if "SIMPLEUI_DEFAULT_THEME"|get_config %} - + {% endif %}
@@ -104,18 +104,7 @@ el:'.page-header', methods:{ goBack:function () { - //找到上级 - var array = location.pathname.split('/') - if (array.length == 5||array.length==6) { - window.location.href = '/' + array[1] + '/' + array[2]; - } else { - var referrer = document.referrer; - if (referrer && document.URL != referrer) { - window.location.href = referrer; - } else { - window.history.go(-1); - } - } + window.location.href='{% get_model_url %}' } } }) diff --git a/simpleui/templates/admin/index.html b/simpleui/templates/admin/index.html index c756d3bc..62f9e150 100755 --- a/simpleui/templates/admin/index.html +++ b/simpleui/templates/admin/index.html @@ -28,7 +28,7 @@ {% endif %} - + {% endblock %} {% block head %} @@ -52,11 +52,6 @@ {% verbatim dynamicCss %} - {% endverbatim dynamicCss %} {% block menus %} @@ -69,7 +64,8 @@ {% if "SIMPLEUI_DEFAULT_THEME"|get_config %} - + {% endif %} {% endblock %} @@ -126,19 +122,20 @@
- - - {% verbatim myclode %} - {{ menus[0].name }} - - - - - - {% endverbatim myclode %} - + {% block breadcrumb %} + + {% verbatim myclode %} + {{ menus[0].name }} + + + + + + {% endverbatim myclode %} + + {% endblock %}
@@ -199,8 +196,10 @@ {% endif %} - + {% block tab-item %} + + + {% endblock %}
@@ -282,13 +281,13 @@ name: '{{ title }}', icon: '{{ icon }}', active: true, - eid:'1' + eid: '1' } {% else %} var home = { id: '0', index: '1', - eid:'1', + eid: '1', name: "{% trans 'Home' %}", icon: 'fas fa-home' }; @@ -336,11 +335,13 @@ {% block index_js %} - + {% endblock %} {% block autoupdate %} - + {% if not "SIMPLEUI_STATIC_OFFLINE"|get_config %} + + {% endif %} {% endblock %} {% endblock %} {% load_analysis %} diff --git a/simpleui/templates/admin/submit_line.html b/simpleui/templates/admin/submit_line.html index 528044a0..1f7651a4 100644 --- a/simpleui/templates/admin/submit_line.html +++ b/simpleui/templates/admin/submit_line.html @@ -1,4 +1,4 @@ -{% load i18n admin_urls %} +{% load i18n admin_urls simpletags%}
@@ -40,17 +40,7 @@ $("form").submit(); }, prev: function () { - var array = location.pathname.split('/') - if (array.length == 5 || array.length == 6) { - window.location.href = '/' + array[1] + '/' + array[2]; - } else { - var referrer = document.referrer; - if (referrer && document.URL != referrer) { - window.location.href = referrer; - } else { - window.history.go(-1); - } - } + window.location.href='{% get_model_url %}' } } }) diff --git a/simpleui/templatetags/simpletags.py b/simpleui/templatetags/simpletags.py index 1242ef36..36cfdcbb 100644 --- a/simpleui/templatetags/simpletags.py +++ b/simpleui/templatetags/simpletags.py @@ -13,6 +13,7 @@ from django.conf import settings from django.core.serializers.json import DjangoJSONEncoder from django.db import models +from django.urls import reverse from django.utils.encoding import force_text from django.utils.functional import Promise from django.utils.html import format_html @@ -147,6 +148,11 @@ def get_config(key): return __get_config(key) +@register.simple_tag +def get_version(): + return simpleui.get_version() + + @register.simple_tag def get_app_info(): dict = { @@ -445,3 +451,12 @@ def get_tz_suffix(): @register.simple_tag def simple_version(): return simpleui.get_version() + + +@register.simple_tag(takes_context=True) +def get_model_url(context): + # reverse() + opts = context.get('opts') + key = 'admin:{}_{}_changelist'.format(opts.app_label, opts.model_name) + print(context) + return reverse(key)