From d74b495736f0c04522ec54274b70fed0ded2878d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 11:30:06 +0800
Subject: [PATCH] 任务新增导出
---
public/map/controls/loader/Loader.js | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 158 insertions(+), 0 deletions(-)
diff --git a/public/map/controls/loader/Loader.js b/public/map/controls/loader/Loader.js
new file mode 100644
index 0000000..43bf93e
--- /dev/null
+++ b/public/map/controls/loader/Loader.js
@@ -0,0 +1,158 @@
+define([
+ "dojo",
+ "dojo/_base/declare",
+ "dijit/_WidgetBase",
+ "dojo/dom-construct",
+ "dojo/dom-attr",
+ "dojo/dom-geometry",
+ "dojo/window",
+ "dojo/dom-style",
+ "dojo/query",
+ "dojo/_base/lang",
+ "dojo/_base/fx",
+ "dojo/on",
+ "dojo/fx",
+], function(
+ dojo,
+ declare,
+ _WidgetBase,
+ domConstruct,
+ domAttr,
+ domGeometry,
+ win,
+ domStyle,
+ query,
+ lang,
+ fx,
+ on,
+ dojofx
+) {
+ var RL = declare([_WidgetBase], {
+
+ /**
+ * 背景
+ */
+ _divbg: null,
+ _divContent: null,
+ _span: null,
+ _refNode: null,
+ /**
+ * 是否已经在显示
+ */
+ _isShow: false,
+ _effectHandler: null,
+ constructor: function(params, srcNodeRef, refNode) {
+ var csspath = require.toUrl("controls/loader/Loader.css");
+ dojo.create("link", {
+ href: csspath,
+ type: 'text/css',
+ rel: 'stylesheet'
+ },
+ document.getElementsByTagName('head')[0]);
+ if (refNode) {
+ this._refNode = refNode;
+ } else {
+ this._refNode = query("body")[0];
+ }
+ },
+ postCreate: function() {
+ this._divbg = domConstruct.create("div", {
+ "class": "loader-background"
+ });
+ this._divContent = domConstruct.create("div", {
+ "class": "loader-content"
+ });
+ this._span = domConstruct.create("span", {
+ "class": "loader-text",
+ "innerHTML": "正在加载,请稍等......"
+ });
+ },
+ show: function(loadtext,opts) {
+ if (loadtext !== undefined) {
+ this._span.innerHTML = loadtext;
+ } else {
+ this._span.innerHTML = "正在加载,请稍等......";
+ }
+ if (this._isShow) {
+ if (this._effectHandler) {
+ this._effectHandler.stop();
+ this._effectHandler = null;
+ }
+ return;
+ }
+ var left;
+ var top;
+
+ var vs = win.getBox();
+ // left = (vs.w/2)-(domStyle.get(this._divContent,"width")/2);
+ // top = (vs.h/2)-(domStyle.get(this._divContent,"height")/2);
+ if (opts) {
+ //var pos=,true);
+ domStyle.set(this._refNode, "width", opts.w + "px");
+ domStyle.set(this._refNode, "height", opts.h + "px");
+ left = opts.x- (206 / 2);
+ top = opts.y- (61 / 2);
+ } else{
+ left = (vs.w / 2) - (206 / 2);
+ top = (vs.h / 2) - (61 / 2);
+ }
+
+ domStyle.set(this._divContent, "top", top.toString() + "px");
+ domStyle.set(this._divContent, "left", left.toString() + "px");
+ this._isShow = true;
+ var refNode = this._refNode;
+ domConstruct.place(this._divbg, refNode);
+ domStyle.set(this._divbg, "opacity", "0.3");
+ domConstruct.place(this._divContent, refNode);
+ domStyle.set(this._divContent, "opacity", "0");
+ domConstruct.place(this._span, this._divContent);
+ fx.animateProperty({
+ node: this._divbg,
+ properties: {
+ opacity: {
+ start: 0,
+ end: 0.3
+ }
+ }
+ }).play();
+ fx.fadeIn({
+ node: this._divContent
+ }).play();
+ //fx.fadeOut({ node: this._span }).play();
+ },
+ hide: function() {
+ if (this._isShow == false) {
+ return;
+ }
+ //refNode = query("body")[0];
+ var fade1 = fx.animateProperty({
+ node: this._divbg,
+ properties: {
+ opacity: {
+ start: 0.3,
+ end: 0
+ }
+ }
+ });
+ var fade2 = fx.animateProperty({
+ node: this._divContent,
+ properties: {
+ opacity: {
+ start: 1,
+ end: 0
+ }
+ }
+ });
+ var combine = dojofx.combine([fade1, fade2]);
+
+ on(fade2, "End", lang.hitch(this, function() {
+ domConstruct.destroy(this._divbg);
+ domConstruct.destroy(this._divContent);
+ this._isShow = false;
+ this._effectHandler = null;
+ }));
+ this._effectHandler = combine.play();
+ }
+ });
+ return RL;
+});
\ No newline at end of file
--
Gitblit v1.9.3