From 6687379e0b1cb0a7ea1a497a972b7b167be763c4 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Wed, 20 Jan 2021 14:58:51 +0800 Subject: [PATCH] sync --- Roo/ContentPanel.js | 3 + Roo/Element.js | 6 +- Roo/HtmlEditorCore.js | 12 +- Roo/bootstrap/Button.js | 78 +- Roo/bootstrap/Card.js | 125 +- Roo/bootstrap/ComboBox.js | 25 +- Roo/bootstrap/DateField.js | 2 +- Roo/bootstrap/Input.js | 26 +- Roo/bootstrap/Markdown.js | 23 +- Roo/bootstrap/Modal.js | 12 +- Roo/bootstrap/SecurePass.js | 3 +- Roo/bootstrap/TabPanel.js | 5 +- Roo/bootstrap/Table.js | 7 +- Roo/bootstrap/Tooltip.js | 26 +- Roo/bootstrap/TriggerField.js | 2 +- Roo/bootstrap/breadcrumb/Item.js | 79 + Roo/bootstrap/breadcrumb/Nav.js | 59 + Roo/bootstrap/panel/Content.js | 16 +- Roo/bootstrap/panel/Grid.js | 25 +- Roo/bootstrap/version.js | 20 +- Roo/data/Connection.js | 28 +- buildSDK/bundle_build.sh | 18 +- buildSDK/dependancy_bootstrap.txt | 5 + buildSDK/scss-bootstrap.php | 18 +- css-bootstrap/font-awesome.css | 3299 +-- css-bootstrap4/bootstrap.css | 12 - css-bootstrap4/bootstrap.css.map | 6 +- css-bootstrap4/bootstrap.min.css | 2 +- css-bootstrap4/bootstrap.min.css.map | 6 +- css-bootstrap4/roojs-bootstrap-debug.css.map | 2 +- css-bootstrap4/roojs-bootstrap.css.map | 2 +- css-bootstrap4/sb-admin-2.css | 8118 ++++++++ css-bootstrap4/sb-admin-2.css.map | 120 + css-bootstrap4/sb-admin-2.min.css | 8 + css-bootstrap4/sb-admin-2.min.css.map | 120 + docs/json/roodata.json | 16514 +++++++++------- docs/src/Roo_ContentPanel.js.html | 3 + docs/src/Roo_Element.js.html | 4 +- docs/src/Roo_HtmlEditorCore.js.html | 10 +- docs/src/Roo_bootstrap_Button.js.html | 74 +- docs/src/Roo_bootstrap_Card.js.html | 119 +- docs/src/Roo_bootstrap_ComboBox.js.html | 23 +- docs/src/Roo_bootstrap_DateField.js.html | 2 +- docs/src/Roo_bootstrap_Input.js.html | 24 +- docs/src/Roo_bootstrap_Markdown.js.html | 96 + docs/src/Roo_bootstrap_Modal.js.html | 12 +- docs/src/Roo_bootstrap_SecurePass.js.html | 3 +- docs/src/Roo_bootstrap_TabPanel.js.html | 5 +- docs/src/Roo_bootstrap_Table.js.html | 7 +- docs/src/Roo_bootstrap_Tooltip.js.html | 22 +- docs/src/Roo_bootstrap_TriggerField.js.html | 2 +- .../src/Roo_bootstrap_breadcrumb_Item.js.html | 79 + docs/src/Roo_bootstrap_breadcrumb_Nav.js.html | 59 + docs/src/Roo_bootstrap_panel_Content.js.html | 16 +- docs/src/Roo_bootstrap_panel_Grid.js.html | 27 +- docs/src/Roo_bootstrap_version.js.html | 20 +- docs/src/Roo_data_Connection.js.html | 28 +- docs/summary.txt | 1 + docs/symbols/Roo.ContentPanel.json | 7 + docs/symbols/Roo.GridPanel.json | 7 + docs/symbols/Roo.NestedLayoutPanel.json | 7 + docs/symbols/Roo.TreePanel.json | 7 + docs/symbols/Roo.bootstrap.Button.json | 33 +- docs/symbols/Roo.bootstrap.Card.json | 58 +- docs/symbols/Roo.bootstrap.CardUploader.json | 33 +- docs/symbols/Roo.bootstrap.CheckBox.json | 26 +- docs/symbols/Roo.bootstrap.ComboBox.json | 35 +- docs/symbols/Roo.bootstrap.DateField.json | 14 +- docs/symbols/Roo.bootstrap.HtmlEditor.json | 7 + docs/symbols/Roo.bootstrap.Input.json | 14 +- docs/symbols/Roo.bootstrap.Markdown.json | 1736 ++ docs/symbols/Roo.bootstrap.MoneyField.json | 21 +- docs/symbols/Roo.bootstrap.MonthField.json | 14 +- docs/symbols/Roo.bootstrap.NumberField.json | 14 +- docs/symbols/Roo.bootstrap.PhoneInput.json | 26 +- docs/symbols/Roo.bootstrap.RadioSet.json | 14 +- docs/symbols/Roo.bootstrap.SecurePass.json | 26 +- docs/symbols/Roo.bootstrap.TabPanel.json | 7 + docs/symbols/Roo.bootstrap.TextArea.json | 14 +- docs/symbols/Roo.bootstrap.TimeField.json | 14 +- docs/symbols/Roo.bootstrap.TriggerField.json | 14 +- .../Roo.bootstrap.breadcrumb.Item.json | 980 + .../symbols/Roo.bootstrap.breadcrumb.Nav.json | 941 + docs/symbols/Roo.bootstrap.breadcrumb.json | 18 + docs/symbols/Roo.bootstrap.panel.Content.json | 7 + docs/symbols/Roo.bootstrap.panel.Grid.json | 7 + docs/symbols/Roo.bootstrap.panel.Nest.json | 7 + docs/symbols/Roo.namespace.json | 941 + docs/tree.json | 21 + examples/bootstrap/cards.js.bjs | 123 + examples/bootstrap/cards.js.js | 166 + examples/bootstrap/dashboard4.bjs | 13 + examples/bootstrap/dashboard4.js | 15 + .../font-awesome-convert.js | 0 fonts/font-awesome.css | 3298 +++ fonts/font-awesome.css~ | 3298 +++ fonts/{ => font-awesome}/fa-brands-400.eot | Bin fonts/{ => font-awesome}/fa-brands-400.svg | 0 fonts/{ => font-awesome}/fa-brands-400.ttf | Bin fonts/{ => font-awesome}/fa-brands-400.woff | Bin fonts/{ => font-awesome}/fa-brands-400.woff2 | Bin fonts/{ => font-awesome}/fa-regular-400.eot | Bin fonts/{ => font-awesome}/fa-regular-400.svg | 0 fonts/{ => font-awesome}/fa-regular-400.ttf | Bin fonts/{ => font-awesome}/fa-regular-400.woff | Bin fonts/{ => font-awesome}/fa-regular-400.woff2 | Bin fonts/{ => font-awesome}/fa-solid-900.eot | Bin fonts/{ => font-awesome}/fa-solid-900.svg | 0 fonts/{ => font-awesome}/fa-solid-900.ttf | Bin fonts/{ => font-awesome}/fa-solid-900.woff | Bin fonts/{ => font-awesome}/fa-solid-900.woff2 | Bin .../glyphicons-halflings-regular.eot | Bin .../glyphicons-halflings-regular.svg | 0 .../glyphicons-halflings-regular.ttf | Bin .../glyphicons-halflings-regular.woff | Bin .../glyphicons-halflings-regular.woff2 | Bin fonts/nunito.css | 182 + fonts/nunito/nunito-v16-latin-200.eot | Bin 0 -> 20930 bytes fonts/nunito/nunito-v16-latin-200.svg | 377 + fonts/nunito/nunito-v16-latin-200.ttf | Bin 0 -> 42824 bytes fonts/nunito/nunito-v16-latin-200.woff | Bin 0 -> 22368 bytes fonts/nunito/nunito-v16-latin-200.woff2 | Bin 0 -> 18200 bytes fonts/nunito/nunito-v16-latin-200italic.eot | Bin 0 -> 21767 bytes fonts/nunito/nunito-v16-latin-200italic.svg | 381 + fonts/nunito/nunito-v16-latin-200italic.ttf | Bin 0 -> 43792 bytes fonts/nunito/nunito-v16-latin-200italic.woff | Bin 0 -> 23280 bytes fonts/nunito/nunito-v16-latin-200italic.woff2 | Bin 0 -> 18844 bytes fonts/nunito/nunito-v16-latin-300.eot | Bin 0 -> 21556 bytes fonts/nunito/nunito-v16-latin-300.svg | 378 + fonts/nunito/nunito-v16-latin-300.ttf | Bin 0 -> 43516 bytes fonts/nunito/nunito-v16-latin-300.woff | Bin 0 -> 22936 bytes fonts/nunito/nunito-v16-latin-300.woff2 | Bin 0 -> 18764 bytes fonts/nunito/nunito-v16-latin-300italic.eot | Bin 0 -> 22671 bytes fonts/nunito/nunito-v16-latin-300italic.svg | 386 + fonts/nunito/nunito-v16-latin-300italic.ttf | Bin 0 -> 44504 bytes fonts/nunito/nunito-v16-latin-300italic.woff | Bin 0 -> 24120 bytes fonts/nunito/nunito-v16-latin-300italic.woff2 | Bin 0 -> 19608 bytes fonts/nunito/nunito-v16-latin-600.eot | Bin 0 -> 22230 bytes fonts/nunito/nunito-v16-latin-600.svg | 384 + fonts/nunito/nunito-v16-latin-600.ttf | Bin 0 -> 44192 bytes fonts/nunito/nunito-v16-latin-600.woff | Bin 0 -> 23412 bytes fonts/nunito/nunito-v16-latin-600.woff2 | Bin 0 -> 19248 bytes fonts/nunito/nunito-v16-latin-600italic.eot | Bin 0 -> 23467 bytes fonts/nunito/nunito-v16-latin-600italic.svg | 394 + fonts/nunito/nunito-v16-latin-600italic.ttf | Bin 0 -> 45512 bytes fonts/nunito/nunito-v16-latin-600italic.woff | Bin 0 -> 24700 bytes fonts/nunito/nunito-v16-latin-600italic.woff2 | Bin 0 -> 20356 bytes fonts/nunito/nunito-v16-latin-700.eot | Bin 0 -> 21845 bytes fonts/nunito/nunito-v16-latin-700.svg | 388 + fonts/nunito/nunito-v16-latin-700.ttf | Bin 0 -> 43960 bytes fonts/nunito/nunito-v16-latin-700.woff | Bin 0 -> 23200 bytes fonts/nunito/nunito-v16-latin-700.woff2 | Bin 0 -> 19088 bytes fonts/nunito/nunito-v16-latin-700italic.eot | Bin 0 -> 23262 bytes fonts/nunito/nunito-v16-latin-700italic.svg | 402 + fonts/nunito/nunito-v16-latin-700italic.ttf | Bin 0 -> 45596 bytes fonts/nunito/nunito-v16-latin-700italic.woff | Bin 0 -> 24576 bytes fonts/nunito/nunito-v16-latin-700italic.woff2 | Bin 0 -> 20192 bytes fonts/nunito/nunito-v16-latin-800.eot | Bin 0 -> 22387 bytes fonts/nunito/nunito-v16-latin-800.svg | 389 + fonts/nunito/nunito-v16-latin-800.ttf | Bin 0 -> 44484 bytes fonts/nunito/nunito-v16-latin-800.woff | Bin 0 -> 23576 bytes fonts/nunito/nunito-v16-latin-800.woff2 | Bin 0 -> 19464 bytes fonts/nunito/nunito-v16-latin-800italic.eot | Bin 0 -> 23829 bytes fonts/nunito/nunito-v16-latin-800italic.svg | 409 + fonts/nunito/nunito-v16-latin-800italic.ttf | Bin 0 -> 46152 bytes fonts/nunito/nunito-v16-latin-800italic.woff | Bin 0 -> 24960 bytes fonts/nunito/nunito-v16-latin-800italic.woff2 | Bin 0 -> 20648 bytes fonts/nunito/nunito-v16-latin-900.eot | Bin 0 -> 22802 bytes fonts/nunito/nunito-v16-latin-900.svg | 393 + fonts/nunito/nunito-v16-latin-900.ttf | Bin 0 -> 45232 bytes fonts/nunito/nunito-v16-latin-900.woff | Bin 0 -> 24024 bytes fonts/nunito/nunito-v16-latin-900.woff2 | Bin 0 -> 19796 bytes fonts/nunito/nunito-v16-latin-900italic.eot | Bin 0 -> 23974 bytes fonts/nunito/nunito-v16-latin-900italic.svg | 411 + fonts/nunito/nunito-v16-latin-900italic.ttf | Bin 0 -> 46464 bytes fonts/nunito/nunito-v16-latin-900italic.woff | Bin 0 -> 25124 bytes fonts/nunito/nunito-v16-latin-900italic.woff2 | Bin 0 -> 20792 bytes fonts/nunito/nunito-v16-latin-italic.eot | Bin 0 -> 23050 bytes fonts/nunito/nunito-v16-latin-italic.svg | 393 + fonts/nunito/nunito-v16-latin-italic.ttf | Bin 0 -> 44696 bytes fonts/nunito/nunito-v16-latin-italic.woff | Bin 0 -> 24472 bytes fonts/nunito/nunito-v16-latin-italic.woff2 | Bin 0 -> 20000 bytes fonts/nunito/nunito-v16-latin-regular.eot | Bin 0 -> 21857 bytes fonts/nunito/nunito-v16-latin-regular.svg | 380 + fonts/nunito/nunito-v16-latin-regular.ttf | Bin 0 -> 43752 bytes fonts/nunito/nunito-v16-latin-regular.woff | Bin 0 -> 23124 bytes fonts/nunito/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes roojs-all.js | 46 +- roojs-bootstrap-debug.js | 615 +- roojs-bootstrap.js | 245 +- roojs-core-debug.js | 34 +- roojs-core.js | 28 +- roojs-debug.js | 49 +- roojs-ui-debug.js | 15 +- roojs-ui.js | 18 +- .../tmp077tbA.scssc | Bin 0 -> 17162 bytes .../tmp16WfxF.scssc | Bin 0 -> 17155 bytes .../tmp1Blnbm.scssc | Bin 0 -> 2770 bytes .../tmp4tfGes.scssc | Bin 0 -> 2688 bytes .../tmpM8VMfj.scssc | Bin 0 -> 17190 bytes .../tmpVvsZtB.scssc | Bin 0 -> 17162 bytes .../tmpeT_aV2.scssc | Bin 0 -> 2770 bytes .../tmpgCKPeu.scssc | Bin 0 -> 2746 bytes .../tmpleYXht.scssc | Bin 0 -> 2712 bytes .../tmpm3C34t.scssc | Bin 0 -> 2698 bytes .../tmpvALq5X.scssc | Bin 0 -> 17093 bytes .../tmpwNF9Ih.scssc | Bin 0 -> 17077 bytes scss/startbootstrap-sb-admin-2/_buttons.scss | 52 + scss/startbootstrap-sb-admin-2/_cards.scss | 36 + scss/startbootstrap-sb-admin-2/_charts.scss | 29 + .../startbootstrap-sb-admin-2/_dropdowns.scss | 21 + scss/startbootstrap-sb-admin-2/_error.scss | 52 + scss/startbootstrap-sb-admin-2/_footer.scss | 14 + scss/startbootstrap-sb-admin-2/_global.scss | 60 + scss/startbootstrap-sb-admin-2/_login.scss | 50 + scss/startbootstrap-sb-admin-2/_mixins.scss | 1 + scss/startbootstrap-sb-admin-2/_navs.scss | 3 + .../startbootstrap-sb-admin-2/_utilities.scss | 7 + .../startbootstrap-sb-admin-2/_variables.scss | 81 + .../navs/_global.scss | 42 + .../navs/_sidebar.scss | 477 + .../navs/_topbar.scss | 144 + .../startbootstrap-sb-admin-2/sb-admin-2.scss | 20 + .../utilities/_animation.scss | 37 + .../utilities/_background.scss | 17 + .../utilities/_border.scss | 7 + .../utilities/_display.scss | 4 + .../utilities/_progress.scss | 3 + .../utilities/_rotate.scss | 7 + .../utilities/_text.scss | 54 + 230 files changed, 38025 insertions(+), 11341 deletions(-) create mode 100644 Roo/bootstrap/breadcrumb/Item.js create mode 100644 Roo/bootstrap/breadcrumb/Nav.js create mode 100644 css-bootstrap4/sb-admin-2.css create mode 100644 css-bootstrap4/sb-admin-2.css.map create mode 100644 css-bootstrap4/sb-admin-2.min.css create mode 100644 css-bootstrap4/sb-admin-2.min.css.map create mode 100644 docs/src/Roo_bootstrap_Markdown.js.html create mode 100644 docs/src/Roo_bootstrap_breadcrumb_Item.js.html create mode 100644 docs/src/Roo_bootstrap_breadcrumb_Nav.js.html create mode 100644 docs/symbols/Roo.bootstrap.Markdown.json create mode 100644 docs/symbols/Roo.bootstrap.breadcrumb.Item.json create mode 100644 docs/symbols/Roo.bootstrap.breadcrumb.Nav.json create mode 100644 docs/symbols/Roo.bootstrap.breadcrumb.json create mode 100644 docs/symbols/Roo.namespace.json create mode 100644 examples/bootstrap/cards.js.bjs create mode 100644 examples/bootstrap/cards.js.js rename {css-bootstrap => fonts}/font-awesome-convert.js (100%) create mode 100644 fonts/font-awesome.css create mode 100644 fonts/font-awesome.css~ rename fonts/{ => font-awesome}/fa-brands-400.eot (100%) rename fonts/{ => font-awesome}/fa-brands-400.svg (100%) rename fonts/{ => font-awesome}/fa-brands-400.ttf (100%) rename fonts/{ => font-awesome}/fa-brands-400.woff (100%) rename fonts/{ => font-awesome}/fa-brands-400.woff2 (100%) rename fonts/{ => font-awesome}/fa-regular-400.eot (100%) rename fonts/{ => font-awesome}/fa-regular-400.svg (100%) rename fonts/{ => font-awesome}/fa-regular-400.ttf (100%) rename fonts/{ => font-awesome}/fa-regular-400.woff (100%) rename fonts/{ => font-awesome}/fa-regular-400.woff2 (100%) rename fonts/{ => font-awesome}/fa-solid-900.eot (100%) rename fonts/{ => font-awesome}/fa-solid-900.svg (100%) rename fonts/{ => font-awesome}/fa-solid-900.ttf (100%) rename fonts/{ => font-awesome}/fa-solid-900.woff (100%) rename fonts/{ => font-awesome}/fa-solid-900.woff2 (100%) rename fonts/{ => glyphicons}/glyphicons-halflings-regular.eot (100%) rename fonts/{ => glyphicons}/glyphicons-halflings-regular.svg (100%) rename fonts/{ => glyphicons}/glyphicons-halflings-regular.ttf (100%) rename fonts/{ => glyphicons}/glyphicons-halflings-regular.woff (100%) rename fonts/{ => glyphicons}/glyphicons-halflings-regular.woff2 (100%) create mode 100644 fonts/nunito.css create mode 100644 fonts/nunito/nunito-v16-latin-200.eot create mode 100644 fonts/nunito/nunito-v16-latin-200.svg create mode 100644 fonts/nunito/nunito-v16-latin-200.ttf create mode 100644 fonts/nunito/nunito-v16-latin-200.woff create mode 100644 fonts/nunito/nunito-v16-latin-200.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-200italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-200italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-200italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-200italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-200italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-300.eot create mode 100644 fonts/nunito/nunito-v16-latin-300.svg create mode 100644 fonts/nunito/nunito-v16-latin-300.ttf create mode 100644 fonts/nunito/nunito-v16-latin-300.woff create mode 100644 fonts/nunito/nunito-v16-latin-300.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-300italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-300italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-300italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-300italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-300italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-600.eot create mode 100644 fonts/nunito/nunito-v16-latin-600.svg create mode 100644 fonts/nunito/nunito-v16-latin-600.ttf create mode 100644 fonts/nunito/nunito-v16-latin-600.woff create mode 100644 fonts/nunito/nunito-v16-latin-600.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-600italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-600italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-600italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-600italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-600italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-700.eot create mode 100644 fonts/nunito/nunito-v16-latin-700.svg create mode 100644 fonts/nunito/nunito-v16-latin-700.ttf create mode 100644 fonts/nunito/nunito-v16-latin-700.woff create mode 100644 fonts/nunito/nunito-v16-latin-700.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-700italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-700italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-700italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-700italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-700italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-800.eot create mode 100644 fonts/nunito/nunito-v16-latin-800.svg create mode 100644 fonts/nunito/nunito-v16-latin-800.ttf create mode 100644 fonts/nunito/nunito-v16-latin-800.woff create mode 100644 fonts/nunito/nunito-v16-latin-800.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-800italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-800italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-800italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-800italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-800italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-900.eot create mode 100644 fonts/nunito/nunito-v16-latin-900.svg create mode 100644 fonts/nunito/nunito-v16-latin-900.ttf create mode 100644 fonts/nunito/nunito-v16-latin-900.woff create mode 100644 fonts/nunito/nunito-v16-latin-900.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-900italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-900italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-900italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-900italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-900italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-italic.eot create mode 100644 fonts/nunito/nunito-v16-latin-italic.svg create mode 100644 fonts/nunito/nunito-v16-latin-italic.ttf create mode 100644 fonts/nunito/nunito-v16-latin-italic.woff create mode 100644 fonts/nunito/nunito-v16-latin-italic.woff2 create mode 100644 fonts/nunito/nunito-v16-latin-regular.eot create mode 100644 fonts/nunito/nunito-v16-latin-regular.svg create mode 100644 fonts/nunito/nunito-v16-latin-regular.ttf create mode 100644 fonts/nunito/nunito-v16-latin-regular.woff create mode 100644 fonts/nunito/nunito-v16-latin-regular.woff2 create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp077tbA.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp16WfxF.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp1Blnbm.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp4tfGes.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpM8VMfj.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpVvsZtB.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpeT_aV2.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpgCKPeu.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpleYXht.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpm3C34t.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpvALq5X.scssc create mode 100644 scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpwNF9Ih.scssc create mode 100644 scss/startbootstrap-sb-admin-2/_buttons.scss create mode 100644 scss/startbootstrap-sb-admin-2/_cards.scss create mode 100644 scss/startbootstrap-sb-admin-2/_charts.scss create mode 100644 scss/startbootstrap-sb-admin-2/_dropdowns.scss create mode 100644 scss/startbootstrap-sb-admin-2/_error.scss create mode 100644 scss/startbootstrap-sb-admin-2/_footer.scss create mode 100644 scss/startbootstrap-sb-admin-2/_global.scss create mode 100644 scss/startbootstrap-sb-admin-2/_login.scss create mode 100644 scss/startbootstrap-sb-admin-2/_mixins.scss create mode 100644 scss/startbootstrap-sb-admin-2/_navs.scss create mode 100644 scss/startbootstrap-sb-admin-2/_utilities.scss create mode 100644 scss/startbootstrap-sb-admin-2/_variables.scss create mode 100644 scss/startbootstrap-sb-admin-2/navs/_global.scss create mode 100644 scss/startbootstrap-sb-admin-2/navs/_sidebar.scss create mode 100644 scss/startbootstrap-sb-admin-2/navs/_topbar.scss create mode 100644 scss/startbootstrap-sb-admin-2/sb-admin-2.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_animation.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_background.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_border.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_display.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_progress.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_rotate.scss create mode 100644 scss/startbootstrap-sb-admin-2/utilities/_text.scss diff --git a/Roo/ContentPanel.js b/Roo/ContentPanel.js index 29f2a68ceb..86f40ea887 100644 --- a/Roo/ContentPanel.js +++ b/Roo/ContentPanel.js @@ -27,6 +27,7 @@ * @cfg {String/Object} params When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {Boolean} loadOnce When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {String} content Raw content to fill content panel with (uses setContent on construction.) + * @cfg {String} style Extra style to add to the content panel * @constructor * Create a new ContentPanel. @@ -64,6 +65,8 @@ Roo.ContentPanel = function(el, config, content){ {tag: "div", cls: "x-layout-inactive-content", id: config.id||el}, true); } } + + this.closable = false; this.loaded = false; this.active = false; diff --git a/Roo/Element.js b/Roo/Element.js index a55c6da3ea..69d4311b2f 100644 --- a/Roo/Element.js +++ b/Roo/Element.js @@ -113,12 +113,14 @@ if(opt.anim.isAnimated()){ El.prototype = { /** - * The element's default display mode (defaults to "") + * The element's default display mode (defaults to "") * @type String */ originalDisplay : "", - visibilityMode : 1, + + // note this is overridden in BS version.. + visibilityMode : 1, /** * The default unit to append to CSS values where a unit isn't provided (defaults to px). * @type String diff --git a/Roo/HtmlEditorCore.js b/Roo/HtmlEditorCore.js index cdf80e95cc..933d8cb434 100644 --- a/Roo/HtmlEditorCore.js +++ b/Roo/HtmlEditorCore.js @@ -160,10 +160,11 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { st = ''; - } else { - st = ''; + } else { + for (var i in this.stylesheets) { + st += ''; + } + } st += '';}else{st='';}st+=''; -var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' ';},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el; -this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')}this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"} -,this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on';this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on"; -}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this);}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px'; -}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px';}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']); -}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,'');}}if(A==' '){A='';}return A; -},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; +});}else if(!this.stylesheets.length){st='';}else{for(var i in this.stylesheets){st+='';} +}st+='';var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' '; +},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el;this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')} +this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"},this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on'; +this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on";}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this); +}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px';}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px'; +}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']);}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,''); +}}if(A==' '){A='';}return A;},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; }}A=this.cleanHtml(A);A=A.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u0080-\uFFFF]/g,function(B){var cc=B.charCodeAt();if(B.length==2){var C=B.charCodeAt(0)-0xD800;var D=B.charCodeAt(1)-0xDC00;cc=(C*0x400)+D+0x10000;}else if((cc>=0x4E00&&cc<0xA000)||(cc>=0x3400&&cc<0x4E00)||(cc>=0xf900&&cc<0xfb00)){return B; }return "&#"+cc+";";});if(this.owner.fireEvent('beforesync',this,A)!==false){this.el.dom.value=A;this.owner.fireEvent('sync',this,A);}}},pushValue:function(){if(this.initialized){var v=this.el.dom.value.trim();if(this.owner.fireEvent('beforepush',this,v)!==false){var d=(this.doc.body||this.doc.documentElement); d.innerHTML=v;this.cleanUpPaste();this.el.dom.value=d.innerHTML;this.owner.fireEvent('push',this,v);}}},deferFocus:function(){this.focus.defer(10,this);},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus();}else{this.el.focus();}},assignDocWin:function(){var A=this.iframe; @@ -1835,7 +1835,7 @@ var D=ss==1;var E=ee==-1;if(D&&E){return 0;}if(!D&&E){return 1;}if(D&&!E){return i>-1;i--){this.cleanUpChild(n.childNodes[i]);}},cleanUpChild:function(A){var ed=this;if(A.nodeName=="#text"){return;}if(A.nodeName=="#comment"){A.parentNode.removeChild(A);return;}var B=A.tagName.toLowerCase();if(this.black.indexOf(B)>-1&&this.clearUp){A.parentNode.removeChild(A); return;}var C=Roo.HtmlEditorCore.remove.indexOf(A.tagName.toLowerCase())>-1;if((!A.attributes||!A.attributes.length)&&B=='span'){C=true;}if(C){this.cleanUpChildren(A);while(A.childNodes.length){var cn=A.childNodes[0];A.removeChild(cn);A.parentNode.insertBefore(cn,A); }A.parentNode.removeChild(A);return;}if(!A.attributes||!A.attributes.length){this.cleanUpChildren(A);return;}function cleanAttr(n,v){if(v.match(/^\./)||v.match(/^\//)){return;}if(v.match(/^(http|https):\/\//)||v.match(/^mailto:/)||v.match(/^ftp:/)){return; -}if(v.match(/^#/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); +}if(v.match(/^#/)){return;}if(v.match(/^\{/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); if(!p.length){return true;}var l=p.split(':').shift().replace(/\s+/g,'');l=l.replace(/^\s+/g,'').replace(/\s+$/g,'');if(D.length&&E.indexOf(l)>-1){return true;}if(D.length&&D.indexOf(l)<0){return true;}G.push(p);return true;});if(G.length){A.setAttribute(n,G.join(';')); }else{A.removeAttribute(n);}}for(var i=A.attributes.length-1;i>-1;i--){var a=A.attributes[i];if(a.name.toLowerCase().substr(0,2)=='on'){A.removeAttribute(a.name);continue;}if(Roo.HtmlEditorCore.ablack.indexOf(a.name.toLowerCase())>-1){A.removeAttribute(a.name); continue;}if(Roo.HtmlEditorCore.aclean.indexOf(a.name.toLowerCase())>-1){cleanAttr(a.name,a.value);continue;}if(a.name=='style'){cleanStyle(a.name,a.value);continue;}if(a.name=='class'){if(a.value.match(/^Mso/)){A.removeAttribute('class');}if(a.value.match(/^body$/)){A.removeAttribute('class'); diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index 157945ee55..14e2331430 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -3,15 +3,17 @@ * */ -Roo.bootstrap.version = ( - function() { - var ret=3; - Roo.each(document.styleSheets, function(s) { - if ( s.href && s.href.match(/css-bootstrap4/)) { - ret=4; - } - }); - return ret; +Roo.bootstrap.version = ( function() { + var ret=3; + Roo.each(document.styleSheets, function(s) { + if ( s.href && s.href.match(/css-bootstrap4/)) { + ret=4; + } + }); + if (ret > 3) { + Roo.Element.prototype.visibilityMode = Roo.Element.DISPLAY; + } + return ret; })(); /* * Based on: * Ext JS Library 1.1.1 @@ -981,6 +983,7 @@ Roo.extend(Roo.bootstrap.ButtonGroup, Roo.bootstrap.Component, { * @cfg {Boolean} preventDefault default true (stop click event triggering the URL if it's a link.) * @cfg {Boolean} removeClass remove the standard class.. * @cfg {String} target (_self|_blank|_parent|_top|other) target for a href. + * @cfg {Boolean} grpup if parent is a btn group - then it turns it into a toogleGroup. * * @constructor * Create a new button @@ -995,11 +998,18 @@ Roo.bootstrap.Button = function(config){ // raw events /** * @event click - * When a butotn is pressed + * When a button is pressed * @param {Roo.bootstrap.Button} btn * @param {Roo.EventObject} e */ "click" : true, + /** + * @event dblclick + * When a button is double clicked + * @param {Roo.bootstrap.Button} btn + * @param {Roo.EventObject} e + */ + "dblclick" : true, /** * @event toggle * After the button has been toggles @@ -1036,6 +1046,7 @@ Roo.extend(Roo.bootstrap.Button, Roo.bootstrap.Component, { removeClass: false, name: false, target: false, + group : false, pressed : null, @@ -1263,17 +1274,30 @@ Roo.extend(Roo.bootstrap.Button, Roo.bootstrap.Component, { } - if (this.el.hasClass('roo-button')) { + if (this.el.hasClass('roo-button')) { + this.el.on('click', this.onClick, this); + this.el.on('dblclick', this.onDblClick, this); + } else { + this.el.select('.roo-button').on('click', this.onClick, this); + this.el.select('.roo-button').on('dblclick', this.onDblClick, this); + + } + // why? + if(this.removeClass){ this.el.on('click', this.onClick, this); - } else { - this.el.select('.roo-button').on('click', this.onClick, this); - } - - if(this.removeClass){ - this.el.on('click', this.onClick, this); - } - - this.el.enableDisplayMode(); + } + + if (this.group === true) { + if (this.pressed === false || this.pressed === true) { + // nothing + } else { + this.pressed = false; + this.setActive(this.pressed); + } + + } + + this.el.enableDisplayMode(); }, onClick : function(e) @@ -1287,6 +1311,25 @@ Roo.extend(Roo.bootstrap.Button, Roo.bootstrap.Component, { e.preventDefault(); } + if (this.group) { + if (this.pressed) { + // do nothing - + return; + } + this.setActive(true); + var pi = this.parent().items; + for (var i = 0;i < pi.length;i++) { + if (this == pi[i]) { + continue; + } + if (pi[i].el.hasClass('roo-button')) { + pi[i].setActive(false); + } + } + this.fireEvent('click', this, e); + return; + } + if (this.pressed === true || this.pressed === false) { this.toggleActive(e); } @@ -1294,7 +1337,16 @@ Roo.extend(Roo.bootstrap.Button, Roo.bootstrap.Component, { this.fireEvent('click', this, e); }, - + onDblClick: function(e) + { + if (this.disabled) { + return; + } + if(this.preventDefault){ + e.preventDefault(); + } + this.fireEvent('dblclick', this, e); + }, /** * Enables this button */ @@ -1326,8 +1378,8 @@ Roo.extend(Roo.bootstrap.Button, Roo.bootstrap.Component, { */ toggleActive : function(e) { - this.setActive(!this.pressed); - this.fireEvent('toggle', this, e, !this.pressed); + this.setActive(!this.pressed); // this modifies pressed... + this.fireEvent('toggle', this, e, this.pressed); }, /** * get the current active state @@ -1897,6 +1949,7 @@ Roo.extend(Roo.bootstrap.Container, Roo.bootstrap.Component, { * @cfg {String} header_image src url of image. * @cfg {String|Object} header * @cfg {Number} header_size (0|1|2|3|4|5) H1 or H2 etc.. 0 indicates default + * @cfg {Number} header_weight (primary|secondary|success|info|warning|danger|light|dark) * * @cfg {String} title * @cfg {String} subtitle @@ -1914,7 +1967,7 @@ Roo.extend(Roo.bootstrap.Container, Roo.bootstrap.Component, { * @cfg {String} margin_y (0|1|2|3|4|5|auto) * * @cfg {String} padding (0|1|2|3|4|5) - * @cfg {String} padding_top (0|1|2|3|4|5) + * @cfg {String} padding_top (0|1|2|3|4|5)next_to_card * @cfg {String} padding_bottom (0|1|2|3|4|5) * @cfg {String} padding_left (0|1|2|3|4|5) * @cfg {String} padding_right (0|1|2|3|4|5) @@ -1950,11 +2003,13 @@ Roo.bootstrap.Card = function(config){ /** * @event drop * When a element a card is dropped - * @param {Roo.bootstrap.Element} this - * @param {Roo.Element} n the node being dropped? - * @param {Object} dd Drag and drop data - * @param {Roo.EventObject} e - * @param {Roo.EventObject} data the data passed via getDragData + * @param {Roo.bootstrap.Card} this + * + * + * @param {Roo.bootstrap.Card} move_card the card being dropped? + * @param {String} position 'above' or 'below' + * @param {Roo.bootstrap.Card} next_to_card What card position is relative to of 'false' for empty list. + */ 'drop' : true, /** @@ -2016,6 +2071,10 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { drop_group : false, childContainer : false, dropEl : false, /// the dom placeholde element that indicates drop location. + containerEl: false, // body container + bodyEl: false, // card-body + headerContainerEl : false, // + headerEl : false, layoutCls : function() { @@ -2035,7 +2094,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { ['', 'xs', 'sm', 'lg', 'xl'].forEach(function(v) { if (('' + t['display' + (v.length ? '_' : '') + v]).length) { - cls += ' d' + (v.length ? '-' : '') + v + '-' + t['margin' + (v.length ? '_' : '') + v] + cls += ' d' + (v.length ? '-' : '') + v + '-' + t['display' + (v.length ? '_' : '') + v] } }); @@ -2088,14 +2147,14 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { cfg.cls += ' bg-' + this.weight; } - cfg.cls += this.layoutCls(); + cfg.cls += ' ' + this.layoutCls(); var hdr = false; var hdr_ctr = false; if (this.header.length) { hdr = { tag : this.header_size > 0 ? 'h' + this.header_size : 'div', - cls : 'card-header', + cls : 'card-header ' + (this.header_weight ? 'bg-' + this.header_weight : ''), cn : [] }; cfg.cn.push(hdr); @@ -2103,7 +2162,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { } else { hdr = { tag : 'div', - cls : 'card-header d-none', + cls : 'card-header d-none ' + (this.header_weight ? 'bg-' + this.header_weight : ''), cn : [] }; cfg.cn.push(hdr); @@ -2245,8 +2304,8 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { initEvents: function() { - - this.bodyEl = this.getChildContainer(); + this.bodyEl = this.el.select('.card-body',true).first(); + this.containerEl = this.getChildContainer(); if(this.dragable){ this.dragZone = new Roo.dd.DragZone(this.getEl(), { containerScroll: true, @@ -2276,7 +2335,8 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { this.footerEl = this.el.select('.card-footer').first(); this.collapsableToggleEl = this.el.select('.roo-collapse-toggle'); - this.headerEl = this.el.select('.roo-card-header-ctr').first(); + this.headerContainerEl = this.el.select('.roo-card-header-ctr').first(); + this.headerEl = this.el.select('.card-header',true).first(); if (this.rotated) { this.el.addClass('roo-card-rotated'); @@ -2313,7 +2373,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { getTargetFromEvent : function(e, dragged_card_el) { var target = e.getTarget(); - while ((target !== null) && (target.parentNode != this.bodyEl.dom)) { + while ((target !== null) && (target.parentNode != this.containerEl.dom)) { target = target.parentNode; } @@ -2425,22 +2485,50 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { if (info === false) { return false; } - - if (this.fireEvent("drop", this, n, dd, e, data) === false) { + this.dropPlaceHolder('hide'); + + + + + + this.acceptCard(data.source, info.position, info.card, info.items_n); + return true; + + }, + firstChildCard : function() + { + for (var i = 0;i< this.items.length;i++) { + + if (!this.items[i].el.hasClass('card')) { + continue; + } + return this.items[i]; + } + return this.items.length ? this.items[this.items.length-1] : false; // don't try and put stuff after the cards... + }, + /** + * accept card + * + * - card.acceptCard(move_card, info.position, info.card, info.items_n); + */ + acceptCard : function(move_card, position, next_to_card ) + { + if (this.fireEvent("drop", this, move_card, position, next_to_card) === false) { return false; } - - this.dropPlaceHolder('hide'); - // do the dom manipulation first.. - var dom = data.source.el.dom; - dom.parentNode.removeChild(dom); + var to_items_n = next_to_card ? this.items.indexOf(next_to_card) : 0; + move_card.parent().removeCard(move_card); - if (info.card !== true) { - var cardel = info.card.el.dom; + + var dom = move_card.el.dom; + dom.style.width = ''; // clear with - which is set by drag. + + if (next_to_card !== false && next_to_card !== true && next_to_card.el.dom.parentNode) { + var cardel = next_to_card.el.dom; - if (info.position == 'above') { + if (position == 'above' ) { cardel.parentNode.insertBefore(dom, cardel); } else if (cardel.nextSibling) { cardel.parentNode.insertBefore(dom,cardel.nextSibling); @@ -2449,42 +2537,49 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { } } else { // card container??? - this.bodyEl.dom.append(dom); + this.containerEl.dom.append(dom); } //FIXME HANDLE card = true // add this to the correct place in items. - - // remove Card from items. - var old_parent = data.source.parent(); - - old_parent.items = old_parent.items.filter(function(e) { return e != data.source }); - + if (this.items.length) { var nitems = []; //Roo.log([info.items_n, info.position, this.items.length]); for (var i =0; i < this.items.length; i++) { - if (i == info.items_n && info.position == 'above') { - nitems.push(data.source); + if (i == to_items_n && position == 'above') { + nitems.push(move_card); } nitems.push(this.items[i]); - if (i == info.items_n && info.position == 'below') { - nitems.push(data.source); + if (i == to_items_n && position == 'below') { + nitems.push(move_card); } } this.items = nitems; Roo.log(this.items); } else { - this.items.push(data.source); + this.items.push(move_card); } - data.source.parentId = this.id; + move_card.parentId = this.id; return true; + + + }, + removeCard : function(c) + { + this.items = this.items.filter(function(e) { return e != c }); + + var dom = c.el.dom; + dom.parentNode.removeChild(dom); + dom.style.width = ''; // clear with - which is set by drag. + c.parentId = false; + }, /** Decide whether to drop above or below a View node. */ @@ -2493,7 +2588,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { if (dd) { return false; } - if (n == this.bodyEl.dom) { + if (n == this.containerEl.dom) { return "above"; } var t = Roo.lib.Dom.getY(n), b = t + n.offsetHeight; @@ -2545,7 +2640,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { dropPlaceHolder: function (action, info, data) { if (this.dropEl === false) { - this.dropEl = Roo.DomHelper.append(this.bodyEl, { + this.dropEl = Roo.DomHelper.append(this.containerEl, { cls : 'd-none' },true); } @@ -2570,7 +2665,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { } } else { // card container??? - this.bodyEl.dom.append(this.dropEl.dom); + this.containerEl.dom.append(this.dropEl.dom); } this.dropEl.addClass('d-block roo-card-dropzone'); @@ -2584,7 +2679,7 @@ Roo.extend(Roo.bootstrap.Card, Roo.bootstrap.Component, { }, setHeaderText: function(html) { - this.headerEl.dom.innerHTML = html; + this.headerContainerEl.dom.innerHTML = html; } @@ -4017,7 +4112,7 @@ Roo.extend(Roo.bootstrap.Modal, Roo.bootstrap.Component, { { // we will default to modal-body-overflow - might need to remove or make optional later. var bdy = { - cls : 'modal-body enable-modal-body-overflow ', + cls : 'modal-body ' + (this.fitwindow ? 'overflow-auto' : ''), html : this.html || '' }; @@ -4136,8 +4231,8 @@ Roo.extend(Roo.bootstrap.Modal, Roo.bootstrap.Component, { this.headerEditEl = this.headerEl.select('.form-control',true).first(); this.headerEl.on('click', function() { this.toggleHeaderInput(true) } , this); this.headerEditEl.on('keyup', function(e) { - if(e.isNavKeyPress()){ - this.toggleHeaderInput(false) + if([ e.RETURN , e.TAB , e.ESC ].indexOf(e.keyCode) > -1) { + this.toggleHeaderInput(false) } }, this); this.headerEditEl.on('blur', function(e) { @@ -4213,7 +4308,7 @@ Roo.extend(Roo.bootstrap.Modal, Roo.bootstrap.Component, { if (!this.rendered) { this.render(); } - + this.toggleHeaderInput(false); //this.el.setStyle('display', 'block'); this.el.removeClass('hideing'); this.el.dom.style.display='block'; @@ -4434,7 +4529,9 @@ Roo.extend(Roo.bootstrap.Modal, Roo.bootstrap.Component, { }, toggleHeaderInput : function(is_edit) { - + if (!this.editableTitle) { + return; // not editable. + } if (is_edit && this.is_header_editing) { return; // already editing.. } @@ -6509,6 +6606,142 @@ Roo.extend(Roo.bootstrap.NavSidebarItem, Roo.bootstrap.NavItem, { }); + /* + * - LGPL + * + * Breadcrumb Nav + * + */ +Roo.namespace('Roo.bootstrap.breadcrumb'); + + +/** + * @class Roo.bootstrap.breadcrumb.Nav + * @extends Roo.bootstrap.Component + * Bootstrap Breadcrumb Nav Class + * + * @children Roo.bootstrap.breadcrumb.Item + * + * @constructor + * Create a new breadcrumb.Nav + * @param {Object} config The config object + */ + + +Roo.bootstrap.breadcrumb.Nav = function(config){ + Roo.bootstrap.breadcrumb.Nav.superclass.constructor.call(this, config); + + +}; + +Roo.extend(Roo.bootstrap.breadcrumb.Nav, Roo.bootstrap.Component, { + + getAutoCreate : function() + { + + var cfg = { + tag: 'nav', + cn : [ + { + tag : 'ol', + cls : 'breadcrumb' + } + ] + + }; + + return cfg; + }, + + initEvents: function() + { + this.olEl = this.el.select('ol',true).first(); + }, + getChildContainer : function() + { + return this.olEl; + } + +}); + + /* + * - LGPL + * + * Breadcrumb Item + * + */ + + +/** + * @class Roo.bootstrap.breadcrumb.Nav + * @extends Roo.bootstrap.Component + * Bootstrap Breadcrumb Nav Class + * + * @children Roo.bootstrap.breadcrumb.Component + * @cfg {String} html the content of the link. + * @cfg {String} href where it links to if '#' is used the link will be handled by onClick. + * @cfg {Boolean} active is it active + + * + * @constructor + * Create a new breadcrumb.Nav + * @param {Object} config The config object + */ + +Roo.bootstrap.breadcrumb.Item = function(config){ + Roo.bootstrap.breadcrumb.Item.superclass.constructor.call(this, config); + this.addEvents({ + // img events + /** + * @event click + * The img click event for the img. + * @param {Roo.EventObject} e + */ + "click" : true + }); + +}; + +Roo.extend(Roo.bootstrap.breadcrumb.Item, Roo.bootstrap.Component, { + + href: false, + html : '', + + getAutoCreate : function() + { + + var cfg = { + tag: 'li', + cls : 'breadcrumb-item' + (this.active ? ' active' : '') + }; + if (this.href !== false) { + cfg.cn = [{ + tag : 'a', + href : this.href, + html : this.html + }]; + } else { + cfg.html = this.html; + } + + return cfg; + }, + + initEvents: function() + { + if (this.href) { + this.el.select('a', true).first().on('click',this.onClick, this) + } + + }, + onClick : function(e) + { + e.preventDefault(); + this.fireEvent('click',this, e); + } + +}); + /* * - LGPL * @@ -8241,6 +8474,9 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component, { record = ds.getAt(index); }else{ index = ds.indexOf(record); + if (index < 0) { + return; // should not happen - but seems to + } } this.insertRow(ds, index, true); this.autoSize(); @@ -8494,6 +8730,7 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component, { var tfd = this.getGridEl().select('tfoot', true).first(); var cw = ctr.getWidth(); + this.getGridEl().select('tfoot tr, tfoot td',true).setWidth(cw); if (tbd) { @@ -8507,7 +8744,8 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component, { cw -= barsize; } cw = Math.max(cw, this.totalWidth); - this.getGridEl().select('tr',true).setWidth(cw); + this.getGridEl().select('tbody tr',true).setWidth(cw); + // resize 'expandable coloumn? return; // we doe not have a view in this design.. @@ -10165,7 +10403,7 @@ Roo.form.VTypes = function(){ * @extends Roo.bootstrap.Component * Bootstrap Input class * @cfg {Boolean} disabled is it disabled - * @cfg {String} inputType button | checkbox | email | file | hidden | image | number | password | radio | range | reset | search | submit | text + * @cfg {String} (button|checkbox|email|file|hidden|image|number|password|radio|range|reset|search|submit|text) inputType * @cfg {String} name name of the input * @cfg {string} fieldLabel - the label associated * @cfg {string} placeholder - placeholder to put in text. @@ -10439,6 +10677,9 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { placeholder : this.placeholder || '', autocomplete : this.autocomplete || 'new-password' }; + if (this.inputType == 'file') { + input.style = 'overflow:hidden'; // why not in CSS? + } if(this.capture.length){ input.capture = this.capture; @@ -10517,7 +10758,7 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { inputblock.cn.push({ tag :'span', - cls : 'roo-input-before input-group-prepend input-group-text input-group-' + + cls : 'roo-input-before input-group-prepend input-group-' + (this.before.xtype == 'Button' ? 'btn' : 'addon') //?? what about checkboxes - that looks like a bit of a hack thought? }); } @@ -10536,7 +10777,7 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { inputblock.cn.push({ tag :'span', - cls : 'roo-input-after input-group-append input-group-text input-group-' + + cls : 'roo-input-after input-group-append input-group-' + (this.after.xtype == 'Button' ? 'btn' : 'addon') //?? what about checkboxes - that looks like a bit of a hack thought? }); } @@ -10551,11 +10792,8 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { cls : 'roo-required-indicator ' + (this.indicatorpos == 'right' ? 'right' : 'left') +'-indicator text-danger fa fa-lg fa-star', tooltip : 'This field is required' }; - if (Roo.bootstrap.version == 4) { - indicator = { - tag : 'i', - style : 'display-none' - }; + if (this.allowBlank ) { + indicator.style = this.allowBlank ? ' display:none' : ''; } if (align ==='left' && this.fieldLabel.length) { @@ -10640,11 +10878,14 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { } else if ( this.fieldLabel.length) { + + cfg.cn = [ { tag : 'i', cls : 'roo-required-indicator left-indicator text-danger fa fa-lg fa-star', - tooltip : 'This field is required' + tooltip : 'This field is required', + style : this.allowBlank ? ' display:none' : '' }, { tag: 'label', @@ -10658,7 +10899,7 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { ]; if(this.indicatorpos == 'right'){ - + cfg.cn = [ { tag: 'label', @@ -10669,7 +10910,8 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component, { { tag : 'i', cls : 'roo-required-indicator right-indicator text-danger fa fa-lg fa-star', - tooltip : 'This field is required' + tooltip : 'This field is required', + style : this.allowBlank ? ' display:none' : '' }, inputblock @@ -12100,7 +12342,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { { this.list = Roo.get(document.body).createChild({ tag: Roo.bootstrap.version == 4 ? 'div' : 'ul', - cls: 'typeahead typeahead-long dropdown-menu', + cls: 'typeahead typeahead-long dropdown-menu shadow', style: 'display:none' }); @@ -14658,6 +14900,7 @@ Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { * @cfg {Boolean} emptyResultText only for touch device * @cfg {String} triggerText multiple combobox trigger button text default 'Select' * @cfg {String} emptyTitle default '' + * @cfg {Number} width fixed with? experimental * @constructor * Create a new ComboBox. * @param {Object} config Configuration options @@ -14984,6 +15227,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { emptyResultText: 'Empty', triggerText : 'Select', emptyTitle : '', + width : false, // element that contains real text value.. (when hidden is used..) @@ -15207,7 +15451,9 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { if(this.labelWidth > 12){ labelCfg.style = "width: " + this.labelWidth + 'px'; } - + if(this.width * 1 > 0){ + contentCfg.style = "width: " + this.width + 'px'; + } if(this.labelWidth < 13 && this.labelmd == 0){ this.labelmd = this.labelWidth; } @@ -15722,7 +15968,10 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { }, // private - onResize: function(w, h){ + onResize: function(w, h) + { + + // Roo.bootstrap.ComboBox.superclass.onResize.apply(this, arguments); // // if(typeof w != 'number'){ @@ -16841,7 +17090,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { } var inputblock = { - cls : '', + cls : 'roo-combobox-wrap', cn : [ input ] @@ -16978,7 +17227,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { }, { - cls : '', + cls : 'roo-combobox-wrap ', cn: [ combobox ] @@ -17008,7 +17257,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { ] }, { - cls : "", + cls : "roo-combobox-wrap ", cn: [ combobox ] @@ -17025,7 +17274,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { if(this.labelWidth > 12){ labelCfg.style = "width: " + this.labelWidth + 'px'; } - + if(this.labelWidth < 13 && this.labelmd == 0){ this.labelmd = this.labelWidth; } @@ -17226,9 +17475,9 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { if(this.animate){ var _this = this; - (function(){ _this.touchViewEl.addClass('in'); }).defer(50); + (function(){ _this.touchViewEl.addClass(['in','show']); }).defer(50); }else{ - this.touchViewEl.addClass('in'); + this.touchViewEl.addClass(['in','show']); } if(this._touchViewMask){ @@ -17244,7 +17493,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, { hideTouchView : function() { - this.touchViewEl.removeClass('in'); + this.touchViewEl.removeClass(['in','show']); if(this.animate){ var _this = this; @@ -20172,6 +20421,7 @@ Roo.apply(Roo.bootstrap.TabGroup, { * @cfg {String} tabId unique tab ID (will be autogenerated if not set. - used to match TabItem to Panel) * @cfg {String} navId The Roo.bootstrap.NavGroup which triggers show hide () * @cfg {String} href click to link.. + * @cfg {Boolean} touchSlide if swiping slides tab to next panel (default off) * * * @constructor @@ -20211,7 +20461,7 @@ Roo.extend(Roo.bootstrap.TabPanel, Roo.bootstrap.Component, { tabId: false, navId : false, href : '', - + touchSlide : false, getAutoCreate : function(){ @@ -20256,7 +20506,7 @@ Roo.extend(Roo.bootstrap.TabPanel, Roo.bootstrap.Component, { this.el.on('click', this.onClick, this); - if(Roo.isTouch){ + if(Roo.isTouch && this.touchSlide){ this.el.on("touchstart", this.onTouchStart, this); this.el.on("touchmove", this.onTouchMove, this); this.el.on("touchend", this.onTouchEnd, this); @@ -21428,7 +21678,7 @@ Roo.apply(Roo.bootstrap.DateField, { template : { tag: 'div', - cls: 'datepicker dropdown-menu roo-dynamic', + cls: 'datepicker dropdown-menu roo-dynamic shadow', cn: [ { tag: 'div', @@ -23382,7 +23632,6 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, { // private validateValue: function (value) { - if (!Roo.bootstrap.SecurePass.superclass.validateValue.call(this, value)) { return false; } @@ -23401,7 +23650,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, { return true; } - if ('[\x21-\x7e]*'.match(value)) { + if (!value.match(/[\x21-\x7e]+/)) { this.markInvalid(this.errors.PwdBadChar); this.errorMsg = this.errors.PwdBadChar; return false; @@ -23706,10 +23955,11 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { st = ''; - } else { - st = ''; + } else { + for (var i in this.stylesheets) { + st += ''; + } + } st += '';}else{st='';}st+=''; -var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' ';},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el; -this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')}this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"} -,this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on';this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on"; -}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this);}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px'; -}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px';}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']); -}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,'');}}if(A==' '){A='';}return A; -},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; +});}else if(!this.stylesheets.length){st='';}else{for(var i in this.stylesheets){st+='';} +}st+='';var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' '; +},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el;this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')} +this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"},this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on'; +this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on";}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this); +}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px';}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px'; +}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']);}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,''); +}}if(A==' '){A='';}return A;},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; }}A=this.cleanHtml(A);A=A.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u0080-\uFFFF]/g,function(B){var cc=B.charCodeAt();if(B.length==2){var C=B.charCodeAt(0)-0xD800;var D=B.charCodeAt(1)-0xDC00;cc=(C*0x400)+D+0x10000;}else if((cc>=0x4E00&&cc<0xA000)||(cc>=0x3400&&cc<0x4E00)||(cc>=0xf900&&cc<0xfb00)){return B; }return "&#"+cc+";";});if(this.owner.fireEvent('beforesync',this,A)!==false){this.el.dom.value=A;this.owner.fireEvent('sync',this,A);}}},pushValue:function(){if(this.initialized){var v=this.el.dom.value.trim();if(this.owner.fireEvent('beforepush',this,v)!==false){var d=(this.doc.body||this.doc.documentElement); d.innerHTML=v;this.cleanUpPaste();this.el.dom.value=d.innerHTML;this.owner.fireEvent('push',this,v);}}},deferFocus:function(){this.focus.defer(10,this);},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus();}else{this.el.focus();}},assignDocWin:function(){var A=this.iframe; @@ -1035,7 +1049,7 @@ var D=ss==1;var E=ee==-1;if(D&&E){return 0;}if(!D&&E){return 1;}if(D&&!E){return i>-1;i--){this.cleanUpChild(n.childNodes[i]);}},cleanUpChild:function(A){var ed=this;if(A.nodeName=="#text"){return;}if(A.nodeName=="#comment"){A.parentNode.removeChild(A);return;}var B=A.tagName.toLowerCase();if(this.black.indexOf(B)>-1&&this.clearUp){A.parentNode.removeChild(A); return;}var C=Roo.HtmlEditorCore.remove.indexOf(A.tagName.toLowerCase())>-1;if((!A.attributes||!A.attributes.length)&&B=='span'){C=true;}if(C){this.cleanUpChildren(A);while(A.childNodes.length){var cn=A.childNodes[0];A.removeChild(cn);A.parentNode.insertBefore(cn,A); }A.parentNode.removeChild(A);return;}if(!A.attributes||!A.attributes.length){this.cleanUpChildren(A);return;}function cleanAttr(n,v){if(v.match(/^\./)||v.match(/^\//)){return;}if(v.match(/^(http|https):\/\//)||v.match(/^mailto:/)||v.match(/^ftp:/)){return; -}if(v.match(/^#/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); +}if(v.match(/^#/)){return;}if(v.match(/^\{/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); if(!p.length){return true;}var l=p.split(':').shift().replace(/\s+/g,'');l=l.replace(/^\s+/g,'').replace(/\s+$/g,'');if(D.length&&E.indexOf(l)>-1){return true;}if(D.length&&D.indexOf(l)<0){return true;}G.push(p);return true;});if(G.length){A.setAttribute(n,G.join(';')); }else{A.removeAttribute(n);}}for(var i=A.attributes.length-1;i>-1;i--){var a=A.attributes[i];if(a.name.toLowerCase().substr(0,2)=='on'){A.removeAttribute(a.name);continue;}if(Roo.HtmlEditorCore.ablack.indexOf(a.name.toLowerCase())>-1){A.removeAttribute(a.name); continue;}if(Roo.HtmlEditorCore.aclean.indexOf(a.name.toLowerCase())>-1){cleanAttr(a.name,a.value);continue;}if(a.name=='style'){cleanStyle(a.name,a.value);continue;}if(a.name=='class'){if(a.value.match(/^Mso/)){A.removeAttribute('class');}if(a.value.match(/^body$/)){A.removeAttribute('class'); @@ -1087,6 +1101,14 @@ i++){E.push(this.editor.btns[i]);}}this.xtype='NavSimplebar';for(var i=0;i{0}',this.placeholder||'');}else{this.markdownEl.dom.innerHTML=Roo.Markdown.toHtml(Roo.util.Format.htmlEncode(this.getValue())); +}this.markdownEl.on('click',this.toggleTextEdit,this);this.on('blur',this.toggleTextEdit,this);this.on('specialkey',this.resizeTextArea,this);},toggleTextEdit:function(){var sh=this.markdownEl.getHeight();this.inputEl().addClass('d-none');this.markdownEl.addClass('d-none'); +if(!this.editing){this.inputEl().setHeight(Math.min(500,Math.max(sh,(this.getValue().split("\n").length+1)*30)));this.inputEl().removeClass('d-none');this.inputEl().focus();this.editing=true;return;}this.updateMarkdown();this.markdownEl.removeClass('d-none'); +this.editing=false;return;},updateMarkdown:function(){if(this.getValue()==''){this.markdownEl.dom.innerHTML=String.format('{0}',this.placeholder||'');return;}this.markdownEl.dom.innerHTML=Roo.Markdown.toHtml(Roo.util.Format.htmlEncode(this.getValue())); +},resizeTextArea:function(){var sh=100;Roo.log([sh,this.getValue().split("\n").length*30]);this.inputEl().setHeight(Math.min(500,Math.max(sh,(this.getValue().split("\n").length+1)*30)));},setValue:function(A){Roo.bootstrap.TextArea.prototype.setValue.call(this,A); +if(!this.editing){this.updateMarkdown();}},focus:function(){if(!this.editing){this.toggleTextEdit();}}}); // Roo/bootstrap/Table/AbstractSelectionModel.js Roo.bootstrap.Table.AbstractSelectionModel=function(){this.locked=false;Roo.bootstrap.Table.AbstractSelectionModel.superclass.constructor.call(this);};Roo.extend(Roo.bootstrap.Table.AbstractSelectionModel,Roo.util.Observable,{init:function(A){this.grid=A;this.initEvents(); },lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},initEvents:function(){}}); @@ -1183,13 +1205,15 @@ Roo.get(document).on('mouseout',this.leave,this);this.currentTip=new Roo.bootstr }}if(this.currentTip.el){this.currentTip.el.setVisibilityMode(Roo.Element.DISPLAY).hide();}if(!el||el.dom==document){return;}var B=el;if(!el.attr('tooltip')){if(!el.select("[tooltip]").elements.length){return;}B=el.select("[tooltip]").first();var xy=ev.getXY(); if(!B.getRegion().contains({top:xy[1],right:xy[0],bottom:xy[1],left:xy[0]})){return;}}this.currentEl=B;this.currentTip.bind(B);this.currentRegion=Roo.lib.Region.getRegion(A);this.currentTip.enter();},leave:function(ev){var A=ev.getTarget();if(!this.currentEl){return; }if(A!=this.currentEl.dom){return;}var xy=ev.getXY();if(this.currentRegion.contains(new Roo.lib.Region(xy[1],xy[0],xy[1],xy[0]))){return;}if(this.currentTip){this.currentTip.leave();}this.currentEl=false;},alignment:{'left':['r-l',[-2,0],'right'],'right':['l-r',[2,0],'left'],'bottom':['t-b',[0,2],'top'],'top':['b-t',[0,-2],'bottom']} -});Roo.extend(Roo.bootstrap.Tooltip,Roo.bootstrap.Component,{bindEl:false,delay:null,timeout:null,hoverState:null,placement:'bottom',alignment:false,getAutoCreate:function(){var A={cls:'tooltip',role:'tooltip',cn:[{cls:'tooltip-arrow'},{cls:'tooltip-inner'} -]};return A;},bind:function(el){this.bindEl=el;},enter:function(){if(this.timeout!=null){clearTimeout(this.timeout);}this.hoverState='in';if(!this.delay||!this.delay.show){this.show();return;}var _t=this;this.timeout=setTimeout(function(){if(_t.hoverState=='in'){_t.show(); -}},this.delay.show);},leave:function(){clearTimeout(this.timeout);this.hoverState='out';if(!this.delay||!this.delay.hide){this.hide();return;}var _t=this;this.timeout=setTimeout(function(){if(_t.hoverState=='out'){_t.hide();Roo.bootstrap.Tooltip.currentEl=false; -}},delay);},show:function(A){if(!this.el){this.render(document.body);}var B=A||this.bindEl.attr('tooltip')||this.bindEl.select("[tooltip]").first().attr('tooltip');this.el.select('.tooltip-inner',true).first().dom.innerHTML=B;this.el.removeClass(['fade','top','bottom','left','right','in']); -var C=typeof this.placement=='function'?this.placement.call(this,this.el,on_el):this.placement;var D=/\s?auto?\s?/i;var E=D.test(C);if(E){C=C.replace(D,'')||'top';}this.el.show();var p=this.getPosition();var F=this.el.getBox();if(E){}var G=this.alignment[C]; -var xy=this.el.getAlignToXY(this.bindEl,G[0],G[1]);if(C=='top'||C=='bottom'){if(xy[0]<0){C='right';}if(xy[0]+this.el.getWidth()>Roo.lib.Dom.getViewWidth()){C='left';}var H=Roo.select('body',true).first().getScroll();if(xy[1]>Roo.lib.Dom.getViewHeight()+H.top-this.el.getHeight()){C='top'; -}G=this.alignment[C];}this.el.alignTo(this.bindEl,G[0],G[1]);this.el.addClass(C);this.el.addClass('in fade');this.hoverState=null;if(this.el.hasClass('fade')){}},hide:function(){if(!this.el){return;}this.el.removeClass('in');}}); +});Roo.extend(Roo.bootstrap.Tooltip,Roo.bootstrap.Component,{bindEl:false,delay:null,timeout:null,hoverState:null,placement:'bottom',alignment:false,getAutoCreate:function(){var A={cls:'tooltip',role:'tooltip',cn:[{cls:'tooltip-arrow arrow'},{cls:'tooltip-inner'} +]};return A;},bind:function(el){this.bindEl=el;},initEvents:function(){this.arrowEl=this.el.select('.arrow',true).first();this.innerEl=this.el.select('.tooltip-inner',true).first();},enter:function(){if(this.timeout!=null){clearTimeout(this.timeout);}this.hoverState='in'; +if(!this.delay||!this.delay.show){this.show();return;}var _t=this;this.timeout=setTimeout(function(){if(_t.hoverState=='in'){_t.show();}},this.delay.show);},leave:function(){clearTimeout(this.timeout);this.hoverState='out';if(!this.delay||!this.delay.hide){this.hide(); +return;}var _t=this;this.timeout=setTimeout(function(){if(_t.hoverState=='out'){_t.hide();Roo.bootstrap.Tooltip.currentEl=false;}},delay);},show:function(A){if(!this.el){this.render(document.body);}var B=A||this.bindEl.attr('tooltip')||this.bindEl.select("[tooltip]").first().attr('tooltip'); +this.el.select('.tooltip-inner',true).first().dom.innerHTML=B;this.el.removeClass(['fade','top','bottom','left','right','in','bs-tooltip-top','bs-tooltip-bottom','bs-tooltip-left','bs-tooltip-right']);var C=typeof this.placement=='function'?this.placement.call(this,this.el,on_el):this.placement; +var D=/\s?auto?\s?/i;var E=D.test(C);if(E){C=C.replace(D,'')||'top';}this.el.show();var p=this.getPosition();var F=this.el.getBox();if(E){}var G=this.alignment[C];var xy=this.el.getAlignToXY(this.bindEl,G[0],G[1]);if(C=='top'||C=='bottom'){if(xy[0]<0){C='right'; +}if(xy[0]+this.el.getWidth()>Roo.lib.Dom.getViewWidth()){C='left';}var H=Roo.select('body',true).first().getScroll();if(xy[1]>Roo.lib.Dom.getViewHeight()+H.top-this.el.getHeight()){C='top';}G=this.alignment[C];this.arrowEl.setLeft((this.innerEl.getWidth()/2)-5); +}this.el.alignTo(this.bindEl,G[0],G[1]);this.el.addClass(C);this.el.addClass("bs-tooltip-"+C);this.el.addClass('in fade show');this.hoverState=null;if(this.el.hasClass('fade')){}},hide:function(){if(!this.el){return;}this.el.removeClass(['show','in']);}}); + // Roo/bootstrap/LocationPicker.js Roo.bootstrap.LocationPicker=function(A){Roo.bootstrap.LocationPicker.superclass.constructor.call(this,A);this.addEvents({initial:true,positionchanged:true,resize:true,show:true,hide:true,mapClick:true,mapRightClick:true,markerClick:true,markerRightClick:true,OverlayViewDraw:true,OverlayViewOnAdd:true,OverlayViewOnRemove:true,OverlayViewShow:true,OverlayViewHide:true,loadexception:true} );};Roo.extend(Roo.bootstrap.LocationPicker,Roo.bootstrap.Component,{gMapContext:false,latitude:0,longitude:0,zoom:15,mapTypeId:false,mapTypeControl:false,disableDoubleClickZoom:false,scrollwheel:true,streetViewControl:false,radius:0,locationName:'',draggable:true,enableAutocomplete:false,enableReverseGeocode:true,markerTitle:'',getAutoCreate:function(){var A={tag:'div',cls:'roo-location-picker'} @@ -1669,19 +1693,19 @@ this.split.el.setLeft(A.x+A.width);this.split.el.setTop(A.y);this.split.el.setHe Roo.namespace("Roo.bootstrap.panel"); // Roo/bootstrap/panel/Content.js Roo.bootstrap.panel.Content=function(A){this.tpl=A.tpl||false;var el=A.el;var B=A.content;if(A.autoCreate){el=Roo.id();}this.el=Roo.get(el);if(!this.el&&A&&A.autoCreate){if(typeof A.autoCreate=="object"){if(!A.autoCreate.id){A.autoCreate.id=A.id||el;}this.el=Roo.DomHelper.append(document.body,A.autoCreate,true); -}else{var C={tag:"div",cls:"roo-layout-inactive-content",id:A.id||el};if(A.html){C.html=A.html;}this.el=Roo.DomHelper.append(document.body,C,true);}}this.closable=false;this.loaded=false;this.active=false;if(A.toolbar&&!A.toolbar.el&&A.toolbar.xtype){this.toolbar=new A.toolbar.xns[A.toolbar.xtype](A.toolbar); -this.wrapEl=this.el;var ti=[];if(A.toolbar.items){ti=A.toolbar.items;delete A.toolbar.items;}var D=[];this.toolbar.render(this.wrapEl,'before');for(var i=0;i=0){var s=k.split('-');for(var i=0;i"+this.title[k]+"";}}else{t+=""+this.title[k]+"";}}return t;},setTitle:function(A){this.title=A;if(this.region){this.region.updatePanelTitle(this,A); }},isClosable:function(){return this.closable;},beforeSlide:function(){this.el.clip();this.resizeEl.clip();},afterSlide:function(){this.el.unclip();this.resizeEl.unclip();},refresh:function(){if(this.refreshDelegate){this.loaded=false;this.refreshDelegate(); }},destroy:function(){this.el.removeAllListeners();var A=document.createElement("span");A.appendChild(this.el.dom);A.innerHTML="";this.el.remove();this.el=null;},form:false,view:false,getChildContainer:function(){return this.getEl();}}); @@ -1691,7 +1715,8 @@ Roo.bootstrap.panel.Grid=function(A){this.wrapper=Roo.DomHelper.append(document. ,ti[i])));}this.toolbar.items=C;delete A.toolbar;}Roo.bootstrap.panel.Grid.superclass.constructor.call(this,A);A.grid.scrollBody=true;;A.grid.monitorWindowResize=false;A.grid.autoHeight=false;A.grid.autoWidth=false;this.grid=new A.grid.xns[A.grid.xtype](A.grid); if(A.background){this.on('activate',function(gp){if(!gp.grid.rendered){gp.grid.render(this.wrapper);gp.grid.getGridEl().replaceClass("roo-layout-inactive-content","roo-layout-component-panel");}});}else{this.grid.render(this.wrapper);this.grid.getGridEl().replaceClass("roo-layout-inactive-content","roo-layout-component-panel"); }if(this.footer&&!this.footer.el&&this.footer.xtype){var D=this.grid.getView().getFooterPanel(true);this.footer.dataSource=this.grid.dataSource;this.footer=Roo.factory(this.footer,Roo);this.footer.render(D);}};Roo.extend(Roo.bootstrap.panel.Grid,Roo.bootstrap.panel.Content,{getId:function(){return this.grid.id; -},getGrid:function(){return this.grid;},setSize:function(A,B){if(!this.ignoreResize(A,B)){var C=this.grid;var D=this.adjustForComponents(A,B);var E=C.getGridEl();E.setSize(D.width,D.height);C.autoSize();}},beforeSlide:function(){this.grid.getView().scroller.clip(); +},getGrid:function(){return this.grid;},setSize:function(A,B){if(!this.ignoreResize(A,B)){var C=this.grid;var D=this.adjustForComponents(A,B);var E=C.getGridEl();E.setSize(D.width,D.height);var F=C.getGridEl().select('tbody',true).first();var G=C.getGridEl().select('thead',true).first(); +var H=C.getGridEl().select('tfoot',true).first();if(H){D.height-=G.getHeight();}if(G){D.height-=G.getHeight();}F.setSize(D.width,D.height);var G=C.getGridEl().select('thead',true).first();C.autoSize();}},beforeSlide:function(){this.grid.getView().scroller.clip(); },afterSlide:function(){this.grid.getView().scroller.unclip();},destroy:function(){this.grid.destroy();delete this.grid;Roo.bootstrap.panel.Grid.superclass.destroy.call(this);}}); // Roo/bootstrap/panel/Nest.js Roo.bootstrap.panel.Nest=function(A){A.el=A.layout.getEl();Roo.bootstrap.panel.Nest.superclass.constructor.call(this,A);A.layout.monitorWindowResize=false;this.layout=A.layout;this.layout.getEl().addClass("roo-layout-nested-layout");this.layout.parent=this; diff --git a/roojs-core-debug.js b/roojs-core-debug.js index 189e93d749..b28a01e891 100644 --- a/roojs-core-debug.js +++ b/roojs-core-debug.js @@ -7127,12 +7127,14 @@ if(opt.anim.isAnimated()){ El.prototype = { /** - * The element's default display mode (defaults to "") + * The element's default display mode (defaults to "") * @type String */ originalDisplay : "", - visibilityMode : 1, + + // note this is overridden in BS version.. + visibilityMode : 1, /** * The default unit to append to CSS values where a unit isn't provided (defaults to px). * @type String @@ -11616,7 +11618,7 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { var enctype = form.getAttribute("enctype"); if (o.formData) { - return this.doFormDataUpload(o,p,url); + return this.doFormDataUpload(o, url); } if(o.isUpload || (enctype && enctype.toLowerCase() == 'multipart/form-data')){ @@ -11625,6 +11627,16 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { var f = Roo.lib.Ajax.serializeForm(form); p = p ? (p + '&' + f) : f; } + + if (!o.form && o.formData) { + o.formData = o.formData === true ? new FormData() : o.formData; + for (var k in o.params) { + o.formData.append(k,o.params[k]); + } + + return this.doFormDataUpload(o, url); + } + var hs = o.headers; if(this.defaultHeaders){ @@ -11802,11 +11814,17 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { // this is a 'formdata version???' - doFormDataUpload : function(o, ps, url) + doFormDataUpload : function(o, url) { - var form = Roo.getDom(o.form); - form.enctype = form.encoding = 'multipart/form-data'; - var formData = o.formData === true ? new FormData(form) : o.formData; + var formData; + if (o.form) { + var form = Roo.getDom(o.form); + form.enctype = form.encoding = 'multipart/form-data'; + formData = o.formData === true ? new FormData(form) : o.formData; + } else { + formData = o.formData === true ? new FormData() : o.formData; + } + var cb = { success: this.handleResponse, @@ -11826,7 +11844,7 @@ Roo.extend(Roo.data.Connection, Roo.util.Observable, { //Roo.lib.Ajax.defaultPostHeader = null; Roo.lib.Ajax.useDefaultHeader = false; - this.transId = Roo.lib.Ajax.request( "POST", url, cb, o.formData, o); + this.transId = Roo.lib.Ajax.request( "POST", url, cb, formData, o); Roo.lib.Ajax.useDefaultHeader = true; diff --git a/roojs-core.js b/roojs-core.js index 09f0677bc5..038775b302 100644 --- a/roojs-core.js +++ b/roojs-core.js @@ -474,20 +474,20 @@ if(C!==-1){A=Roo.getDom(A);if(B){var d=this.elements[C];d.parentNode.insertBefor // Roo/data/Connection.js Roo.data.Connection=function(A){Roo.apply(this,A);this.addEvents({"beforerequest":true,"requestcomplete":true,"requestexception":true});Roo.data.Connection.superclass.constructor.call(this);};Roo.extend(Roo.data.Connection,Roo.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,request:function(o){if(this.fireEvent("beforerequest",this,o)!==false){var p=o.params; if(typeof p=="function"){p=p.call(o.scope||window,o);}if(typeof p=="object"){p=Roo.urlEncode(o.params);}if(this.extraParams){var A=Roo.urlEncode(this.extraParams);p=p?(p+'&'+A):A;}var B=o.url||this.url;if(typeof B=='function'){B=B.call(o.scope||window,o); -}if(o.form){var C=Roo.getDom(o.form);B=B||C.action;var D=C.getAttribute("enctype");if(o.formData){return this.doFormDataUpload(o,p,B);}if(o.isUpload||(D&&D.toLowerCase()=='multipart/form-data')){return this.doFormUpload(o,p,B);}var f=Roo.lib.Ajax.serializeForm(C); -p=p?(p+'&'+f):f;}var hs=o.headers;if(this.defaultHeaders){hs=Roo.apply(hs||{},this.defaultHeaders);if(!o.headers){o.headers=hs;}}var cb={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:o},timeout:o.timeout||this.timeout} -;var E=o.method||this.method||(p?"POST":"GET");if(E=='GET'&&(this.disableCaching&&o.disableCaching!==false)||o.disableCaching===true){B+=(B.indexOf('?')!=-1?'&':'?')+'_dc='+(new Date().getTime());}if(typeof o.autoAbort=='boolean'){if(o.autoAbort){this.abort(); -}}else if(this.autoAbort!==false){this.abort();}if((E=='GET'&&p)||o.xmlData){B+=(B.indexOf('?')!=-1?'&':'?')+p;p='';}Roo.lib.Ajax.useDefaultHeader=typeof(o.headers)=='undefined'||typeof(o.headers['Content-Type'])=='undefined';this.transId=Roo.lib.Ajax.request(E,B,cb,p,o); -Roo.lib.Ajax.useDefaultHeader==true;return this.transId;}else{Roo.callback(o.callback,o.scope,[o,null,null]);return null;}},isLoading:function(A){if(A){return Roo.lib.Ajax.isCallInProgress(A);}else{return this.transId?true:false;}},abort:function(A){if(A||this.isLoading()){Roo.lib.Ajax.abort(A||this.transId); -}},handleResponse:function(A){this.transId=false;var B=A.argument.options;A.argument=B?B.argument:null;this.fireEvent("requestcomplete",this,A,B);Roo.callback(B.success,B.scope,[A,B]);Roo.callback(B.callback,B.scope,[B,true,A]);},handleFailure:function(A,e){this.transId=false; -var B=A.argument.options;A.argument=B?B.argument:null;this.fireEvent("requestexception",this,A,B,e);Roo.callback(B.failure,B.scope,[A,B]);Roo.callback(B.callback,B.scope,[B,false,A]);},doFormUpload:function(o,ps,A){var id=Roo.id();var B=document.createElement('iframe'); -B.id=id;B.name=id;B.className='x-hidden';if(Roo.isIE){B.src=Roo.SSL_SECURE_URL;}document.body.appendChild(B);if(Roo.isIE){document.frames[id].name=id;}var C=Roo.getDom(o.form);C.target=id;C.method='POST';C.enctype=C.encoding='multipart/form-data';if(A){C.action=A; -}var D,hd;if(ps){D=[];ps=Roo.urlDecode(ps,false);for(var k in ps){if(ps.hasOwnProperty(k)){hd=document.createElement('input');hd.type='hidden';hd.name=k;hd.value=ps[k];C.appendChild(hd);D.push(hd);}}}function cb(){var r={responseText:'',responseXML:null}; -r.argument=o?o.argument:null;try{var F;if(Roo.isIE){F=B.contentWindow.document;}else{F=(B.contentDocument||window.frames[id].document);}if(F&&F.body){r.responseText=F.body.innerHTML;}if(F&&F.XMLDocument){r.responseXML=F.XMLDocument;}else{r.responseXML=F;} -}catch(e){}Roo.EventManager.removeListener(B,'load',cb,this);this.fireEvent("requestcomplete",this,r,o);Roo.callback(o.success,o.scope,[r,o]);Roo.callback(o.callback,o.scope,[o,true,r]);setTimeout(function(){document.body.removeChild(B);},100);}Roo.EventManager.on(B,'load',cb,this); -C.submit();if(D){for(var i=0,E=D.length;i'; - } else { - st = ''; + } else { + for (var i in this.stylesheets) { + st += ''; + } + } st += ''; - } else { - st = ''; + } else { + for (var i in this.stylesheets) { + st += ''; + } + } st += '';}else{st='';}st+=''; -var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' ';},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el; -this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')}this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"} -,this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on';this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on"; -}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this);}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px'; -}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px';}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']); -}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,'');}}if(A==' '){A='';}return A; -},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; +});}else if(!this.stylesheets.length){st='';}else{for(var i in this.stylesheets){st+='';} +}st+='';var A='roo-htmleditor-body';if(this.bodyCls.length){A+=' '+this.bodyCls;}return ''+st+' '; +},onRender:function(ct,A){var _t=this;this.el=this.owner.inputEl?this.owner.inputEl():this.owner.el;this.el.dom.style.border='0 none';this.el.dom.setAttribute('tabIndex',-1);this.el.addClass('x-hidden hide');if(Roo.isIE){this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')} +this.frameId=Roo.id();var B=this.owner.wrap.createChild({tag:'iframe',cls:'form-control',id:this.frameId,name:this.frameId,frameBorder:'no','src':Roo.SSL_SECURE_URL?Roo.SSL_SECURE_URL:"javascript:false"},this.el);this.iframe=B.dom;this.assignDocWin();this.doc.designMode='on'; +this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var C={run:function(){this.assignDocWin();if(this.doc.body||this.doc.readyState=='complete'){try{this.doc.designMode="on";}catch(e){return;}Roo.TaskMgr.stop(C);this.initEditor.defer(10,this); +}},interval:10,duration:10000,scope:this};Roo.TaskMgr.start(C);},onResize:function(w,h){Roo.log('resize: '+w+','+h);if(!this.iframe){return;}if(typeof w=='number'){this.iframe.style.width=w+'px';}if(typeof h=='number'){this.iframe.style.height=h+'px';if(this.doc){(this.doc.body||this.doc.documentElement).style.height=(h-(this.iframePad*2))+'px'; +}}},toggleSourceEdit:function(A){this.sourceEditMode=A===true;if(this.sourceEditMode){Roo.get(this.iframe).addClass(['x-hidden','hide']);}else{Roo.get(this.iframe).removeClass(['x-hidden','hide']);this.deferFocus();}},cleanHtml:function(A){A=String(A);if(A.length>5){if(Roo.isSafari){A=A.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,''); +}}if(A==' '){A='';}return A;},syncValue:function(){if(this.initialized){var bd=(this.doc.body||this.doc.documentElement);var A=bd.innerHTML;if(Roo.isSafari){var bs=bd.getAttribute('style');var m=bs?bs.match(/text-align:(.*?);/i):false;if(m&&m[1]){A='
'+A+'
'; }}A=this.cleanHtml(A);A=A.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u0080-\uFFFF]/g,function(B){var cc=B.charCodeAt();if(B.length==2){var C=B.charCodeAt(0)-0xD800;var D=B.charCodeAt(1)-0xDC00;cc=(C*0x400)+D+0x10000;}else if((cc>=0x4E00&&cc<0xA000)||(cc>=0x3400&&cc<0x4E00)||(cc>=0xf900&&cc<0xfb00)){return B; }return "&#"+cc+";";});if(this.owner.fireEvent('beforesync',this,A)!==false){this.el.dom.value=A;this.owner.fireEvent('sync',this,A);}}},pushValue:function(){if(this.initialized){var v=this.el.dom.value.trim();if(this.owner.fireEvent('beforepush',this,v)!==false){var d=(this.doc.body||this.doc.documentElement); d.innerHTML=v;this.cleanUpPaste();this.el.dom.value=d.innerHTML;this.owner.fireEvent('push',this,v);}}},deferFocus:function(){this.focus.defer(10,this);},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus();}else{this.el.focus();}},assignDocWin:function(){var A=this.iframe; @@ -943,7 +943,7 @@ var D=ss==1;var E=ee==-1;if(D&&E){return 0;}if(!D&&E){return 1;}if(D&&!E){return i>-1;i--){this.cleanUpChild(n.childNodes[i]);}},cleanUpChild:function(A){var ed=this;if(A.nodeName=="#text"){return;}if(A.nodeName=="#comment"){A.parentNode.removeChild(A);return;}var B=A.tagName.toLowerCase();if(this.black.indexOf(B)>-1&&this.clearUp){A.parentNode.removeChild(A); return;}var C=Roo.HtmlEditorCore.remove.indexOf(A.tagName.toLowerCase())>-1;if((!A.attributes||!A.attributes.length)&&B=='span'){C=true;}if(C){this.cleanUpChildren(A);while(A.childNodes.length){var cn=A.childNodes[0];A.removeChild(cn);A.parentNode.insertBefore(cn,A); }A.parentNode.removeChild(A);return;}if(!A.attributes||!A.attributes.length){this.cleanUpChildren(A);return;}function cleanAttr(n,v){if(v.match(/^\./)||v.match(/^\//)){return;}if(v.match(/^(http|https):\/\//)||v.match(/^mailto:/)||v.match(/^ftp:/)){return; -}if(v.match(/^#/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); +}if(v.match(/^#/)){return;}if(v.match(/^\{/)){return;}A.removeAttribute(n);}var D=this.cwhite;var E=this.cblack;function cleanStyle(n,v){if(v.match(/expression/)){A.removeAttribute(n);return;}var F=v.split(/;/);var G=[];Roo.each(F,function(p){p=p.replace(/^\s+/g,'').replace(/\s+$/g,''); if(!p.length){return true;}var l=p.split(':').shift().replace(/\s+/g,'');l=l.replace(/^\s+/g,'').replace(/\s+$/g,'');if(D.length&&E.indexOf(l)>-1){return true;}if(D.length&&D.indexOf(l)<0){return true;}G.push(p);return true;});if(G.length){A.setAttribute(n,G.join(';')); }else{A.removeAttribute(n);}}for(var i=A.attributes.length-1;i>-1;i--){var a=A.attributes[i];if(a.name.toLowerCase().substr(0,2)=='on'){A.removeAttribute(a.name);continue;}if(Roo.HtmlEditorCore.ablack.indexOf(a.name.toLowerCase())>-1){A.removeAttribute(a.name); continue;}if(Roo.HtmlEditorCore.aclean.indexOf(a.name.toLowerCase())>-1){cleanAttr(a.name,a.value);continue;}if(a.name=='style'){cleanStyle(a.name,a.value);continue;}if(a.name=='class'){if(a.value.match(/^Mso/)){A.removeAttribute('class');}if(a.value.match(/^body$/)){A.removeAttribute('class'); diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp077tbA.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp077tbA.scssc new file mode 100644 index 0000000000000000000000000000000000000000..6f5f01385c44ebb2c546341035370520f5c7043d GIT binary patch literal 17162 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 literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp1Blnbm.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp1Blnbm.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1e35daf64aae7d5dfd3caa94ac1ec56b1d3fe0cf GIT binary patch literal 2770 zcmb`J-*4hZ5XaN1a)JYxKz@)Wy|Z{~PYs5jj+>KoK_PhCPG}pg4qW0wkb8g!Yj1b%Yol@}&^+?@rIzGb;)m(`x1MIn!u|& zbUx=qz+=N9k(c}hwUd{q<4+*6%xK)}S|W_)Z+IU>ZrJBD&NWnffRz128p5b;rlC@; z2m|%s!JqjDE=YI;Cdm%;LTrrXi2J-#QMijpWv%`T#YYV~`89hyyIh05;$d85Ff@=!B-4AA;shbXu~Wp)@KTOVK$Vqq;;i~l`7d<1k}aBZfvuHZ7Nu4ZNqj}!Vln7 z6TX{lRLF)xmR8!aY^E(z?zxC~=J$X5Jp^S%rG0 zP^FbCTcWmROSlO3V9zVqa|J7{Z4GAxbm2$4CAg?iFBGb@wk2!8^-0-oYPUk|DpYB0 zqqgR7m5@Ey%L?{V!Ah$v!Df)7=i}bz|9xgzpYY2--%NP3r`{nwr0YeXe8d;apE#dY z&J(9<5v4Q|ft2T38fj&>I+8Y_KN=(jMx6p>Qhtid&hjZN`-@Ygc#Bg|b{Ab-_7+`O i_LjN`+{r})A5fLn(V$t1ahF=z{oR&d6w~bE^WlF{#N^HZ literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp4tfGes.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmp4tfGes.scssc new file mode 100644 index 0000000000000000000000000000000000000000..e5e850a7b248826d33d15ba9f4203bda17ff5b94 GIT binary patch literal 2688 zcmb`J-*4MC5XaMDaAL*366c4rWUZj5Eki8-+Kh@AptV~EKWr4jTLZ!z8 z$b2RZ9FmSxb!jYo8u1SYur%-^;+LFLm(wMik}<>4oKUBgZ0>&T1P!FO?9^Q@FcagL za_U^`OWsoMOY9-40k7iH*^Cnbk5!jM-ue}ED*rr0P2YmZGNX~zvPBrn-$2ZMCw#q^ z5-LAH%E?9vqmG$`N`xc~O7jL@=I^;6;Sr!1Xf?8awih%cHV$xP&wUa2D`LYx|MIRa z6|&d4Pf}U$_~Z`DLfrM%@#-!kI2eBkRLkX{^jOM0eur7)M|05Y=$?oYB)hK=o7WmKoAQAQ^;QL_wcme84EU7>TgjxO9r zR-&Yj6ZK>#SDnjLTyLB<#>g_;Z99`Ef67XtBm&g|>Ei$k(t)ImLQ)1KRm+l+)(>e? zPE!xv$#r;{>+tlf{NexSN8H4bXTn*FX#}m!Wy^0>sZvO&qNyaUVVV#{-&WD{k<|#- z5w`6Xy^x!%7MN9SlhV3QnaG4~ZLsrzPH?arTPt8|8dh4{u+63L12}KWiBZavBwR0$ z>l#^F&$Wcpe!PJ?YzpuhQlAu}oB%g(NNIhOMoBekdW^;%eHZ1&{Ymnt1?;JoytMS> z6SZp*UhRQ43(%$pl~#6mloFmymO{Y1++D-70{2YgO6w-oK;hP>n0b4s=LPDyMwM2k ztU_%}7ciptU@r>T3k@r+Z4Fls=-iKXOK@4BUTRcnZA-Qew;pA?sjULFrBS7|joO&O zkSBYvR|V{qhLx5oK{|Y2jI6IdJ+tjEd7%Ss=Y?(Nai;>YQy;=})zbkQ^b literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpM8VMfj.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpM8VMfj.scssc new file mode 100644 index 0000000000000000000000000000000000000000..077f5d20e8b47fdb08946bef303b25aea09743b6 GIT binary patch literal 17190 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 literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpgCKPeu.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpgCKPeu.scssc new file mode 100644 index 0000000000000000000000000000000000000000..0454a8c230d8ca0af1f2ed8889000fd066b94cb9 GIT binary patch literal 2746 zcmb`J-*4MC5XZA&P-4Zl96LXpCTj&htsP=1X`Cz~3aCw2z!#(93)W? zWp~A}|9F4Ij+P~ns%`Y44+eB+>T`Er9*=t2z3pD>x8w?6jy>D!;a=~?>-Da0vF(lR z@lSV`Uhn0#eQn>6o0~iRyFKQd4lw7A^AHo_IDasf{Kh;|b?WYTMtv_P;o~uL&gDh- zEC@)rTDR{musfHK*xvHjl?-7~^nCnA1-4A1s|vrtnrA!{rH%lVQX-bI#Ny?-{28yNl|; ztGaA5;Us~_noB}&`3h<-|3oc1fXE`Fey43EK_q_D`(NIZd6$nl*HGmFQl?93NX#5F z4V7v|Vo?7byv#rGgamtlib0Nk=an^M0kN=;Lu*PCpDu_6|NO--EkU)GxsNjCF8JsI z3#~7%mhlWXCfFZ-4OH9Zp!874J^YB{kcLyxYi~dj4U(N*`ydx+5&1YFHf+EyG8k%9&;d&|-v!O<=uonrq9fNp z$8N)EsnKkPcB^Pl^ygX8pGCt#m%;WR9qmiuA!MZ#vH~HsJfyHrvycpZUqes(9kbiD z^8F~D*42leiL&%k3|%QpSU+YlkSP^%R}}L3LHm{dO+#+t&@Sb2LX`*05Xu-bqxkouq$BAEDP~i&eJkvnp8e<%LTc}4R>XAYf zR<5i>ZH#9y{I_6_OW0!tE39=5XZUPN!_5+$l&B{PRaoniHQ>r*@n&kfL~ScnVXdP! zCUAX_E!fi%_Ef$WUtgY f;9g!X@S#*{7Y!Pu7;&kU-P29+y&8YIym zX?I1@zkDw{T9!nrwvmTE81S8_&mF&aJnBWK-?=t>*S9zR&Gj|D@q4$UKK5Vr`mbJ+ zQP;n@9g|+4yd*y9`!CFI_NaSyhdFoMdq#-s{z<9$jRvIZ);)h3Mgb$q!!dO))J1P- z9Ft_VZr@wrXigrCfz6ytYY@*U6V{tK7c{o+URyr}ahO=ot#_D(coY$CJ^Ot@7z+dV z`!gBic_ggY5S9yuXT`GbP3zL~!W3sOvbQ_j=iEltrDM3pFZZtLi4Qa4?(;B$l#ubT z1DTJdfn(BjYaX46kS6@&4lIqrgoK8B=y5t{J{dBcObB(`>E`a1PS8MlD{jN%0y8n3 zQBK`+eaRn`hZ4Js>cFddbUfxnz~7ojl3@7?I+PE0Q7g0|vdm~;w;d7B$7?A7~^XaFZ zw-oJG(Vpy)^P)$JqC+u31!SUqSwK|nqMEl4>QzvKqGkmh&{WL|sA-@h#X3XBUIU$Y z&AdcuAE)ZcPOiD9nYh6)Ym9;YL#N{`pjMPQxk{;WxtW(oNeU_jWtc@+kS-)>mJ&1} z!FrycwE9_sZc9(2TWE4yX!7~F`8E7EOt^)Uz=Cr(qY1P*m+ik+v1%!ys-~E<@`Nb* zu7;ir>}I@-ux_{LsoZ3(#H?wXl-7B+No2vcR@g~IM>yJyt(UNM4J)m6*w$Qx5u823 zHxq_d)|(elhgAU{A@xBi$^meT=9JdAS(HqZR>0^ipzo6{$sd-mhg$N| z(vwfst|xf01==b>TN+ea`9V@jcrcm^0kdaj+Z zR<5i`6XfI%O5$pZKQG@IarG* z%2WhW9$cAfs#~8*tI(g#k^-X-0+o~>WYwu2MAcs$B+XkK1l3(Mvg$1wQS~Z~1n%Ws d17A9&?lGWWiiww6tLqrPvEb?-W}lGv{{yd^+qVD! literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpm3C34t.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpm3C34t.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f9720dc859b290b2640238a76d9822ea884d2118 GIT binary patch literal 2698 zcmb`JS#RSu5XaM^P-4Yb;v7zs?g|15v;ktdIedsHpl;d){LlkU(3dg9UqVS{VwTs z3GVi8`<;i5-|s*89rKF=>Rvoy&RzGJ5#qYPQ!0L;J}J9ZZ#)Y^pON_Gl)6{yqDLA< zBwnvO^p-eWkQZZMGw0eGM03i7^|;`IM%L3C>jysyV(ZrW1G4~+Lc*(^`#EtBc@RQM$avX< z%qP;o5ox;>kIqFvWB&IZEDeL01crO;ak^k*GGsWO66!XS%{{H0pn>$3+?vM)W@0#} zoVu6#lHVu~Bz7NFfminEWWtGnzZH+f{^}KUEFbQpMqoo^nbE**IwG3OUv&3)cQ00Z zF;M9lQcgBX7!GJnqni4Fk8K&yfMy)&Z`ad3!ZXBvnwSP}=G{K>y_ zq(aUr_fabA4IkZLS%{n4RlJ(V2o8sz0@d_5C_R*N58q)H2k{j2I(Q<&fMjQw&;Hqa zOVNHA9mpQJ%zGp+IusLBKqfkr1w`dGs(6Q>UJ2DGs+Z6aP1G!bng%*itP6DN)zFz& z&q|c^aiX5=(MI0rrn~~a+8$;v!ZQMT9+vkS+K1&b{f(V4!2{g1#DHrN^29gu@FHBhmP>=Cfj23H?t+o{b0wW(31wTW7vz@#TT zuongFg@%=uDnUAdUk~ih|NYEyKIN?rw5_+gY38xA+riA1|KG^AkqY?8iJIe;aR{U= zsxr=0w?2;6p+6WRIYyrVDk(d`s#86Isy{zLnm0cIsypvs)th&q>Qy=j+^b6lzHJI^ YV?d+iqb{-57chKP!DT;8KN_F^16+62OaK4? literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpvALq5X.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpvALq5X.scssc new file mode 100644 index 0000000000000000000000000000000000000000..975c62a03b83d85b055ae4dbfb8958d0e2fdd8d2 GIT binary patch literal 17093 zcmb_k-H#i|R?h@98GF9+IY~BOJ(I~zHW`oY@qBh?H=cZLCgfu`Gs(Ru(jD4%+wR16 zd%Js*9abP-5EA0yN(jV10QXP0fOr93K)Npoctls?1q3`Hgg^qp?^Jblb+xPQn`j?4 zo9b%+&hMN$Rdwpr=~R|CmRIwe&T4(L(O6sE+G;j8>suAOTv}gilp8gBrDRvoRoU36 zRkrfKIN_P+ckLiB%{||7O!I~3h0nZ(GiAutBw@SWc4yPkP5`O-bF+jV-;dz007 zcIUu(J-)NhFWxkszjJ)wZ8*kVAO)ds_l<_rv=2I=@y_;LyVh|6qwV-k-nePp_l%ww z8cxFv4ZC+}cuga0J4Vx`m)xFFeCPBUo?om9tYT0Pg5tb!vp8;!KiD(#)$p+In3Dm1 z(F?8d*GIsce%`aYPRX3Edi~J#dcn6x@M_2HIqtZ5vKn{?e%;yk?Ox0A%yV3|UG@+b zpr<)=wi<-CAMW?Pz%wtXuYBnRF2NqNW`H+U^_tDV3GvtID)_RWSSP9Tn03nChGb&2 zvv95$cKh_-yX_}mul-<|bQ!mDd!X!g`<@>-GvOOx|qOckIsocL8;-8o<)~ zWbXaDmE!b;f*9pf#wrvOPUpw;9vyM$!6XYQq@Q{06$McO>!Wqa9q_6N!;Y0xq zG%RH0tw|bOYpP^TS0`cFoHgrN$8**Rk6StiOOIQpqgEcR1?x<8)|#sx_smO4=M{p< z%V)rmsP8P~-?!b+Vb;l4op1VbBzEh*+YiP3c!IZlyOXmpajryO5xww=rh#cP4bab+ znv+#K4E^BSoH^mc&By-F%(pPndi1wk4L@Ly>`uRJ!+%a=VEVojz?W@uu$_h6)n>EF zOfch4rF5QxmNT)=)H*42wx+7H@W$4G?Khmp9(=Ub@oILbq*_sjcuYaOAP_z4(u{R^ zXJNYK+lPg6sl-TK@hpREVa*GTt%YxM)>U`xzpO=f?7yvR?%4lW-^0*c-&vTt+T3hz zHS3W&(h)IJM3R;iQgrW6%0D#a{;@`4hyvfKd6bjO70>#Q)!j|9?pSj_uT& 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 R_$L|gF9qz2e{W*%{{i_-twR6+ literal 0 HcmV?d00001 diff --git a/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpwNF9Ih.scssc b/scss/startbootstrap-sb-admin-2/.sass-cache/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/tmpwNF9Ih.scssc new file mode 100644 index 0000000000000000000000000000000000000000..e85b02b49cf9e1783f55a230d4334f4b7cbcdb10 GIT binary patch literal 17077 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