@schneideress/dashboardframework 0.0.246 → 0.0.247
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/schneideress-dashboardframework.umd.js +98 -62
- package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
- package/esm2015/gridster/lib/gridster.component.js +101 -65
- package/esm2015/lib/ra.dashboard.responsive.service.js +5 -5
- package/esm5/gridster/lib/gridster.component.js +101 -65
- package/esm5/lib/ra.dashboard.responsive.service.js +5 -5
- package/fesm2015/schneideress-dashboardframework.js +98 -62
- package/fesm2015/schneideress-dashboardframework.js.map +1 -1
- package/fesm5/schneideress-dashboardframework.js +98 -62
- package/fesm5/schneideress-dashboardframework.js.map +1 -1
- package/gridster/lib/gridster.component.d.ts +9 -9
- package/package.json +1 -1
- package/schneideress-dashboardframework.metadata.json +1 -1
|
@@ -49,9 +49,9 @@ var RADashboardResponsiveService = /** @class */ (function () {
|
|
|
49
49
|
};
|
|
50
50
|
Object.defineProperty(RADashboardResponsiveService.prototype, "IsDesktopView", {
|
|
51
51
|
get: function () {
|
|
52
|
-
var agent =
|
|
53
|
-
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|
|
|
54
|
-
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent))
|
|
52
|
+
var agent = navigator.userAgent || navigator.vendor || window.opera;
|
|
53
|
+
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(agent) ||
|
|
54
|
+
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent.substring(0, 4)))
|
|
55
55
|
return false;
|
|
56
56
|
return true;
|
|
57
57
|
},
|
|
@@ -63,7 +63,7 @@ var RADashboardResponsiveService = /** @class */ (function () {
|
|
|
63
63
|
var check = false;
|
|
64
64
|
var agent = navigator.userAgent || navigator.vendor || window.opera;
|
|
65
65
|
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(agent) ||
|
|
66
|
-
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent))
|
|
66
|
+
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent.substring(0, 4)))
|
|
67
67
|
check = true;
|
|
68
68
|
return check;
|
|
69
69
|
},
|
|
@@ -148,4 +148,4 @@ var RADashboardResponsiveService = /** @class */ (function () {
|
|
|
148
148
|
return RADashboardResponsiveService;
|
|
149
149
|
}());
|
|
150
150
|
export { RADashboardResponsiveService };
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmEuZGFzaGJvYXJkLnJlc3BvbnNpdmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsibGliL3JhLmRhc2hib2FyZC5yZXNwb25zaXZlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0I7SUFtQkU7UUFBQSxpQkFTQztRQTNCTSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUcxQixZQUFPLEdBQUc7WUFDaEIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDckQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDeEQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDekQ7Z0JBQ0UsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQzdCO1NBQ0YsQ0FBQztRQUlBLElBQUksQ0FB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QUFTLEdBQWpCLFVBQWtCLE1BQWM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ2pCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDN0QsQ0FBQztZQUNGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTztnQkFDdEMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7SUF4SlUsNEJBQTRCO1FBRHhDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7T0FDdEIsNEJBQTRCLENBeUp4Qzt1Q0FqS0Q7Q0FpS0MsQUF6SkQsSUF5SkM7U0F6SlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEdyaWRzdGVyQ29uZmlnLCBHcmlkc3Rlckl0ZW0gfSBmcm9tIFwiLi4vZ3JpZHN0ZXJcIjtcclxuaW1wb3J0IHsgR3JpZHN0ZXJDb25maWdEZWZhdWx0U2V0dGluZ3MgfSBmcm9tIFwiLi9yYS5ncmlkc3Rlci5jb25maWdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5kZWNsYXJlIHZhciB3aW5kb3c6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcclxuZXhwb3J0IGNsYXNzIFJBRGFzaGJvYXJkUmVzcG9uc2l2ZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZXNpemVkID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgbWF4Q29sc0Rlc2t0b3A6IG51bWJlciA9IDg7XHJcbiAgcHJpdmF0ZSBzY3JlZW5XaWR0aEFkanVzdGVkOiBhbnk7XHJcbiAgcHJpdmF0ZSBzY3JlZW5XaWR0aDogbnVtYmVyO1xyXG4gIHByaXZhdGUgcmVzSW5mbyA9IFtcclxuICAgIHsgaWQ6IDEsIHN0YXJ0OiAwLCBlbmQ6IDc2NywgbWluQ29sczogMSwgbWF4Q29sczogMSB9LFxyXG4gICAgeyBpZDogMiwgc3RhcnQ6IDc2OCwgZW5kOiAxMDI0LCBtaW5Db2xzOiAxLCBtYXhDb2xzOiAyIH0sXHJcbiAgICB7IGlkOiAzLCBzdGFydDogMTAyNSwgZW5kOiAxMzY2LCBtaW5Db2xzOiAxLCBtYXhDb2xzOiA2IH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBzdGFydDogMTM2NyxcclxuICAgICAgZW5kOiA5OTk5OTk5OTk5LFxyXG4gICAgICBtaW5Db2xzOiAxLFxyXG4gICAgICBtYXhDb2xzOiB0aGlzLm1heENvbHNEZXNrdG9wLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHByaXZhdGUgY3VycmVudFJlc0luZm86IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnNldFNjcmVlbldpZHRoKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCAoKSA9PiB7XHJcbiAgICAgIHZhciBjb250ZXh0ID0gdGhpcztcclxuICAgICAgaWYgKHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCkgY2xlYXJUaW1lb3V0KHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCk7XHJcbiAgICAgIHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnRleHQuc2V0U2NyZWVuV2lkdGgoKTtcclxuICAgICAgfSwgNTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JlZW5XaWR0aCgpIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cub3V0ZXJXaWR0aDtcclxuICAgIGlmICh0aGlzLklzRGVza3RvcFZpZXcpIHtcclxuICAgICAgdGhpcy5jdXJyZW50UmVzSW5mbyA9IHRoaXMucmVzSW5mb1szXTtcclxuICAgICAgdGhpcy5yZXNpemVkLm5leHQodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcmVzSW5mbyA9IHRoaXMucmVzSW5mby5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gaXRlbS5lbmQgPj0gdGhpcy5zY3JlZW5XaWR0aCAmJiBpdGVtLnN0YXJ0IDw9IHRoaXMuc2NyZWVuV2lkdGg7XHJcbiAgICAgIH0pWzBdO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudFJlc0luZm8gfHwgdGhpcy5jdXJyZW50UmVzSW5mby5pZCAhPSByZXNJbmZvLmlkKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UmVzSW5mbyA9IHJlc0luZm87XHJcbiAgICAgICAgdGhpcy5yZXNpemVkLm5leHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBJc0Rlc2t0b3BWaWV3KCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGFnZW50ID1cclxuICAgICAgXCJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTEyLjAuMC4wIFNhZmFyaS81MzcuMzZcIjtcclxuICAgIGlmIChcclxuICAgICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxyZWFsbWV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllcyg0fDYpMHxzeW1iaWFufHRyZW98dXBcXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyBjZXx4ZGF8eGlpbm98YW5kcm9pZHxpcGFkfHBsYXlib29rfHNpbGsvaS50ZXN0KFxyXG4gICAgICAgIGFnZW50XHJcbiAgICAgICkgfHxcclxuICAgICAgLzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcXC0pfGFpKGtvfHJuKXxhbChhdnxjYXxjbyl8YW1vaXxhbihleHxueXx5dyl8YXB0dXxhcihjaHxnbyl8YXModGV8dXMpfGF0dHd8YXUoZGl8XFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XFwtKG58dSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG1cXC18Y2VsbHxjaHRtfGNsZGN8Y21kXFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXFwtc3xkZXZpfGRpY2F8ZG1vYnxkbyhjfHApb3xkcygxMnxcXC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXFwtNXxnXFwtbW98Z28oXFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFxcLShtfHB8dCl8aGVpXFwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcXC1jfGh0KGMoXFwtfCB8X3xhfGd8cHxzfHQpfHRwKXxodShhd3x0Yyl8aVxcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcXC18XFwvKXxpYnJvfGlkZWF8aWcwMXxpa29tfGltMWt8aW5ub3xpcGFxfGlyaXN8amEodHx2KWF8amJyb3xqZW11fGppZ3N8a2RkaXxrZWppfGtndCggfFxcLyl8a2xvbnxrcHQgfGt3Y1xcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XFwvKGt8bHx1KXw1MHw1NHxcXC1bYS13XSl8bGlid3xseW54fG0xXFwtd3xtM2dhfG01MFxcL3xtYSh0ZXx1aXx4byl8bWMoMDF8MjF8Y2EpfG1cXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVxcLXxvbnx0Znx3Znx3Z3x3dCl8bm9rKDZ8aSl8bnpwaHxvMmltfG9wKHRpfHd2KXxvcmFufG93ZzF8cDgwMHxwYW4oYXxkfHQpfHBkeGd8cGcoMTN8XFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXFwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XFwtZ3xxYVxcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XFwtWzItN118aVxcLSl8cXRla3xyMzgwfHI2MDB8cmFrc3xyaW05fHJvKHZlfHpvKXxzNTVcXC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcXC18b298cFxcLSl8c2RrXFwvfHNlKGMoXFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFxcLXxzaGFyfHNpZShcXC18bSl8c2tcXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcXC18dlxcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFxcLXx0ZGdcXC18dGVsKGl8bSl8dGltXFwtfHRcXC1tb3x0byhwbHxzaCl8dHMoNzB8bVxcLXxtM3xtNSl8dHhcXC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcXC12KXx2bTQwfHZvZGF8dnVsY3x2eCg1Mnw1M3w2MHw2MXw3MHw4MHw4MXw4M3w4NXw5OCl8dzNjKFxcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1xcLXx5b3VyfHpldG98enRlXFwtL2kudGVzdChcclxuICAgICAgICBhZ2VudFxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBJc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIGxldCBjaGVjayA9IGZhbHNlO1xyXG4gICAgbGV0IGFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBuYXZpZ2F0b3IudmVuZG9yIHx8IHdpbmRvdy5vcGVyYTtcclxuICAgIGlmIChcclxuICAgICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby9pLnRlc3QoXHJcbiAgICAgICAgYWdlbnRcclxuICAgICAgKSB8fFxyXG4gICAgICAvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1xcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcXC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YndcXC0obnx1KXxjNTVcXC98Y2FwaXxjY3dhfGNkbVxcLXxjZWxsfGNodG18Y2xkY3xjbWRcXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFxcLWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShcXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcXC01fGdcXC1tb3xnbyhcXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXFwtKG18cHx0KXxoZWlcXC18aGkocHR8dGEpfGhwKCBpfGlwKXxoc1xcLWN8aHQoYyhcXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXFwtKDIwfGdvfG1hKXxpMjMwfGlhYyggfFxcLXxcXC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XFwvKXxrbG9ufGtwdCB8a3djXFwtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXC8oa3xsfHUpfDUwfDU0fFxcLVthLXddKXxsaWJ3fGx5bnh8bTFcXC13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVxcLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KFxcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXFwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG5cXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcXC1nfHFhXFwtYXxxYygwN3wxMnwyMXwzMnw2MHxcXC1bMi03XXxpXFwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aFxcLXxvb3xwXFwtKXxzZGtcXC98c2UoYyhcXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXFwtfHNoYXJ8c2llKFxcLXxtKXxza1xcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFxcLXx2XFwtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsXFwtfHRkZ1xcLXx0ZWwoaXxtKXx0aW1cXC18dFxcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXFwtfG0zfG01KXx0eFxcLTl8dXAoXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXFwtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzXFwtfHlvdXJ8emV0b3x6dGVcXC0vaS50ZXN0KFxyXG4gICAgICAgIGFnZW50XHJcbiAgICAgIClcclxuICAgIClcclxuICAgICAgY2hlY2sgPSB0cnVlO1xyXG4gICAgcmV0dXJuIGNoZWNrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRzdGVyQ29uZmlnKGlzV2lkZ2V0TWdtbnQ6IGJvb2xlYW4pOiBHcmlkc3RlckNvbmZpZyB7XHJcbiAgICBsZXQgY29uZmlnOiBHcmlkc3RlckNvbmZpZyA9IEdyaWRzdGVyQ29uZmlnRGVmYXVsdFNldHRpbmdzO1xyXG5cclxuICAgIGNvbmZpZy5taW5Db2xzID0gdGhpcy5jdXJyZW50UmVzSW5mby5tYXhDb2xzO1xyXG4gICAgY29uZmlnLm1heENvbHMgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1heENvbHM7XHJcbiAgICBjb25maWcubWluUm93cyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIGNvbmZpZy5tYXhJdGVtQ29scyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWF4Q29scztcclxuICAgIGNvbmZpZy5taW5JdGVtQ29scyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIGNvbmZpZy5taW5JdGVtUm93cyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIGNvbmZpZy5taW5JdGVtQXJlYSA9XHJcbiAgICAgIHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scyAqIHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIGNvbmZpZy5kZWZhdWx0SXRlbUNvbHMgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICBjb25maWcuZGVmYXVsdEl0ZW1Sb3dzID0gdGhpcy5jdXJyZW50UmVzSW5mby5taW5Db2xzO1xyXG5cclxuICAgIGlmICghdGhpcy5Jc0Rlc2t0b3BWaWV3IHx8ICFpc1dpZGdldE1nbW50KSB7XHJcbiAgICAgIGNvbmZpZy5yZXNpemFibGUuZW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICBjb25maWcuc3dhcCA9IGZhbHNlO1xyXG4gICAgICBjb25maWcuZHJhZ2dhYmxlLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbmZpZy5yZXNpemFibGUuZW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIGNvbmZpZy5zd2FwID0gdHJ1ZTtcclxuICAgICAgY29uZmlnLmRyYWdnYWJsZS5lbmFibGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG5cclxuICAvKipUbyBtYXAgSXdpZGdldEluZm8gb2JqZWN0IHRvIGdyaWRzdGVySXRlbSAqL1xyXG4gIHB1YmxpYyBnZXRHcmlkc3Rlckl0ZW0od2lkZ2V0OiBhbnkpIHtcclxuICAgIGlmICh3aWRnZXQud2lkZ2V0U2V0dGluZ3MpIHtcclxuICAgICAgd2lkZ2V0LnNldHRpbmdzID0gSlNPTi5wYXJzZSh3aWRnZXQud2lkZ2V0U2V0dGluZ3MpO1xyXG4gICAgfVxyXG4gICAgbGV0IGdyaWRzdGVySXRlbSA9IDxHcmlkc3Rlckl0ZW0+e1xyXG4gICAgICBjb2xzOiB0aGlzLmdldFdpZHRoKHdpZGdldC53aWR0aCksXHJcbiAgICAgIHJvd3M6IHRoaXMuZ2V0SGVpZ2h0KHdpZGdldC5oZWlnaHQpLFxyXG4gICAgICB4OiB0aGlzLklzRGVza3RvcFZpZXcgPyB3aWRnZXQucG9zaXRpb25feCA6IDAsXHJcbiAgICAgIHk6IHRoaXMuSXNEZXNrdG9wVmlldyA/IHdpZGdldC5wb3NpdGlvbl95IDogMCxcclxuICAgICAgd2lkZ2V0SW5mbzogd2lkZ2V0LFxyXG4gICAgICBtaW5JdGVtUm93czogdGhpcy5nZXRNaW5JdGVtUm93cyh3aWRnZXQpLFxyXG4gICAgICBtaW5JdGVtQ29sczogdGhpcy5nZXRNaW5JdGVtQ29scyh3aWRnZXQpLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBncmlkc3Rlckl0ZW07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdpZHRoKHdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aGlzLklzRGVza3RvcFZpZXcpIHtcclxuICAgICAgd2lkdGggPSBNYXRoLmZsb29yKFxyXG4gICAgICAgICh3aWR0aCAvIHRoaXMubWF4Q29sc0Rlc2t0b3ApICogdGhpcy5jdXJyZW50UmVzSW5mby5tYXhDb2xzXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICh3aWR0aCA8IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scylcclxuICAgICAgICB3aWR0aCA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIH1cclxuICAgIHJldHVybiB3aWR0aDtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRNaW5JdGVtUm93cyh3aWRnZXQ6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5Jc0Rlc2t0b3BWaWV3KSB7XHJcbiAgICAgIGlmICh3aWRnZXQuc2V0dGluZ3MgJiYgd2lkZ2V0LnNldHRpbmdzLm1pblJvd3MpIHtcclxuICAgICAgICByZXR1cm4gd2lkZ2V0LnNldHRpbmdzLm1pblJvd3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRNaW5JdGVtQ29scyh3aWRnZXQ6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5Jc0Rlc2t0b3BWaWV3KSB7XHJcbiAgICAgIGlmICh3aWRnZXQuc2V0dGluZ3MgJiYgd2lkZ2V0LnNldHRpbmdzLm1pbkNvbHMpIHtcclxuICAgICAgICByZXR1cm4gd2lkZ2V0LnNldHRpbmdzLm1pbkNvbHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRIZWlnaHQoaGVpZ2h0OiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5Jc0Rlc2t0b3BWaWV3KSB7XHJcbiAgICAgIGhlaWdodCA9IE1hdGguZmxvb3IoXHJcbiAgICAgICAgKGhlaWdodCAvIHRoaXMubWF4Q29sc0Rlc2t0b3ApICogdGhpcy5jdXJyZW50UmVzSW5mby5tYXhDb2xzXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChoZWlnaHQgPCB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHMpXHJcbiAgICAgICAgaGVpZ2h0ID0gdGhpcy5jdXJyZW50UmVzSW5mby5taW5Db2xzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhlaWdodDtcclxuICB9XHJcbn1cclxuIl19
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmEuZGFzaGJvYXJkLnJlc3BvbnNpdmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsibGliL3JhLmRhc2hib2FyZC5yZXNwb25zaXZlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0I7SUFtQkU7UUFBQSxpQkFTQztRQTNCTSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUcxQixZQUFPLEdBQUc7WUFDaEIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDckQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDeEQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDekQ7Z0JBQ0UsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQzdCO1NBQ0YsQ0FBQztRQUlBLElBQUksQ0FB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TUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFDOUMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUNoQztTQUNGO0lBQ0gsQ0FBQztJQUNPLGdEQUFTLEdBQWpCLFVBQWtCLE1BQWM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ2pCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDN0QsQ0FBQztZQUNGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTztnQkFDdEMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7SUF2SlUsNEJBQTRCO1FBRHhDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7T0FDdEIsNEJBQTRCLENBd0p4Qzt1Q0FoS0Q7Q0FnS0MsQUF4SkQsSUF3SkM7U0F4SlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEdyaWRzdGVyQ29uZmlnLCBHcmlkc3Rlckl0ZW0gfSBmcm9tIFwiLi4vZ3JpZHN0ZXJcIjtcclxuaW1wb3J0IHsgR3JpZHN0ZXJDb25maWdEZWZhdWx0U2V0dGluZ3MgfSBmcm9tIFwiLi9yYS5ncmlkc3Rlci5jb25maWdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5kZWNsYXJlIHZhciB3aW5kb3c6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcclxuZXhwb3J0IGNsYXNzIFJBRGFzaGJvYXJkUmVzcG9uc2l2ZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZXNpemVkID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgbWF4Q29sc0Rlc2t0b3A6IG51bWJlciA9IDg7XHJcbiAgcHJpdmF0ZSBzY3JlZW5XaWR0aEFkanVzdGVkOiBhbnk7XHJcbiAgcHJpdmF0ZSBzY3JlZW5XaWR0aDogbnVtYmVyO1xyXG4gIHByaXZhdGUgcmVzSW5mbyA9IFtcclxuICAgIHsgaWQ6IDEsIHN0YXJ0OiAwLCBlbmQ6IDc2NywgbWluQ29sczogMSwgbWF4Q29sczogMSB9LFxyXG4gICAgeyBpZDogMiwgc3RhcnQ6IDc2OCwgZW5kOiAxMDI0LCBtaW5Db2xzOiAxLCBtYXhDb2xzOiAyIH0sXHJcbiAgICB7IGlkOiAzLCBzdGFydDogMTAyNSwgZW5kOiAxMzY2LCBtaW5Db2xzOiAxLCBtYXhDb2xzOiA2IH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBzdGFydDogMTM2NyxcclxuICAgICAgZW5kOiA5OTk5OTk5OTk5LFxyXG4gICAgICBtaW5Db2xzOiAxLFxyXG4gICAgICBtYXhDb2xzOiB0aGlzLm1heENvbHNEZXNrdG9wLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHByaXZhdGUgY3VycmVudFJlc0luZm86IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnNldFNjcmVlbldpZHRoKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCAoKSA9PiB7XHJcbiAgICAgIHZhciBjb250ZXh0ID0gdGhpcztcclxuICAgICAgaWYgKHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCkgY2xlYXJUaW1lb3V0KHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCk7XHJcbiAgICAgIHRoaXMuc2NyZWVuV2lkdGhBZGp1c3RlZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnRleHQuc2V0U2NyZWVuV2lkdGgoKTtcclxuICAgICAgfSwgNTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JlZW5XaWR0aCgpIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cub3V0ZXJXaWR0aDtcclxuICAgIGlmICh0aGlzLklzRGVza3RvcFZpZXcpIHtcclxuICAgICAgdGhpcy5jdXJyZW50UmVzSW5mbyA9IHRoaXMucmVzSW5mb1szXTtcclxuICAgICAgdGhpcy5yZXNpemVkLm5leHQodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgcmVzSW5mbyA9IHRoaXMucmVzSW5mby5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gaXRlbS5lbmQgPj0gdGhpcy5zY3JlZW5XaWR0aCAmJiBpdGVtLnN0YXJ0IDw9IHRoaXMuc2NyZWVuV2lkdGg7XHJcbiAgICAgIH0pWzBdO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudFJlc0luZm8gfHwgdGhpcy5jdXJyZW50UmVzSW5mby5pZCAhPSByZXNJbmZvLmlkKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UmVzSW5mbyA9IHJlc0luZm87XHJcbiAgICAgICAgdGhpcy5yZXNpemVkLm5leHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBJc0Rlc2t0b3BWaWV3KCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBuYXZpZ2F0b3IudmVuZG9yIHx8IHdpbmRvdy5vcGVyYTtcclxuICAgIGlmIChcclxuICAgICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby9pLnRlc3QoXHJcbiAgICAgICAgYWdlbnRcclxuICAgICAgKSB8fFxyXG4gICAgICAvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1xcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcXC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YndcXC0obnx1KXxjNTVcXC98Y2FwaXxjY3dhfGNkbVxcLXxjZWxsfGNodG18Y2xkY3xjbWRcXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFxcLWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShcXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcXC01fGdcXC1tb3xnbyhcXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXFwtKG18cHx0KXxoZWlcXC18aGkocHR8dGEpfGhwKCBpfGlwKXxoc1xcLWN8aHQoYyhcXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXFwtKDIwfGdvfG1hKXxpMjMwfGlhYyggfFxcLXxcXC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XFwvKXxrbG9ufGtwdCB8a3djXFwtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXC8oa3xsfHUpfDUwfDU0fFxcLVthLXddKXxsaWJ3fGx5bnh8bTFcXC13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVxcLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KFxcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXFwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG5cXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcXC1nfHFhXFwtYXxxYygwN3wxMnwyMXwzMnw2MHxcXC1bMi03XXxpXFwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aFxcLXxvb3xwXFwtKXxzZGtcXC98c2UoYyhcXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXFwtfHNoYXJ8c2llKFxcLXxtKXxza1xcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFxcLXx2XFwtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsXFwtfHRkZ1xcLXx0ZWwoaXxtKXx0aW1cXC18dFxcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXFwtfG0zfG01KXx0eFxcLTl8dXAoXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXFwtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzXFwtfHlvdXJ8emV0b3x6dGVcXC0vaS50ZXN0KFxyXG4gICAgICAgIGFnZW50LnN1YnN0cmluZygwLCA0KVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBJc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIGxldCBjaGVjayA9IGZhbHNlO1xyXG4gICAgbGV0IGFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBuYXZpZ2F0b3IudmVuZG9yIHx8IHdpbmRvdy5vcGVyYTtcclxuICAgIGlmIChcclxuICAgICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby9pLnRlc3QoXHJcbiAgICAgICAgYWdlbnRcclxuICAgICAgKSB8fFxyXG4gICAgICAvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1xcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcXC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YndcXC0obnx1KXxjNTVcXC98Y2FwaXxjY3dhfGNkbVxcLXxjZWxsfGNodG18Y2xkY3xjbWRcXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFxcLWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShcXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcXC01fGdcXC1tb3xnbyhcXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXFwtKG18cHx0KXxoZWlcXC18aGkocHR8dGEpfGhwKCBpfGlwKXxoc1xcLWN8aHQoYyhcXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXFwtKDIwfGdvfG1hKXxpMjMwfGlhYyggfFxcLXxcXC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XFwvKXxrbG9ufGtwdCB8a3djXFwtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXC8oa3xsfHUpfDUwfDU0fFxcLVthLXddKXxsaWJ3fGx5bnh8bTFcXC13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVxcLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KFxcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXFwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG5cXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcXC1nfHFhXFwtYXxxYygwN3wxMnwyMXwzMnw2MHxcXC1bMi03XXxpXFwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aFxcLXxvb3xwXFwtKXxzZGtcXC98c2UoYyhcXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXFwtfHNoYXJ8c2llKFxcLXxtKXxza1xcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFxcLXx2XFwtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsXFwtfHRkZ1xcLXx0ZWwoaXxtKXx0aW1cXC18dFxcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXFwtfG0zfG01KXx0eFxcLTl8dXAoXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXFwtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzXFwtfHlvdXJ8emV0b3x6dGVcXC0vaS50ZXN0KFxyXG4gICAgICAgIGFnZW50LnN1YnN0cmluZygwLCA0KVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAgIGNoZWNrID0gdHJ1ZTtcclxuICAgIHJldHVybiBjaGVjaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkc3RlckNvbmZpZyhpc1dpZGdldE1nbW50OiBib29sZWFuKTogR3JpZHN0ZXJDb25maWcge1xyXG4gICAgbGV0IGNvbmZpZzogR3JpZHN0ZXJDb25maWcgPSBHcmlkc3RlckNvbmZpZ0RlZmF1bHRTZXR0aW5ncztcclxuXHJcbiAgICBjb25maWcubWluQ29scyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWF4Q29scztcclxuICAgIGNvbmZpZy5tYXhDb2xzID0gdGhpcy5jdXJyZW50UmVzSW5mby5tYXhDb2xzO1xyXG4gICAgY29uZmlnLm1pblJvd3MgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICBjb25maWcubWF4SXRlbUNvbHMgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1heENvbHM7XHJcbiAgICBjb25maWcubWluSXRlbUNvbHMgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICBjb25maWcubWluSXRlbVJvd3MgPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICBjb25maWcubWluSXRlbUFyZWEgPVxyXG4gICAgICB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHMgKiB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICBjb25maWcuZGVmYXVsdEl0ZW1Db2xzID0gdGhpcy5jdXJyZW50UmVzSW5mby5taW5Db2xzO1xyXG4gICAgY29uZmlnLmRlZmF1bHRJdGVtUm93cyA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuXHJcbiAgICBpZiAoIXRoaXMuSXNEZXNrdG9wVmlldyB8fCAhaXNXaWRnZXRNZ21udCkge1xyXG4gICAgICBjb25maWcucmVzaXphYmxlLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgY29uZmlnLnN3YXAgPSBmYWxzZTtcclxuICAgICAgY29uZmlnLmRyYWdnYWJsZS5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25maWcucmVzaXphYmxlLmVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICBjb25maWcuc3dhcCA9IHRydWU7XHJcbiAgICAgIGNvbmZpZy5kcmFnZ2FibGUuZW5hYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLyoqVG8gbWFwIEl3aWRnZXRJbmZvIG9iamVjdCB0byBncmlkc3Rlckl0ZW0gKi9cclxuICBwdWJsaWMgZ2V0R3JpZHN0ZXJJdGVtKHdpZGdldDogYW55KSB7XHJcbiAgICBpZiAod2lkZ2V0LndpZGdldFNldHRpbmdzKSB7XHJcbiAgICAgIHdpZGdldC5zZXR0aW5ncyA9IEpTT04ucGFyc2Uod2lkZ2V0LndpZGdldFNldHRpbmdzKTtcclxuICAgIH1cclxuICAgIGxldCBncmlkc3Rlckl0ZW0gPSA8R3JpZHN0ZXJJdGVtPntcclxuICAgICAgY29sczogdGhpcy5nZXRXaWR0aCh3aWRnZXQud2lkdGgpLFxyXG4gICAgICByb3dzOiB0aGlzLmdldEhlaWdodCh3aWRnZXQuaGVpZ2h0KSxcclxuICAgICAgeDogdGhpcy5Jc0Rlc2t0b3BWaWV3ID8gd2lkZ2V0LnBvc2l0aW9uX3ggOiAwLFxyXG4gICAgICB5OiB0aGlzLklzRGVza3RvcFZpZXcgPyB3aWRnZXQucG9zaXRpb25feSA6IDAsXHJcbiAgICAgIHdpZGdldEluZm86IHdpZGdldCxcclxuICAgICAgbWluSXRlbVJvd3M6IHRoaXMuZ2V0TWluSXRlbVJvd3Mod2lkZ2V0KSxcclxuICAgICAgbWluSXRlbUNvbHM6IHRoaXMuZ2V0TWluSXRlbUNvbHMod2lkZ2V0KSxcclxuICAgIH07XHJcbiAgICByZXR1cm4gZ3JpZHN0ZXJJdGVtO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXaWR0aCh3aWR0aDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmICghdGhpcy5Jc0Rlc2t0b3BWaWV3KSB7XHJcbiAgICAgIHdpZHRoID0gTWF0aC5mbG9vcihcclxuICAgICAgICAod2lkdGggLyB0aGlzLm1heENvbHNEZXNrdG9wKSAqIHRoaXMuY3VycmVudFJlc0luZm8ubWF4Q29sc1xyXG4gICAgICApO1xyXG4gICAgICBpZiAod2lkdGggPCB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHMpXHJcbiAgICAgICAgd2lkdGggPSB0aGlzLmN1cnJlbnRSZXNJbmZvLm1pbkNvbHM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2lkdGg7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0TWluSXRlbVJvd3Mod2lkZ2V0OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuSXNEZXNrdG9wVmlldykge1xyXG4gICAgICBpZiAod2lkZ2V0LnNldHRpbmdzICYmIHdpZGdldC5zZXR0aW5ncy5taW5Sb3dzKSB7XHJcbiAgICAgICAgcmV0dXJuIHdpZGdldC5zZXR0aW5ncy5taW5Sb3dzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0TWluSXRlbUNvbHMod2lkZ2V0OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuSXNEZXNrdG9wVmlldykge1xyXG4gICAgICBpZiAod2lkZ2V0LnNldHRpbmdzICYmIHdpZGdldC5zZXR0aW5ncy5taW5Db2xzKSB7XHJcbiAgICAgICAgcmV0dXJuIHdpZGdldC5zZXR0aW5ncy5taW5Db2xzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0SGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuSXNEZXNrdG9wVmlldykge1xyXG4gICAgICBoZWlnaHQgPSBNYXRoLmZsb29yKFxyXG4gICAgICAgIChoZWlnaHQgLyB0aGlzLm1heENvbHNEZXNrdG9wKSAqIHRoaXMuY3VycmVudFJlc0luZm8ubWF4Q29sc1xyXG4gICAgICApO1xyXG4gICAgICBpZiAoaGVpZ2h0IDwgdGhpcy5jdXJyZW50UmVzSW5mby5taW5Db2xzKVxyXG4gICAgICAgIGhlaWdodCA9IHRoaXMuY3VycmVudFJlc0luZm8ubWluQ29scztcclxuICAgIH1cclxuICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -286,9 +286,9 @@ let RADashboardResponsiveService = class RADashboardResponsiveService {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
get IsDesktopView() {
|
|
289
|
-
let agent =
|
|
290
|
-
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|
|
|
291
|
-
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent))
|
|
289
|
+
let agent = navigator.userAgent || navigator.vendor || window.opera;
|
|
290
|
+
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(agent) ||
|
|
291
|
+
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent.substring(0, 4)))
|
|
292
292
|
return false;
|
|
293
293
|
return true;
|
|
294
294
|
}
|
|
@@ -296,7 +296,7 @@ let RADashboardResponsiveService = class RADashboardResponsiveService {
|
|
|
296
296
|
let check = false;
|
|
297
297
|
let agent = navigator.userAgent || navigator.vendor || window.opera;
|
|
298
298
|
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(agent) ||
|
|
299
|
-
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent))
|
|
299
|
+
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(agent.substring(0, 4)))
|
|
300
300
|
check = true;
|
|
301
301
|
return check;
|
|
302
302
|
}
|
|
@@ -2552,10 +2552,10 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2552
2552
|
this.gridRenderer = new GridsterRenderer(this);
|
|
2553
2553
|
}
|
|
2554
2554
|
static checkCollisionTwoItems(item, item2) {
|
|
2555
|
-
return item.x < item2.x + item2.cols
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2555
|
+
return (item.x < item2.x + item2.cols &&
|
|
2556
|
+
item.x + item.cols > item2.x &&
|
|
2557
|
+
item.y < item2.y + item2.rows &&
|
|
2558
|
+
item.y + item.rows > item2.y);
|
|
2559
2559
|
}
|
|
2560
2560
|
ngOnInit() {
|
|
2561
2561
|
if (this.options.initCallback) {
|
|
@@ -2563,6 +2563,7 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2563
2563
|
}
|
|
2564
2564
|
}
|
|
2565
2565
|
ngOnChanges(changes) {
|
|
2566
|
+
console.log(this.$options);
|
|
2566
2567
|
if (changes.options) {
|
|
2567
2568
|
this.setOptions();
|
|
2568
2569
|
this.options.api = {
|
|
@@ -2571,7 +2572,7 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2571
2572
|
getNextPossiblePosition: this.getNextPossiblePosition.bind(this),
|
|
2572
2573
|
getFirstPossiblePosition: this.getFirstPossiblePosition.bind(this),
|
|
2573
2574
|
getLastPossiblePosition: this.getLastPossiblePosition.bind(this),
|
|
2574
|
-
getCurrentRowHeight: this.getCurrentRowHeight.bind(this)
|
|
2575
|
+
getCurrentRowHeight: this.getCurrentRowHeight.bind(this),
|
|
2575
2576
|
};
|
|
2576
2577
|
this.columns = this.$options.minCols;
|
|
2577
2578
|
this.rows = this.$options.minRows;
|
|
@@ -2585,7 +2586,7 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2585
2586
|
resize() {
|
|
2586
2587
|
let height;
|
|
2587
2588
|
let width;
|
|
2588
|
-
if (this.$options.gridType ===
|
|
2589
|
+
if (this.$options.gridType === "fit" && !this.mobile) {
|
|
2589
2590
|
width = this.el.offsetWidth;
|
|
2590
2591
|
height = this.el.offsetHeight;
|
|
2591
2592
|
}
|
|
@@ -2593,14 +2594,15 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2593
2594
|
width = this.el.clientWidth;
|
|
2594
2595
|
height = this.el.clientHeight;
|
|
2595
2596
|
}
|
|
2596
|
-
if ((width !== this.curWidth || height !== this.curHeight) &&
|
|
2597
|
+
if ((width !== this.curWidth || height !== this.curHeight) &&
|
|
2598
|
+
this.checkIfToResize()) {
|
|
2597
2599
|
this.onResize();
|
|
2598
2600
|
}
|
|
2599
2601
|
}
|
|
2600
2602
|
setOptions() {
|
|
2601
2603
|
this.$options = GridsterUtils.merge(this.$options, this.options, this.$options);
|
|
2602
2604
|
if (!this.$options.disableWindowResize && !this.windowResize) {
|
|
2603
|
-
this.windowResize = this.renderer.listen(
|
|
2605
|
+
this.windowResize = this.renderer.listen("window", "resize", this.onResize.bind(this));
|
|
2604
2606
|
}
|
|
2605
2607
|
else if (this.$options.disableWindowResize && this.windowResize) {
|
|
2606
2608
|
this.windowResize();
|
|
@@ -2626,9 +2628,9 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2626
2628
|
}
|
|
2627
2629
|
//if (this.options.api) {
|
|
2628
2630
|
/* this.options.api getting undefined for new dashboard load- temp fix
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2631
|
+
* on new dashboard area load, old dashboard area gets destroyed, but that leads to
|
|
2632
|
+
* ondestroy of current this.options.api instance - needs to investigate further
|
|
2633
|
+
*/
|
|
2632
2634
|
if (false) {
|
|
2633
2635
|
this.options.api.resize = undefined;
|
|
2634
2636
|
this.options.api.optionsChanged = undefined;
|
|
@@ -2651,10 +2653,12 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2651
2653
|
const clientHeight = this.el.clientHeight;
|
|
2652
2654
|
const offsetHeight = this.el.offsetHeight;
|
|
2653
2655
|
const scrollHeight = this.el.scrollHeight;
|
|
2654
|
-
const verticalScrollPresent = clientWidth < offsetWidth &&
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2656
|
+
const verticalScrollPresent = clientWidth < offsetWidth &&
|
|
2657
|
+
scrollHeight > offsetHeight &&
|
|
2658
|
+
scrollHeight - offsetHeight < offsetWidth - clientWidth;
|
|
2659
|
+
const horizontalScrollPresent = clientHeight < offsetHeight &&
|
|
2660
|
+
scrollWidth > offsetWidth &&
|
|
2661
|
+
scrollWidth - offsetWidth < offsetHeight - clientHeight;
|
|
2658
2662
|
if (verticalScrollPresent) {
|
|
2659
2663
|
return false;
|
|
2660
2664
|
}
|
|
@@ -2664,7 +2668,8 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2664
2668
|
const el = this.el;
|
|
2665
2669
|
let width = el.clientWidth;
|
|
2666
2670
|
let height = el.clientHeight;
|
|
2667
|
-
if (this.$options.setGridSize ||
|
|
2671
|
+
if (this.$options.setGridSize ||
|
|
2672
|
+
(this.$options.gridType === "fit" && !this.mobile)) {
|
|
2668
2673
|
width = el.offsetWidth;
|
|
2669
2674
|
height = el.offsetHeight;
|
|
2670
2675
|
}
|
|
@@ -2679,11 +2684,11 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2679
2684
|
this.setGridSize();
|
|
2680
2685
|
if (!this.mobile && this.$options.mobileBreakpoint > this.curWidth) {
|
|
2681
2686
|
this.mobile = !this.mobile;
|
|
2682
|
-
this.renderer.addClass(this.el,
|
|
2687
|
+
this.renderer.addClass(this.el, "mobile");
|
|
2683
2688
|
}
|
|
2684
2689
|
else if (this.mobile && this.$options.mobileBreakpoint < this.curWidth) {
|
|
2685
2690
|
this.mobile = !this.mobile;
|
|
2686
|
-
this.renderer.removeClass(this.el,
|
|
2691
|
+
this.renderer.removeClass(this.el, "mobile");
|
|
2687
2692
|
}
|
|
2688
2693
|
let rows = this.$options.minRows, columns = this.$options.minCols;
|
|
2689
2694
|
let widgetsIndex = this.grid.length - 1, widget;
|
|
@@ -2711,57 +2716,57 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2711
2716
|
let marginWidth = -this.$options.margin;
|
|
2712
2717
|
if (this.$options.outerMarginLeft !== null) {
|
|
2713
2718
|
marginWidth += this.$options.outerMarginLeft;
|
|
2714
|
-
this.renderer.setStyle(this.el,
|
|
2719
|
+
this.renderer.setStyle(this.el, "padding-left", this.$options.outerMarginLeft + "px");
|
|
2715
2720
|
}
|
|
2716
2721
|
else {
|
|
2717
2722
|
marginWidth += this.$options.margin;
|
|
2718
|
-
this.renderer.setStyle(this.el,
|
|
2723
|
+
this.renderer.setStyle(this.el, "padding-left", this.$options.margin + "px");
|
|
2719
2724
|
}
|
|
2720
2725
|
if (this.$options.outerMarginRight !== null) {
|
|
2721
2726
|
marginWidth += this.$options.outerMarginRight;
|
|
2722
|
-
this.renderer.setStyle(this.el,
|
|
2727
|
+
this.renderer.setStyle(this.el, "padding-right", this.$options.outerMarginRight + "px");
|
|
2723
2728
|
}
|
|
2724
2729
|
else {
|
|
2725
2730
|
marginWidth += this.$options.margin;
|
|
2726
|
-
this.renderer.setStyle(this.el,
|
|
2731
|
+
this.renderer.setStyle(this.el, "padding-right", this.$options.margin + "px");
|
|
2727
2732
|
}
|
|
2728
2733
|
this.curColWidth = (this.curWidth - marginWidth) / this.columns;
|
|
2729
2734
|
let marginHeight = -this.$options.margin;
|
|
2730
2735
|
if (this.$options.outerMarginTop !== null) {
|
|
2731
2736
|
marginHeight += this.$options.outerMarginTop;
|
|
2732
|
-
this.renderer.setStyle(this.el,
|
|
2737
|
+
this.renderer.setStyle(this.el, "padding-top", this.$options.outerMarginTop + "px");
|
|
2733
2738
|
}
|
|
2734
2739
|
else {
|
|
2735
2740
|
marginHeight += this.$options.margin;
|
|
2736
|
-
this.renderer.setStyle(this.el,
|
|
2741
|
+
this.renderer.setStyle(this.el, "padding-top", this.$options.margin + "px");
|
|
2737
2742
|
}
|
|
2738
2743
|
if (this.$options.outerMarginBottom !== null) {
|
|
2739
2744
|
marginHeight += this.$options.outerMarginBottom;
|
|
2740
|
-
this.renderer.setStyle(this.el,
|
|
2745
|
+
this.renderer.setStyle(this.el, "padding-bottom", this.$options.outerMarginBottom + "px");
|
|
2741
2746
|
}
|
|
2742
2747
|
else {
|
|
2743
2748
|
marginHeight += this.$options.margin;
|
|
2744
|
-
this.renderer.setStyle(this.el,
|
|
2749
|
+
this.renderer.setStyle(this.el, "padding-bottom", this.$options.margin + "px");
|
|
2745
2750
|
}
|
|
2746
2751
|
this.curRowHeight = (this.curHeight - marginHeight) / this.rows;
|
|
2747
2752
|
}
|
|
2748
2753
|
else {
|
|
2749
2754
|
this.curColWidth = (this.curWidth + this.$options.margin) / this.columns;
|
|
2750
2755
|
this.curRowHeight = (this.curHeight + this.$options.margin) / this.rows;
|
|
2751
|
-
this.renderer.setStyle(this.el,
|
|
2752
|
-
this.renderer.setStyle(this.el,
|
|
2753
|
-
this.renderer.setStyle(this.el,
|
|
2754
|
-
this.renderer.setStyle(this.el,
|
|
2756
|
+
this.renderer.setStyle(this.el, "padding-left", 0 + "px");
|
|
2757
|
+
this.renderer.setStyle(this.el, "padding-right", 0 + "px");
|
|
2758
|
+
this.renderer.setStyle(this.el, "padding-top", 0 + "px");
|
|
2759
|
+
this.renderer.setStyle(this.el, "padding-bottom", 0 + "px");
|
|
2755
2760
|
}
|
|
2756
2761
|
this.gridRenderer.updateGridster();
|
|
2757
2762
|
this.updateGrid();
|
|
2758
2763
|
if (this.$options.setGridSize) {
|
|
2759
|
-
this.renderer.setStyle(this.el,
|
|
2760
|
-
this.renderer.setStyle(this.el,
|
|
2764
|
+
this.renderer.setStyle(this.el, "width", this.columns * this.curColWidth + this.$options.margin + "px");
|
|
2765
|
+
this.renderer.setStyle(this.el, "height", this.rows * this.curRowHeight + this.$options.margin + "px");
|
|
2761
2766
|
}
|
|
2762
2767
|
else {
|
|
2763
|
-
this.renderer.setStyle(this.el,
|
|
2764
|
-
this.renderer.setStyle(this.el,
|
|
2768
|
+
this.renderer.setStyle(this.el, "width", "");
|
|
2769
|
+
this.renderer.setStyle(this.el, "height", "");
|
|
2765
2770
|
}
|
|
2766
2771
|
let widgetsIndex = this.grid.length - 1, widget;
|
|
2767
2772
|
for (; widgetsIndex >= 0; widgetsIndex--) {
|
|
@@ -2773,18 +2778,23 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2773
2778
|
setTimeout(this.resize.bind(this), 100);
|
|
2774
2779
|
}
|
|
2775
2780
|
updateGrid() {
|
|
2776
|
-
if (this.$options.displayGrid ===
|
|
2777
|
-
this.renderer.addClass(this.el,
|
|
2781
|
+
if (this.$options.displayGrid === "always" && !this.mobile) {
|
|
2782
|
+
this.renderer.addClass(this.el, "display-grid");
|
|
2778
2783
|
}
|
|
2779
|
-
else if (this.$options.displayGrid ===
|
|
2780
|
-
this.
|
|
2784
|
+
else if (this.$options.displayGrid === "onDrag&Resize" &&
|
|
2785
|
+
this.dragInProgress) {
|
|
2786
|
+
this.renderer.addClass(this.el, "display-grid");
|
|
2781
2787
|
}
|
|
2782
|
-
else if (this.$options.displayGrid ===
|
|
2783
|
-
this.
|
|
2788
|
+
else if (this.$options.displayGrid === "none" ||
|
|
2789
|
+
!this.dragInProgress ||
|
|
2790
|
+
this.mobile) {
|
|
2791
|
+
this.renderer.removeClass(this.el, "display-grid");
|
|
2784
2792
|
}
|
|
2785
2793
|
this.setGridDimensions();
|
|
2786
|
-
this.gridColumns.length =
|
|
2787
|
-
|
|
2794
|
+
this.gridColumns.length =
|
|
2795
|
+
Math.max(this.columns, Math.floor(this.curWidth / this.curColWidth)) || 0;
|
|
2796
|
+
this.gridRows.length =
|
|
2797
|
+
Math.max(this.rows, Math.floor(this.curHeight / this.curRowHeight)) || 0;
|
|
2788
2798
|
this.cdRef.markForCheck();
|
|
2789
2799
|
}
|
|
2790
2800
|
addItem(itemComponent) {
|
|
@@ -2804,8 +2814,8 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2804
2814
|
else if (this.checkCollision(itemComponent.$item)) {
|
|
2805
2815
|
if (!this.$options.disableWarnings) {
|
|
2806
2816
|
itemComponent.notPlaced = true;
|
|
2807
|
-
console.warn(
|
|
2808
|
-
JSON.stringify(itemComponent.item, [
|
|
2817
|
+
console.warn("Can't be placed in the bounds of the dashboard, trying to auto position!/n" +
|
|
2818
|
+
JSON.stringify(itemComponent.item, ["cols", "rows", "x", "y"]));
|
|
2809
2819
|
}
|
|
2810
2820
|
if (!this.$options.disableAutoPositionOnConflict) {
|
|
2811
2821
|
this.autoPositionItem(itemComponent);
|
|
@@ -2844,24 +2854,43 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2844
2854
|
const noNegativePosition = item.y > -1 && item.x > -1;
|
|
2845
2855
|
const maxGridCols = item.cols + item.x <= this.$options.maxCols;
|
|
2846
2856
|
const maxGridRows = item.rows + item.y <= this.$options.maxRows;
|
|
2847
|
-
const maxItemCols = item.maxItemCols === undefined
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
const
|
|
2857
|
+
const maxItemCols = item.maxItemCols === undefined
|
|
2858
|
+
? this.$options.maxItemCols
|
|
2859
|
+
: item.maxItemCols;
|
|
2860
|
+
const minItemCols = item.minItemCols === undefined
|
|
2861
|
+
? this.$options.minItemCols
|
|
2862
|
+
: item.minItemCols;
|
|
2863
|
+
const maxItemRows = item.maxItemRows === undefined
|
|
2864
|
+
? this.$options.maxItemRows
|
|
2865
|
+
: item.maxItemRows;
|
|
2866
|
+
const minItemRows = item.minItemRows === undefined
|
|
2867
|
+
? this.$options.minItemRows
|
|
2868
|
+
: item.minItemRows;
|
|
2851
2869
|
const inColsLimits = item.cols <= maxItemCols && item.cols >= minItemCols;
|
|
2852
2870
|
const inRowsLimits = item.rows <= maxItemRows && item.rows >= minItemRows;
|
|
2853
|
-
const minAreaLimit = item.minItemArea === undefined
|
|
2854
|
-
|
|
2871
|
+
const minAreaLimit = item.minItemArea === undefined
|
|
2872
|
+
? this.$options.minItemArea
|
|
2873
|
+
: item.minItemArea;
|
|
2874
|
+
const maxAreaLimit = item.maxItemArea === undefined
|
|
2875
|
+
? this.$options.maxItemArea
|
|
2876
|
+
: item.maxItemArea;
|
|
2855
2877
|
const area = item.cols * item.rows;
|
|
2856
2878
|
const inMinArea = minAreaLimit <= area;
|
|
2857
2879
|
const inMaxArea = maxAreaLimit >= area;
|
|
2858
|
-
return !(noNegativePosition &&
|
|
2880
|
+
return !(noNegativePosition &&
|
|
2881
|
+
maxGridCols &&
|
|
2882
|
+
maxGridRows &&
|
|
2883
|
+
inColsLimits &&
|
|
2884
|
+
inRowsLimits &&
|
|
2885
|
+
inMinArea &&
|
|
2886
|
+
inMaxArea);
|
|
2859
2887
|
}
|
|
2860
2888
|
findItemWithItem(item) {
|
|
2861
2889
|
let widgetsIndex = this.grid.length - 1, widget;
|
|
2862
2890
|
for (; widgetsIndex > -1; widgetsIndex--) {
|
|
2863
2891
|
widget = this.grid[widgetsIndex];
|
|
2864
|
-
if (widget.$item !== item &&
|
|
2892
|
+
if (widget.$item !== item &&
|
|
2893
|
+
GridsterComponent_1.checkCollisionTwoItems(widget.$item, item)) {
|
|
2865
2894
|
return widget;
|
|
2866
2895
|
}
|
|
2867
2896
|
}
|
|
@@ -2872,7 +2901,8 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2872
2901
|
let widgetsIndex = this.grid.length - 1, widget;
|
|
2873
2902
|
for (; widgetsIndex > -1; widgetsIndex--) {
|
|
2874
2903
|
widget = this.grid[widgetsIndex];
|
|
2875
|
-
if (widget.$item !== item &&
|
|
2904
|
+
if (widget.$item !== item &&
|
|
2905
|
+
GridsterComponent_1.checkCollisionTwoItems(widget.$item, item)) {
|
|
2876
2906
|
a.push(widget);
|
|
2877
2907
|
}
|
|
2878
2908
|
}
|
|
@@ -2888,8 +2918,8 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2888
2918
|
else {
|
|
2889
2919
|
itemComponent.notPlaced = true;
|
|
2890
2920
|
if (!this.$options.disableWarnings) {
|
|
2891
|
-
console.warn(
|
|
2892
|
-
JSON.stringify(itemComponent.item, [
|
|
2921
|
+
console.warn("Can't be placed in the bounds of the dashboard!/n" +
|
|
2922
|
+
JSON.stringify(itemComponent.item, ["cols", "rows", "x", "y"]));
|
|
2893
2923
|
}
|
|
2894
2924
|
}
|
|
2895
2925
|
}
|
|
@@ -2935,7 +2965,10 @@ let GridsterComponent = GridsterComponent_1 = class GridsterComponent {
|
|
|
2935
2965
|
getLastPossiblePosition(item) {
|
|
2936
2966
|
let farthestItem = { y: 0, x: 0 };
|
|
2937
2967
|
farthestItem = this.grid.reduce((prev, curr) => {
|
|
2938
|
-
const currCoords = {
|
|
2968
|
+
const currCoords = {
|
|
2969
|
+
y: curr.$item.y + curr.$item.rows - 1,
|
|
2970
|
+
x: curr.$item.x + curr.$item.cols - 1,
|
|
2971
|
+
};
|
|
2939
2972
|
if (GridsterUtils.compareItems(prev, currCoords) === 1) {
|
|
2940
2973
|
return currCoords;
|
|
2941
2974
|
}
|
|
@@ -2984,12 +3017,15 @@ __decorate([
|
|
|
2984
3017
|
], GridsterComponent.prototype, "options", void 0);
|
|
2985
3018
|
GridsterComponent = GridsterComponent_1 = __decorate([
|
|
2986
3019
|
Component({
|
|
2987
|
-
selector:
|
|
3020
|
+
selector: "gridster",
|
|
2988
3021
|
template: "<div class=\"gridster-column\" *ngFor=\"let column of gridColumns; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"></div>\r\n<div class=\"gridster-row\" *ngFor=\"let row of gridRows; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"></div>\r\n<ng-content></ng-content>\r\n<gridster-preview class=\"gridster-preview\"></gridster-preview>\r\n",
|
|
2989
3022
|
encapsulation: ViewEncapsulation.None,
|
|
2990
3023
|
styles: ["gridster{clear:both;position:relative;box-sizing:border-box;background:#fff;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block;overflow:auto}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto;flex-flow:column}gridster.mobile gridster-item{position:relative;width:100%!important;min-height:300px!important}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid #ccc;border-right:1px solid #ccc}gridster .gridster-row{border-top:1px solid #ccc;border-bottom:1px solid #ccc}"]
|
|
2991
3024
|
}),
|
|
2992
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
3025
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
3026
|
+
Renderer2,
|
|
3027
|
+
ChangeDetectorRef,
|
|
3028
|
+
NgZone])
|
|
2993
3029
|
], GridsterComponent);
|
|
2994
3030
|
|
|
2995
3031
|
class GridsterItemComponentInterface {
|