Browse Source

Merge pull request #250080 in DEC/fineui from master to feature/x

* commit 'd4411ffd548024bbc7481478ecbed56644022344':
  KERNEL-15856 fix:兼容定时调度
master
superman 1 year ago
parent
commit
a230191d79
  1. 9
      packages/fineui/src/core/5.inject.js
  2. 96
      packages/fineui/src/core/platform/web/jquery/jquery.polyfill.js
  3. 5
      packages/fineui/webpack/attachments.js

9
packages/fineui/src/core/5.inject.js

@ -601,3 +601,12 @@ export function getResource(type, config) {
}
throw new Error("unknown type: [" + type + "] undefined");
}
/**
* 根据 xtype 获取已被注册的类
* @param {string} xtype
* @returns
*/
export function getClass(xtype) {
return kv[xtype] || serviceInjection[xtype];
}

96
packages/fineui/src/core/platform/web/jquery/jquery.polyfill.js

@ -1,96 +0,0 @@
/**
* 用于 jquery worker 环境或者 V8 引擎的 polyfill
*/
// import { _global } from "@/core/0.foundation";
const _global = globalThis;
const document = {};
const fakeElement = Object.create(document);
Object.assign(document, {
parentNode: null,
nodeType: 9,
head: fakeElement,
body: fakeElement,
ownerDocument: document,
documentElement: document,
toString() {
return "FakeDocument";
},
appendChild(child) {
return child;
},
implementation: {
createHTMLDocument() {
return {
body: {
childNodes: [],
},
};
},
createDocumentFragment() {
return this;
},
},
getElementById() {
return fakeElement;
},
createElement() {
return fakeElement;
},
createDocumentFragment() {
return this;
},
cloneNode() {
return this;
},
getElementsByTagName() {
return [fakeElement];
},
getElementsByClassName() {
return [fakeElement];
},
setAttribute() {
return null;
},
getAttribute() {
return null;
},
removeChild() {
return null;
},
addEventListener() {
return null;
},
removeEventListener() {
return null;
},
});
Object.assign(fakeElement, {
nodeType: 1,
style: {},
ownerDocument: document,
parentNod: fakeElement,
firstChild: fakeElement,
lastChild: fakeElement,
toString() {
return "FakeElement";
},
});
function polyfillProps(key, obj) {
_global[key] = _global[key] || obj;
if (typeof obj === "object") {
try {
Object.assign(_global[key], obj);
} catch(err) {
// _global[key] 可能只有 get 方法
}
}
}
_global.window = _global;
polyfillProps("XMLHttpRequest", function () {});
polyfillProps("document", document);

5
packages/fineui/webpack/attachments.js

@ -1,6 +1,5 @@
const { sync, uniq } = require("./utils");
const jqueryPolyfill = "./src/core/platform/web/jquery/jquery.polyfill.js";
const configJS = "./src/core/platform/web/config.js";
const runtimePolyfill = ["core-js/stable"];
@ -40,7 +39,9 @@ const fineuiForWorker = [].concat(
);
const fineuiWithout_Jquery_Polyfill = [].concat(
basicAttachmentMap.js_without_Jquery_polyfill,
bundleCss,
basicAttachmentMap.polyfill,
basicAttachmentMap.js_bundle,
basicAttachmentMap.ts
);

Loading…
Cancel
Save