diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-10-20 17:56:02 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-11-05 11:05:12 +0100 |
commit | 7c78218339ac914f097db79c343b07ea86c7313a (patch) | |
tree | 4607442d001a841964fbbedbb23a99bfbdfe7faa /themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org | |
parent | bd614de514a7dd43a25f432dc1a9f9f66e7eec2b (diff) |
luci-base, themes: rework dynlist and dropdown widgets
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org')
-rw-r--r-- | themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css b/themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css index 94d6b57296..e650aa55a9 100644 --- a/themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css +++ b/themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css @@ -516,7 +516,8 @@ input.cbi-input-password + img { .td select, .td .cbi-dropdown, -.td input[type=text] { +.td input[type=text], +.cbi-dynlist > .add-item > .cbi-dropdown { width: 100%; } @@ -531,7 +532,7 @@ img.cbi-image-button { vertical-align: middle; } -.btn, .cbi-button { +.btn, .cbi-button, .item::after { padding: 0 .5em; border-radius: 3px; border: 1px solid #aaa; @@ -545,9 +546,11 @@ img.cbi-image-button { font-weight: bold; line-height: 13pt; height: 16pt; + box-sizing: border-box; + cursor: pointer; } -.btn:hover, .cbi-button:hover { +.btn:hover, .cbi-button:hover, .item:hover::after { box-shadow: 0 0 3px #37c; } @@ -1009,7 +1012,8 @@ ul.cbi-tabmenu li.cbi-tab { background: #fff; } -.cbi-dropdown:focus { +.cbi-dropdown:focus, +.cbi-dynlist > .item:focus { outline: 2px solid #4b6e9b; } @@ -1150,11 +1154,60 @@ ul.cbi-tabmenu li.cbi-tab { border-bottom: none; } +.cbi-dropdown[open] > ul.dropdown > li[unselectable] { + opacity: 0.7; +} + +.cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child { + width: 100%; +} + .cbi-dropdown[disabled] { pointer-events: none; opacity: .6; } +.cbi-dynlist { + height: auto; + min-height: 30px; + min-width: 210px; + max-width: 100%; + width: auto; + display: inline-flex; + flex-direction: column; +} + +.cbi-dynlist > .item { + margin-bottom: 4px; + background: #eee; + padding: 2px 2em 2px 4px; + border: 1px outset #000; + border-radius: 3px; + position: relative; + pointer-events: none; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.cbi-dynlist > .item::after { + content: "×"; + position: absolute; + display: inline-flex; + align-items: center; + top: -1px; + right: -1px; + bottom: -1px; + padding: 0 6px; + border: 1px outset #000; + background: #fff; + border-radius: 0 3px 3px 0; + font-weight: bold; + color: #c44; + pointer-events: auto; + height: auto; +} + input[type="text"] + .cbi-button, input[type="password"] + .cbi-button, select + .cbi-button { @@ -1695,13 +1748,14 @@ select + .cbi-button { height: 1.4em; } - [data-dynlist] > input, input.cbi-input-password { width: calc(100% - 20px); } + .cbi-dynlist, .cbi-dropdown { min-width: 100%; + display: flex; } .btn, .cbi-button { |