diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index 981ae5442b..cae899546e 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/package.json +++ b/modules/blogging/app/Volo.BloggingTestApp/package.json @@ -3,7 +3,7 @@ "name": "volo.blogtestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4", - "@abp/blogging": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5", + "@abp/blogging": "^0.6.5" } -} +} \ No newline at end of file diff --git a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.css b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.js b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.js +++ b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.css b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.js b/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock index adadc9e05f..4e5d01338a 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,176 +38,164 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/blogging@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.4.tgz#cbbea3aeee2fe49da3d4dc0a8081950192ded768" - integrity sha512-osJiszYyFaTkuDT4kflzarhAkkPH/bcvHBGnPGEbQdr95vF0rkTQrBwkKXVNJaAmjw2PVmJI4dGkzwYQldPEUw== +"@abp/blogging@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.5.tgz#d93f0910fde64a62dce247aec5541ae9eebbfd76" + integrity sha512-CPP3GtWM8wwVWD7yF273hA+A1/KonB8cK4H7fAI5qTp93NxMd8aGoYKwyXHEcxac3494v01+lcSYqSaLaVDP7A== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" - "@abp/owl.carousel" "^0.6.2" - "@abp/tui-editor" "^0.6.2" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" + "@abp/owl.carousel" "^0.6.5" + "@abp/tui-editor" "^0.6.5" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/codemirror@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.2.tgz#830e351e631ad580eaa6b0432c04146d115ee2a2" - integrity sha512-iiYBkTlENa+LWU1cH1Jfis6VoCoBzseDgvv+A+FqGNn7KfMvjkcwXPxfXRp/xaFbLdA1tZJMnLJYB166MmP6pQ== +"@abp/codemirror@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.5.tgz#776df36d5ff1181a993785d5515faf953ba20e67" + integrity sha512-pkBAX/s9L/npJUDzJ7jyfWpqJmTcrGQZkWkQPuy/LOVK/Mwv/HPeK4VyvJ9qSP/G47GoLpmFNFqbcyTxP8KGPg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" codemirror "^5.38.0" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/highlight.js@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.2.tgz#f8916791329d154f0f942b4c46e561038908b1e9" - integrity sha512-CW3LnBSw+bs9rWaCiNkZvhSqvG4sJUrVXqlAM+l14C6+VjqSDgpNSTRePGTBMxAlRxskbN/wBgbxj6GmlG4qJA== +"@abp/highlight.js@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.5.tgz#86e978af55e970661e4f318e31dc86446d8f7851" + integrity sha512-x0bPx8xNNaWV5VlWY8BWG3aJCvRWk5QwlQa8lkRSjrxVxdKFRA9oLk1vChtSIDf1hUyrEFx5aXipfbtLibOH2Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/markdown-it@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.2.tgz#53fdc9e556c9601057384bd078945c9cfbffb5b5" - integrity sha512-EhHHH4+rpobnYMPFJTanUmRc+xKKt76jEfp7h5Ne1tCyjmH2wRT+E7OMTmV62GB/TR94qGgNQWIJvFQcn5ZaaA== +"@abp/markdown-it@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.5.tgz#773648c5d2fd7c6a20fac080ae88a170e83802ce" + integrity sha512-y7CIoBs4K/b5dNeZeQXKwIlIx0/hGGJ87v1sxIHWR+UH9+vNoX5PR3HRyMm4hpcsWpLcUqZ/bAVMR5IPysNKNA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" markdown-it "^8.4.1" -"@abp/owl.carousel@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.2.tgz#f76706b6a430e4b051cc14edc3fd92fc3c27b993" - integrity sha512-sLuKlMnnkPWNJCIu0B7aASn1nC3Qk4dTv57dZl0M3qWJ+AlrXodS8LL0YyBcuFAlEAX9MksGjxcqpTr5cgWpvA== +"@abp/owl.carousel@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.5.tgz#bad8b8d54a572723a27e7bcca375aabb31671bac" + integrity sha512-pqfprY8g3mW1dxyFiGIicE9gcmYTUeCLJfdGtL/08hxZWxUTULPSe0ml417IPBkJYYc2EV1AVXRm+8bbvoduww== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" owl.carousel "^2.3.4" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" -"@abp/tui-editor@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.2.tgz#b7f6cfb1a7a04756c61500655ca142b067e18389" - integrity sha512-O5LOchMYIrd9cpOox8RQFn0HJyiASxJLE2EDSVmtFnv3rOQ4CjRnoQ02v+/0a0/wr2hea9lySWbF6z90ms6JLA== +"@abp/tui-editor@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.5.tgz#1ea0ccb9f94734539b7ee23faf4b4a01d0f8ea51" + integrity sha512-KJ1h8nAb1ze7pqdzWIiDjGpw8N2IjwIogrODgRy8qRZ6m0tQwBROwQ0BZGA6eMNmBj3c2+37JstXuK5CYYgxJw== dependencies: - "@abp/codemirror" "^0.6.2" - "@abp/highlight.js" "^0.6.2" - "@abp/jquery" "^0.6.2" - "@abp/markdown-it" "^0.6.2" + "@abp/codemirror" "^0.6.5" + "@abp/highlight.js" "^0.6.5" + "@abp/jquery" "^0.6.5" + "@abp/markdown-it" "^0.6.5" tui-editor "^1.2.6" "@types/codemirror@0.0.71": diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index ddb1f47a7f..92083d3c9b 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json @@ -3,6 +3,6 @@ "name": "client-simulation-web", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.css b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.js b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.js +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.css b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.js b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock index aa1b9cdd41..40d34436b0 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index 8760287161..e847928f5a 100644 --- a/modules/docs/app/VoloDocs.Web/package.json +++ b/modules/docs/app/VoloDocs.Web/package.json @@ -3,7 +3,7 @@ "name": "volo.docstestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4", - "@abp/docs": "^0.6.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5", + "@abp/docs": "^0.6.5" } -} +} \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.css b/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.js +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css b/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/modules/docs/app/VoloDocs.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index e93d6375fb..548eb37cc9 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,38 +2,37 @@ # yarn lockfile v1 -"@abp/anchor-js@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-0.6.2.tgz#1ba36977b4a21c3dfe88ec0ff0e88eb4ebca4cec" - integrity sha512-Ptp4Pd5jARJd5zM2EbWZ/XFI5oZ86indO4KLGrdd+4P9MqkPs4+7JwsVj38g+8WiJR10W0w68zJpeIWTA8ef3Q== +"@abp/anchor-js@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-0.6.5.tgz#d298a74ac099030013d98620c2f36b35d51716a9" + integrity sha512-dDwrY6f1ZdznHnnHUhpfJ7i68Jj6YmsaK+GZOsCA+JxrJVwIMvIYsbUbTOtFvXMQfDGj7RHqs8JaIhlmf+lUmA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" anchor-js "^4.1.1" -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -47,168 +46,156 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/clipboard@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-0.6.2.tgz#9dfcbefd731b1e49e40d4d6135cf66048b095d21" - integrity sha512-p+5MkT8KXEBnlBEM1Pq03RNfsJfo8kfxqQf+BNxGmuThGgdHhJVP+7QJvHvJwFtPMWGugwlGi8g4uqaMj3vGyg== +"@abp/clipboard@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-0.6.5.tgz#e8fc5712d3353d1a0ca83e892c12ca8d0095d655" + integrity sha512-mpqjiJ9V6QBURhTQKf1qcuMvxzNsBJs2KCjkQhvRYNGaaXt49PmUJcWo0QmexZTgjLFiT+evDcMvm87GZybtzQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" clipboard "^2.0.4" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/docs@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-0.6.2.tgz#e54869903e48e04c19d3572a69a42d7729211f09" - integrity sha512-TiIiaTvyKzBT45o8zKGVxcEDT0zi8OQbQyu0U51AeMlAfNfbJcVs5PZXZIEvfi5y6KYe1vBl51+O+PYg0BS0tw== +"@abp/docs@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-0.6.5.tgz#b9836f5068077a71d298cd02d0f8ca0b75215f8e" + integrity sha512-/CLegDWMXAtu45htZQDQbBZzoSDXKqomvQ5vZll9wfE+3YN9jwxat7X7ueAK7lcejOETbKGCrHJHT80RuRkqyA== dependencies: - "@abp/anchor-js" "^0.6.2" - "@abp/clipboard" "^0.6.2" - "@abp/malihu-custom-scrollbar-plugin" "^0.6.2" - "@abp/popper.js" "^0.6.2" - "@abp/prismjs" "^0.6.2" + "@abp/anchor-js" "^0.6.5" + "@abp/clipboard" "^0.6.5" + "@abp/malihu-custom-scrollbar-plugin" "^0.6.5" + "@abp/popper.js" "^0.6.5" + "@abp/prismjs" "^0.6.5" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/malihu-custom-scrollbar-plugin@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.2.tgz#648879d9c6f0383e3bb7f28de9c355b350924a99" - integrity sha512-8Dj1REGlZyAOX6Hu+wE7MkN0eYcv7kLSkceGHJ/jntGQuLyKwRjSYJboFoSzHprJMz3e0ZYDY/X4nwQauKsBiA== +"@abp/malihu-custom-scrollbar-plugin@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.6.5.tgz#00383dd433ab0f87b80deebf271ac243e22133d1" + integrity sha512-u2r1rv4WlaaIM8S1aiHONGAO0hLqOgsauC/TLgb7JBD6H54pTcPuiIYn9C8mwJ/EThoByGE3gOxEdY+11bmy+A== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/popper.js@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-0.6.2.tgz#9909f356328ad6b7e0cf362aa792686e2db168a7" - integrity sha512-3NDNXseiIEOQAfxyylaIjbsFSivBIpSXPXMbwRWxjw0tLTe3xGTXsfJbe7EcLotXW8mUbBmadX9M4znj6hFJ5g== +"@abp/popper.js@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-0.6.5.tgz#f04f99b16870accd5f950eb00b29c2e20bc120ac" + integrity sha512-beDZqvW1RXGsjbr/dcZhpzwo4NR+icyr7TpeKKBzMTyN1afYleee6YheNB6b4brzty3YZwIMkdh6vygBub+lRQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" popper.js "^1.14.6" -"@abp/prismjs@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-0.6.2.tgz#045977aeedeabca98264843c84158e1a3fc6a07d" - integrity sha512-OfSGRdvbPF2sizzXvg42qGrJ7ITAcBKMVBufxZ8LdwI98Gz3t97gzRkjh5Xs2OSiqwirQmt9qsjIhCHdoA1Z/A== +"@abp/prismjs@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-0.6.5.tgz#1a72942287c33ff8f61075e645e6f18020a0011a" + integrity sha512-aFmD1PuNGNowJSGtr3CdI2z3kCnYO9hUyK5jX/Lx+GONuSwYz5/a41bt4I4lmOzBBus2SQy8E6p3tIopWK63zQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" prismjs "^1.15.0" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/samples/BookStore/src/Acme.BookStore.Web/package.json b/samples/BookStore/src/Acme.BookStore.Web/package.json index 3e98b83c0c..72a949f933 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/package.json +++ b/samples/BookStore/src/Acme.BookStore.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.css b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.js b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.js +++ b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js b/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/samples/BookStore/src/Acme.BookStore.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/samples/BookStore/src/Acme.BookStore.Web/yarn.lock b/samples/BookStore/src/Acme.BookStore.Web/yarn.lock index b2657b361b..9fd4cc188b 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/yarn.lock +++ b/samples/BookStore/src/Acme.BookStore.Web/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/package.json b/samples/DashboardDemo/src/DashboardDemo.Web/package.json index c4e397c0bf..c627ca2424 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/package.json +++ b/samples/DashboardDemo/src/DashboardDemo.Web/package.json @@ -3,6 +3,6 @@ "name": "DashboardDemo", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.css b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.js b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.js +++ b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js b/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock b/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock index b2657b361b..9fd4cc188b 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock +++ b/samples/DashboardDemo/src/DashboardDemo.Web/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/package.json b/samples/MicroserviceDemo/applications/AuthServer.Host/package.json index 051cd3aa83..08bd796303 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/package.json +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/package.json @@ -3,6 +3,6 @@ "name": "msdemo-authserver-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.css b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.js b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.js +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js b/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock b/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock index 09a3fd4a13..2fa0b753e9 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json index d51d1edd73..7927601eb1 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json @@ -3,6 +3,6 @@ "name": "msdemo-backend-admin-app-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.css b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.js b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.js +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock index 09a3fd4a13..2fa0b753e9 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json b/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json index ae2af1fb59..a8ec4b9ea5 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json @@ -3,7 +3,7 @@ "name": "msdemo-backend-admin-app-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4", - "@abp/blogging": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5", + "@abp/blogging": "^0.6.5" } -} +} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.css b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.js b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.js +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js b/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock b/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock index 44e111be05..1988b276f8 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,176 +38,164 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/blogging@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.4.tgz#cbbea3aeee2fe49da3d4dc0a8081950192ded768" - integrity sha512-osJiszYyFaTkuDT4kflzarhAkkPH/bcvHBGnPGEbQdr95vF0rkTQrBwkKXVNJaAmjw2PVmJI4dGkzwYQldPEUw== +"@abp/blogging@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-0.6.5.tgz#d93f0910fde64a62dce247aec5541ae9eebbfd76" + integrity sha512-CPP3GtWM8wwVWD7yF273hA+A1/KonB8cK4H7fAI5qTp93NxMd8aGoYKwyXHEcxac3494v01+lcSYqSaLaVDP7A== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" - "@abp/owl.carousel" "^0.6.2" - "@abp/tui-editor" "^0.6.2" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" + "@abp/owl.carousel" "^0.6.5" + "@abp/tui-editor" "^0.6.5" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/codemirror@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.2.tgz#830e351e631ad580eaa6b0432c04146d115ee2a2" - integrity sha512-iiYBkTlENa+LWU1cH1Jfis6VoCoBzseDgvv+A+FqGNn7KfMvjkcwXPxfXRp/xaFbLdA1tZJMnLJYB166MmP6pQ== +"@abp/codemirror@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-0.6.5.tgz#776df36d5ff1181a993785d5515faf953ba20e67" + integrity sha512-pkBAX/s9L/npJUDzJ7jyfWpqJmTcrGQZkWkQPuy/LOVK/Mwv/HPeK4VyvJ9qSP/G47GoLpmFNFqbcyTxP8KGPg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" codemirror "^5.38.0" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/highlight.js@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.2.tgz#f8916791329d154f0f942b4c46e561038908b1e9" - integrity sha512-CW3LnBSw+bs9rWaCiNkZvhSqvG4sJUrVXqlAM+l14C6+VjqSDgpNSTRePGTBMxAlRxskbN/wBgbxj6GmlG4qJA== +"@abp/highlight.js@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-0.6.5.tgz#86e978af55e970661e4f318e31dc86446d8f7851" + integrity sha512-x0bPx8xNNaWV5VlWY8BWG3aJCvRWk5QwlQa8lkRSjrxVxdKFRA9oLk1vChtSIDf1hUyrEFx5aXipfbtLibOH2Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/markdown-it@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.2.tgz#53fdc9e556c9601057384bd078945c9cfbffb5b5" - integrity sha512-EhHHH4+rpobnYMPFJTanUmRc+xKKt76jEfp7h5Ne1tCyjmH2wRT+E7OMTmV62GB/TR94qGgNQWIJvFQcn5ZaaA== +"@abp/markdown-it@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-0.6.5.tgz#773648c5d2fd7c6a20fac080ae88a170e83802ce" + integrity sha512-y7CIoBs4K/b5dNeZeQXKwIlIx0/hGGJ87v1sxIHWR+UH9+vNoX5PR3HRyMm4hpcsWpLcUqZ/bAVMR5IPysNKNA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" markdown-it "^8.4.1" -"@abp/owl.carousel@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.2.tgz#f76706b6a430e4b051cc14edc3fd92fc3c27b993" - integrity sha512-sLuKlMnnkPWNJCIu0B7aASn1nC3Qk4dTv57dZl0M3qWJ+AlrXodS8LL0YyBcuFAlEAX9MksGjxcqpTr5cgWpvA== +"@abp/owl.carousel@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-0.6.5.tgz#bad8b8d54a572723a27e7bcca375aabb31671bac" + integrity sha512-pqfprY8g3mW1dxyFiGIicE9gcmYTUeCLJfdGtL/08hxZWxUTULPSe0ml417IPBkJYYc2EV1AVXRm+8bbvoduww== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" owl.carousel "^2.3.4" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" -"@abp/tui-editor@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.2.tgz#b7f6cfb1a7a04756c61500655ca142b067e18389" - integrity sha512-O5LOchMYIrd9cpOox8RQFn0HJyiASxJLE2EDSVmtFnv3rOQ4CjRnoQ02v+/0a0/wr2hea9lySWbF6z90ms6JLA== +"@abp/tui-editor@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-0.6.5.tgz#1ea0ccb9f94734539b7ee23faf4b4a01d0f8ea51" + integrity sha512-KJ1h8nAb1ze7pqdzWIiDjGpw8N2IjwIogrODgRy8qRZ6m0tQwBROwQ0BZGA6eMNmBj3c2+37JstXuK5CYYgxJw== dependencies: - "@abp/codemirror" "^0.6.2" - "@abp/highlight.js" "^0.6.2" - "@abp/jquery" "^0.6.2" - "@abp/markdown-it" "^0.6.2" + "@abp/codemirror" "^0.6.5" + "@abp/highlight.js" "^0.6.5" + "@abp/jquery" "^0.6.5" + "@abp/markdown-it" "^0.6.5" tui-editor "^1.2.6" abbrev@1: diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/package.json index 85e0bf8ff8..f4e44006dc 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index 41027a483f..6021d5faec 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/package.json index 3e98b83c0c..72a949f933 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock index 41027a483f..6021d5faec 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/package.json b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/package.json index 3ea4b2fdbb..7ef19f8506 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/package.json +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "demo-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock index ded46f04d1..c6aa52ee4c 100644 --- a/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock +++ b/templates/mvc-module/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/package.json index 85e0bf8ff8..f4e44006dc 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index 41027a483f..6021d5faec 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/mvc/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/package.json index 3e98b83c0c..72a949f933 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock index 41027a483f..6021d5faec 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/package.json b/templates/mvc/src/MyCompanyName.MyProjectName.Web/package.json index 3e98b83c0c..72a949f933 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/package.json +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^0.6.5" } -} +} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.css b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..915fb0f9e7 --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999999; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.js b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.js index 7e44e6256e..730db8bc97 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.js +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/abp/core/abp.js @@ -166,7 +166,7 @@ var abp = abp || {}; abp.setting = abp.setting || {}; abp.setting.values = abp.setting.values || {}; - + abp.setting.get = function (name) { return abp.setting.values[name]; }; @@ -179,7 +179,7 @@ var abp = abp || {}; abp.setting.getInt = function (name) { return parseInt(abp.setting.values[name]); }; - + /* NOTIFICATION *********************************************/ //Defines Notification API, not implements it @@ -246,25 +246,96 @@ var abp = abp || {}; abp.ui = abp.ui || {}; /* UI BLOCK */ - //Defines UI Block API, not implements it + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } - abp.ui.block = function (elm) { - abp.log.warn('abp.ui.block is not implemented!'); + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } }; - abp.ui.unblock = function (elm) { - abp.log.warn('abp.ui.unblock is not implemented!'); + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } }; /* UI BUSY */ //Defines UI Busy API, not implements it - abp.ui.setBusy = function (elm, optionsOrPromise) { - abp.log.warn('abp.ui.setBusy is not implemented!'); + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); }; - abp.ui.clearBusy = function (elm) { - abp.log.warn('abp.ui.clearBusy is not implemented!'); + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); }; /* SIMPLE EVENT BUS *****************************************/ diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css deleted file mode 100644 index 0f85b42513..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes spin{0%{transform:translateZ(0) rotate(0)}100%{transform:translateZ(0) rotate(360deg)}}.freeze-ui{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999999;background-color:#fff;opacity:.8;transition:opacity .25s}.freeze-ui.is-unfreezing{opacity:0}.freeze-ui:after{content:attr(data-text);display:block;max-width:125px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-family:sans-serif;color:#343a40;text-align:center;text-transform:uppercase}.freeze-ui:before{content:"";display:block;width:150px;height:150px;border-radius:50%;border-width:2px;border-style:solid;border-color:transparent #228ae6 #228ae6;position:absolute;top:calc(50% - 75px);left:calc(50% - 75px);will-change:transform;animation:spin .75s infinite ease-in-out} \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js b/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js deleted file mode 100644 index 991416917c..0000000000 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/wwwroot/libs/freeze-ui/freeze-ui.min.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{let a=document.createElement('div');a.classList.add('freeze-ui'),window.FreezeUI=(b={})=>{let c=document.querySelector(b.selector)||document.body;a.setAttribute('data-text',b.text||'Loading'),document.querySelector(b.selector)&&(a.style.position='absolute'),c.appendChild(a)},window.UnFreezeUI=()=>{let b=document.querySelector('.freeze-ui');b&&(b.classList.add('is-unfreezing'),setTimeout(()=>{b&&(b.classList.remove('is-unfreezing'),b.parentElement.removeChild(b))},250))}})(); \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/yarn.lock b/templates/mvc/src/MyCompanyName.MyProjectName.Web/yarn.lock index b2657b361b..9fd4cc188b 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/yarn.lock +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/yarn.lock @@ -2,30 +2,29 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.4.tgz#bbeaf4988e6e7880a829cd5ab032c3f435c9a04b" - integrity sha512-bbt0XZKBUSPhnGo5QGlatnDbOfmEUgpotPpoYXjC3csofm+jU29rQi4Bu4Kuy73hTmrzCLphuAme3W64eky4bQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.6.5.tgz#dc417bcfe8687a9859db22af9e17795862089d03" + integrity sha512-qAFC3ZM2L5hLk7gK6RtfpAfTr1SHYpJ3i82Ztf/w0qNSE/t7V5C3TJdaxxKfdXVoZ6ZI6QS1vo14JHxiSYuGYg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "^0.6.5" -"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.4.tgz#d01e9d8d153fcf3092cbab38b519d6497c3f4afd" - integrity sha512-DbtetgglaEhzoJN6W5jp/p7v1MFKZbiWfsgl/fYBnE41LCbbCnFFWJ6/TVnU0lTqdg8cs+WB8F7OTl/dfPp4Rg== +"@abp/aspnetcore.mvc.ui.theme.shared@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.6.5.tgz#32502d13d3b50e2b15fbcdb2dce3026bfa192d65" + integrity sha512-KpUlwqM7iGwWt48ajtXvcXXsRlYKgCVdgX0CrJanSZ6Sz0Rj3ApCROvxNJP+kf1KCNqlM9nx+pDRQOnUK+2ohg== dependencies: "@abp/aspnetcore.mvc.ui" "^0.6.4" - "@abp/bootstrap" "^0.6.2" - "@abp/datatables.net-bs4" "^0.6.2" - "@abp/font-awesome" "^0.6.2" - "@abp/freeze-ui" "^0.6.2" - "@abp/jquery-form" "^0.6.2" - "@abp/jquery-validation-unobtrusive" "^0.6.2" - "@abp/lodash" "^0.6.2" - "@abp/select2" "^0.6.2" - "@abp/sweetalert" "^0.6.2" - "@abp/timeago" "^0.6.2" - "@abp/toastr" "^0.6.2" + "@abp/bootstrap" "^0.6.5" + "@abp/datatables.net-bs4" "^0.6.5" + "@abp/font-awesome" "^0.6.5" + "@abp/jquery-form" "^0.6.5" + "@abp/jquery-validation-unobtrusive" "^0.6.5" + "@abp/lodash" "^0.6.5" + "@abp/select2" "^0.6.5" + "@abp/sweetalert" "^0.6.5" + "@abp/timeago" "^0.6.5" + "@abp/toastr" "^0.6.5" "@abp/aspnetcore.mvc.ui@^0.6.4": version "0.6.4" @@ -39,125 +38,113 @@ path "^0.12.7" rimraf "^2.6.3" -"@abp/bootstrap@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.2.tgz#e77ad88f2d7550b1f540adb655ec2b477f56a51c" - integrity sha512-J93FCsWd1SLNMjX8wc7qyNAKaIH0suwCL4/rHN1CTxGFHf7y8PKpLikrPMUOefKQMvY5yJsjAevajEPmwEFeEw== +"@abp/bootstrap@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.6.5.tgz#5aec7422c07b25410560308e949d0bb17533d2cb" + integrity sha512-vIcQG5YEpY6ojNlHUl/zPZHIYi1dMDklwW+wKB37KH1W8ZoQ5IFMDE6+fGpjdgazApR8BstH/TlleeZmk+7Qeg== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" bootstrap "^4.1.1" -"@abp/core@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.5.3.tgz#5d279f8c50927a7efec3f894929635056b82c9b7" - integrity sha512-IZbJlqwwCVJB+tN/8PqSqNxonHla3GrCXh9IBSe8mXL7RU/i4EAwK2TR+fL53uQ4RwBKAh/XltBVRePC6EQijQ== - -"@abp/core@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.2.tgz#9b60f3dd00ccc085b2bc88cdd3491326fc331e3a" - integrity sha512-rMfYrvtW1mkIHyzs0HU3yzcHR+0Gn07YBqmRVmFU+JAMWdFOrc76RoZu6ZrBIflPPTyaeitkJ1x3wUWW+e8cNQ== +"@abp/core@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.6.5.tgz#2fd6975828cd33e1092c98f20f24749b95f9c638" + integrity sha512-b2uGNSFS50AyhYYkXfrHmFcDRymWrJRiE7cY2i23K62CH6eqEtAvld6bHt6ho5NhCrQyy8ua9fUeASX0Ym8MVw== -"@abp/datatables.net-bs4@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.2.tgz#d38952980dd107eb17cbe03e0a43f3012d75de15" - integrity sha512-B3xvFlH3Mbj1zHVA9kjUXovVCl3hu66PrNq+kaqExOSlT9bQbk3Zj+HWwcZcADE6Qk/xbkW/qTWfvcWv3kifjg== +"@abp/datatables.net-bs4@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.6.5.tgz#515ec63dea5b23f1ad802bdd8d5e9d337ed9db98" + integrity sha512-1F8YnwI9/BUe+RoYYjoVDy5XAzqWVVOFtyzZy4z+IuJaHk7AwZoTvgV/5Z2l/L8x5ExxRkF0bCS6VHbM6h1TPQ== dependencies: - "@abp/datatables.net" "^0.6.2" + "@abp/datatables.net" "^0.6.5" datatables.net-bs4 "^1.10.16" -"@abp/datatables.net@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.2.tgz#7feb6aaecc87d4f4d7f599bdf5769a6d6c1f3977" - integrity sha512-bbkEdWzu5BohTsvg2vXFbcPzM7PP54zXDJUVSRlR1KN3fnf1R9jChwFUvXiHZPk+k8DyH2wIPc5G9jHmziKNMg== +"@abp/datatables.net@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.6.5.tgz#5c10bbd30243253dd13eb454f19401ac2f6322c0" + integrity sha512-zPuDyDzQ1mzgk3Ofh3TrHwSKa/ti5otnJanJM8W1C9hA9Dvq5xkudXApADLRJVeS3W32vRvwTCdVJlNgqu1PWQ== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" datatables.net "^1.10.16" -"@abp/font-awesome@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.2.tgz#8e63a14216dd38ccaf748633a905368926635d8c" - integrity sha512-u5tGHf8jBQaEvwh3csUyteT9DoelTXTZGvW57jzWdytdp+Z2qiVrqyVNbIBv8NZpxI3LgF0u3OK+Fku6WJNkHg== +"@abp/font-awesome@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.6.5.tgz#9503fde1d4096493dbe6256ebfde12927786a921" + integrity sha512-SLAxH7MOFfWlTdkYpz8DG5MBAocqKzhBTI9tC3nsLw0H+QuZMT0hsnJG+bSdtGwpDQqO/Oncn6GDwl4zBOM0dA== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" font-awesome "^4.7.0" -"@abp/freeze-ui@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/freeze-ui/-/freeze-ui-0.6.2.tgz#f56d72a96ea848b45ab1388ec6d07fdf3dbd92f5" - integrity sha512-2d+mMO+EhxemsfS4xq6h1AQf+NCcr9dHrET+f4kvhjJxEEtDaahjFfjpOG8amg8gfwb4/hOujFhAV2+tfplCtA== - dependencies: - "@abp/core" "^0.5.3" - -"@abp/jquery-form@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.2.tgz#e8e602e922f25ab0cbabb36308fe541f53c085ac" - integrity sha512-THTqoV7eQJjnHForZu8t566g1ristuwT+ho6GwqzA8/ORIlHktvGocsAAt2ZZA9MVz4xiA5/WmQcfWwO/HpreQ== +"@abp/jquery-form@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.6.5.tgz#dd3aea1116d41b7d9111ba53c759446c50d47e84" + integrity sha512-uQJViV0PhJrMFSqigdodKffWGTHICvvb5Wvgi0QgvtsXHgVyI1gJCKkWry0xVyE/vhqneA/kzYVa2cW6mkTb6w== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-form "^4.2.2" -"@abp/jquery-validation-unobtrusive@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.2.tgz#495dc4000756b87b6ccca7f865ab910e670e6859" - integrity sha512-TyBirrgx0E+LsHZRSEWpS1wsjXZ9wrjZ9yQYE11B99ihFaV/4h1DRxkTIpxngAf8qP+UdhfJUBW6j8fTN+EJrQ== +"@abp/jquery-validation-unobtrusive@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.6.5.tgz#5d00805c85abb261f67d25d3e414046393e125ed" + integrity sha512-/AJYAsEL1PSPCxPXg0zcb7xujVHvOwDm5lbjmT/pEnjO0IuEEfaCrdUnhcm9WOtb5BOM1e+B5doE+oThiDC6LQ== dependencies: - "@abp/jquery-validation" "^0.6.2" + "@abp/jquery-validation" "^0.6.5" jquery-validation-unobtrusive "^3.2.9" -"@abp/jquery-validation@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.2.tgz#5b6cb471178ecbbf9371fa4c294285d3399a90b5" - integrity sha512-B2hXZc8Ujq+p6PmfjyBHwdyuFXt56L1nWctG1CSYEAsKfxF9oa8Uqs9UMRwFzqAkI9Gh1jVebaZ9EMzZGU2wIg== +"@abp/jquery-validation@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.6.5.tgz#a08591f4734a398f3776023d3930b80069acab42" + integrity sha512-afWoD2oWaF3beafWOi4YJLdATKq2I0NvVzL1/dIt9SoUleADtJBqCuvIviVRHNQmKasNhcxy5zQa3PhsiYedKQ== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" jquery-validation "^1.17.0" -"@abp/jquery@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.2.tgz#64614723a7f4cccf36bef51b3299f72f4baccc8a" - integrity sha512-5+7tLgKDMRPE8O9N2AKaz3vA17m9Hjll9OrMH6nhnfVbtog1acz9Et4SOlMhT+sqSxhXssn4AGEw0SPoT9Qplw== +"@abp/jquery@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.6.5.tgz#e87087ee1d8af32080fad2f6b395d3e7a0d04f77" + integrity sha512-al8i+W0nmMlHFILl8Koq2XPutP6XEbp+YcJ4F3IOTOGpNyf/FEAdTYj8famjdkr+zCluWcv0IZpU4R0mxnVINw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" jquery "^3.3.1" -"@abp/lodash@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.2.tgz#c6f3aaf1bd402537483ce2d71bec96168ce981de" - integrity sha512-iu2RpapQ019o3VEghpcZ/XDVHepsn1lTaBUTWLgsvqleVFlmH9UtMbFFVMBy99RUdHA/pKaeOcZCGvfQ6oBL0Q== +"@abp/lodash@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.6.5.tgz#227a1d7a93f8f3a642f439f64f7ac4fe12a5d8c3" + integrity sha512-Jg4tbLR8QVTwcPcgJ6kStjYLxVApNhPploJHBFECnd1uVfHGa0U8Vc+FhVv9/d0vAfpVYN/UGx3LCVT9goH39w== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" lodash "^4.17.10" -"@abp/select2@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.2.tgz#c76f36d16dab2408647ab978dc40881cf9b25b7b" - integrity sha512-MflDK9NYiSOdnU5u2docxOszJJAnt7jZnSYMrHMnEPgBCdXRm57BBY3nOi6bExSaKtN1R2tuTgGue+TbhyeZ6w== +"@abp/select2@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.6.5.tgz#0cb45726c7beb60a69a314045b08c938c9ab6595" + integrity sha512-RKvK/jKFTAi5NRmwyjp+a09EAuaL+8AB00tyjtLqNSgy+5xZVwPxCnUmaNaPm1j0UcXz26b0NQbHt5gYedjG7Q== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" select2 "^4.0.5" -"@abp/sweetalert@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.2.tgz#758d4f9325e9f2bfb79b5ce18f7a199cbd80d148" - integrity sha512-nQmZNGka3zgCGORkPcRa6cNv9awYSnjfxGIujDrpbY7rq5RNrD8fJaAftaT8lpwq5V85JLdfBxtlZsoY94eB5Q== +"@abp/sweetalert@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.6.5.tgz#777389e788f46060102c4b1b398d2b072ba6d16b" + integrity sha512-WXjIMrGWoi6Y9FHTO09OW0aGh7YfkPJDTaFj2nS7shgfTVNHLe4HWUIQDRCVhW0wDtqvJYEs+Ue6qfRXGX7Zjw== dependencies: - "@abp/core" "^0.6.2" + "@abp/core" "^0.6.5" sweetalert "^2.1.0" -"@abp/timeago@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.2.tgz#ae07bee3bf40f9f7a2178e65b71fbdc4361ccd64" - integrity sha512-m5/WdJ6INKZ09PLIU8JkH/22atVd1wWS5yz3L9/PKA/YGOdkr1EuMQ7rBGAxi32SsGG54XbFawSZ5z1F9bRRWQ== +"@abp/timeago@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.6.5.tgz#6c38b33ab7b921307361e3851fe30f3721f8f055" + integrity sha512-kiUK//0kVgXEYdxaXAkPmhR0cNipMvlUmgpG9S+3hHTSaX6QtJMa+GeCNlIbsRy2f6QrHMWvOfDTS+z7onQmqw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" timeago "^1.6.3" -"@abp/toastr@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.2.tgz#1cb92c79c2130924514877eb1793c11b306a0f4a" - integrity sha512-jpkwtDVK4MeATr4zm8txVIzpEobXwJwRs7TKZ/ywXlfKdUE07HkXQZuJkLO5triFLT1TfgZ7hC5r33PYJcNncQ== +"@abp/toastr@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.6.5.tgz#5ab6e8dbb7927f85e594aa5019db67fb3ad31dc1" + integrity sha512-TECl7yNsrOwEOV6O1aJ3HtXdbVnF5WrZ7hkFyM0AOfIy5vO5He57Wm3IxeRDyuYXai2BBxJa9fYD+REQhByNmw== dependencies: - "@abp/jquery" "^0.6.2" + "@abp/jquery" "^0.6.5" toastr "^2.1.4" abbrev@1: