Browse Source

Merge branch 'es6' of ssh://code.fineres.com:7999/~treecat/fineui into es6

es6
Treecat 2 years ago
parent
commit
5e28bce210
  1. 1
      packages/fineui/package.json
  2. 1
      packages/fineui/src/base/index.js
  3. 14
      packages/fineui/src/component/allvaluechooser/abstract.allvaluechooser.js
  4. 15
      packages/fineui/src/polyfill/event.js
  5. 2
      packages/fineui/src/polyfill/index.js
  6. 34
      packages/fineui/src/polyfill/sort.js
  7. 184
      packages/fineui/webpack/attachments.js
  8. 2
      packages/fineui/webpack/webpack.dev.js

1
packages/fineui/package.json

@ -54,6 +54,7 @@
"jquery": "3.6.3" "jquery": "3.6.3"
}, },
"devDependencies": { "devDependencies": {
"core-js": "^3.30.2",
"cross-env": "^7.0.3" "cross-env": "^7.0.3"
} }
} }

1
packages/fineui/src/base/index.js

@ -10,3 +10,4 @@ export * from "./combination";
export * from "./layer"; export * from "./layer";
export * from "./list"; export * from "./list";
export * from "./single"; export * from "./single";
export * from "./el";

14
packages/fineui/src/component/allvaluechooser/abstract.allvaluechooser.js

@ -1,5 +1,4 @@
import { import {
shortcut,
Widget, Widget,
extend, extend,
emptyFn, emptyFn,
@ -17,7 +16,6 @@ import {
} from "@/core"; } from "@/core";
import { MultiSelectCombo } from "@/widget"; import { MultiSelectCombo } from "@/widget";
@shortcut()
export class AbstractAllValueChooser extends Widget { export class AbstractAllValueChooser extends Widget {
_const = { perPage: 100 }; _const = { perPage: 100 };
@ -42,12 +40,12 @@ export class AbstractAllValueChooser extends Widget {
// 需要考虑到value也可能是数字 // 需要考虑到value也可能是数字
if (item.value === v || `${item.value}` === v) { if (item.value === v || `${item.value}` === v) {
text = item.text; text = item.text;
return true; return true;
} }
}); });
} }
return text; return text;
} }
@ -56,7 +54,7 @@ export class AbstractAllValueChooser extends Widget {
for (let i = (times - 1) * this._const.perPage; items[i] && i < times * this._const.perPage; i++) { for (let i = (times - 1) * this._const.perPage; items[i] && i < times * this._const.perPage; i++) {
res.push(items[i]); res.push(items[i]);
} }
return res; return res;
} }
@ -99,12 +97,12 @@ export class AbstractAllValueChooser extends Widget {
callback({ callback({
items: resultItems, items: resultItems,
}); });
return; return;
} }
if (options.type === MultiSelectCombo.REQ_GET_DATA_LENGTH) { if (options.type === MultiSelectCombo.REQ_GET_DATA_LENGTH) {
callback({ count: resultItems.length }); callback({ count: resultItems.length });
return; return;
} }
callback({ callback({
@ -126,7 +124,7 @@ export class AbstractAllValueChooser extends Widget {
}; };
} }
} }
return value; return value;
} }
} }

15
packages/fineui/src/polyfill/event.js

@ -1,15 +0,0 @@
const isIE = () => typeof window.CustomEvent !== "function";
if (isIE()) {
function CustomEvent(event, params) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
const evt = document.createEvent("CustomEvent");
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
}
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
}

2
packages/fineui/src/polyfill/index.js

@ -1,3 +1 @@
export * from "./event";
export * from "./number"; export * from "./number";
export * from "./sort";

34
packages/fineui/src/polyfill/sort.js

@ -1,34 +0,0 @@
// 修复ie9下sort方法的bug
// IE的sort 需要显示声明返回-1, 0, 1三种比较结果才可正常工作,而Chrome, Firefox中可以直接返回true, false等
// BI-36544 sort提供的参数就可以自定义返回值,不需要特别控制。这边使用冒泡相较于快排可能慢了点。
// 这边先将webkit的限制去掉
!function (window) {
var ua = window.navigator.userAgent.toLowerCase(),
reg = /msie/;
if (reg.test(ua)) {
var _sort = Array.prototype.sort;
Array.prototype.sort = function (fn) {
if (!!fn && typeof fn === "function") {
if (this.length < 2) {
return this;
}
var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0;
for (; i < l; i++) {
for (j = i + 1; j < l; j++) {
t = fn.call(this, this[i], this[j]);
r = (typeof t === "number" ? t :
t ? 1 : 0) > 0;
if (r === true) {
tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
}
}
return this;
}
return _sort.call(this);
};
}
}(window);

184
packages/fineui/webpack/attachments.js

@ -1,70 +1,16 @@
const { sync, uniq } = require("./utils"); const { sync, uniq } = require("./utils");
const workerCompact = "./dist/fix/worker.compact.js";
const lodashJs = "src/core/1.lodash.js";
const jqueryPolyfill = "./src/core/platform/web/jquery/jquery.polyfill.js"; const jqueryPolyfill = "./src/core/platform/web/jquery/jquery.polyfill.js";
const configJS = "./src/core/platform/web/config.js"; const configJS = "./src/core/platform/web/config.js";
const runtimePolyfill = []; const runtimePolyfill = ["core-js/stable"];
const basicAttachmentMap = { const basicAttachmentMap = {
polyfill: sync(["src/core/0.foundation.js", "src/polyfill/**/*.js"]).concat(runtimePolyfill), polyfill: sync(["src/polyfill/**/*.js"]).concat(runtimePolyfill),
core: sync([
"src/less/core/**/*.less",
"src/less/theme/**/*.less"
// lodashJs,
// jqueryJs,
// "src/core/**/*.js",
// "src/data/**/*.js",
]),
// 最基础的控件
base: sync([
"src/less/base/**/*.less"
// "src/third/**/*.js",
// "src/base/**/*.js",
]),
// 实现好的一些基础实例
case: sync([
// "src/case/**/*.js",
"src/less/case/**/*.less"
]),
widget: sync([
"src/less/widget/**/*.less",
"src/less/component/**/*.less"
// "src/widget/**/*.js",
// "src/component/**/*.js",
]),
router: sync(["src/router/**/*.js"]),
core_without_platform: sync(
["src/core/0.foundation.js", lodashJs, "src/core/**/*.js", "src/data/**/*.js"],
["src/core/platform/**/*.js", "src/core/controller/**/*.js"]
),
core_without_normalize: sync(
["src/less/core/**/*.less", "src/less/theme/**/*.less"],
["src/less/core/normalize.less", "src/less/core/normalize2.less"]
),
core_without_conflict: sync(
["src/less/core/**/*.less", "src/less/theme/**/*.less", lodashJs, "src/core/**/*.js", "src/data/**/*.js"],
["src/core/conflict.js"]
),
resource: sync(["src/less/resource/**/*.less"]), resource: sync(["src/less/resource/**/*.less"]),
font: sync(["public/less/font.less"]), font: sync(["public/less/font.less"]),
ts: ["./typescript/bundle.ts"], ts: ["./typescript/bundle.ts"],
ui: sync(["ui/less/app.less", "ui/less/**/*.less", "ui/js/**/*.js"]), ui: sync(["ui/less/app.less", "ui/less/**/*.less", "ui/js/**/*.js"]),
config: sync(["demo/version.js", "i18n/i18n.cn.js"]),
utils: sync([
"src/core/0.foundation.js",
lodashJs,
"src/core/constant/**/*.js",
"src/core/func/**/*.js",
"src/core/2.base.js",
"src/core/3.ob.js",
"src/core/5.inject.js",
"src/core/utils/*.js",
"i18n/i18n.cn.js",
"_mobile/date.i18n.cn.js",
"src/data/**/*.js"
]),
less: sync([ less: sync([
"src/less/core/**/*.less", "src/less/core/**/*.less",
"src/less/theme/**/*.less", "src/less/theme/**/*.less",
@ -76,69 +22,8 @@ const basicAttachmentMap = {
js_bundle: sync(["src/bundle.js"]) js_bundle: sync(["src/bundle.js"])
}; };
const bundle = [].concat(
basicAttachmentMap.polyfill,
basicAttachmentMap.core,
basicAttachmentMap.fix,
basicAttachmentMap.base,
basicAttachmentMap.case,
basicAttachmentMap.widget,
sync(["public/less/app.less", "public/less/**/*.less"]),
[workerCompact],
basicAttachmentMap.router,
sync(["public/js/**/*.js", "public/js/index.js", "i18n/i18n.cn.js"]),
basicAttachmentMap.ts
);
const bundleCss = [].concat(basicAttachmentMap.less, sync(["public/less/app.less", "public/less/**/*.less"])); const bundleCss = [].concat(basicAttachmentMap.less, sync(["public/less/app.less", "public/less/**/*.less"]));
// const bundleModern = [].concat(
// sync(["src/less/modern.less"]),
// sync(["public/modern/app.less", "public/modern/**/*.less"]),
// );
const coreJs = [].concat(
basicAttachmentMap.polyfill,
basicAttachmentMap.core,
basicAttachmentMap.fix,
basicAttachmentMap.base,
basicAttachmentMap.case,
basicAttachmentMap.widget,
basicAttachmentMap.router,
basicAttachmentMap.ts
);
const resource = sync(["private/less/app.less", "private/less/**/*.less"]);
const config = sync(["public/js/**/*.js", "public/js/index.js", "i18n/i18n.cn.js"]);
const bundleWithoutNormalize = [].concat(
basicAttachmentMap.core_without_normalize,
sync(
[
"src/less/base/**/*.less",
"src/less/case/**/*.less",
"src/less/widget/**/*.less",
"src/less/component/**/*.less",
"public/less/**/*.less"
// ts的less
],
["public/less/app.less"]
)
);
const fineuiWithoutNormalize = [].concat(
basicAttachmentMap.core_without_normalize,
sync([
"src/less/base/**/*.less",
"src/less/case/**/*.less",
"src/less/widget/**/*.less",
"src/less/component/**/*.less",
"ui/less/app.less",
"ui/less/**/*.less"
])
);
const fineui = [].concat( const fineui = [].concat(
bundleCss, bundleCss,
basicAttachmentMap.polyfill, basicAttachmentMap.polyfill,
@ -155,70 +40,7 @@ const fineuiForWorker = [].concat(
basicAttachmentMap.ts basicAttachmentMap.ts
); );
const fineuiWithoutConflict = [].concat(
basicAttachmentMap.core_without_conflict,
basicAttachmentMap.fix,
basicAttachmentMap.base,
basicAttachmentMap.case,
basicAttachmentMap.widget,
basicAttachmentMap.router,
[workerCompact],
basicAttachmentMap.ui,
basicAttachmentMap.ts,
basicAttachmentMap.polyfill
);
// const fineuiModern = [].concat(
// sync(["src/less/modern.less"]),
// sync([
// 'ui/modern/app.less',
// 'ui/modern/**/*.less',
// ]),
// );
const fineuiProxy = [].concat(
basicAttachmentMap.polyfill,
basicAttachmentMap.core,
basicAttachmentMap.fixProxy,
basicAttachmentMap.base,
basicAttachmentMap.case,
basicAttachmentMap.widget,
basicAttachmentMap.router,
[workerCompact],
basicAttachmentMap.ui,
basicAttachmentMap.ts
);
const demo = [].concat(
basicAttachmentMap.polyfill,
basicAttachmentMap.core,
basicAttachmentMap.fix,
basicAttachmentMap.config,
basicAttachmentMap.base,
basicAttachmentMap.case,
basicAttachmentMap.widget,
basicAttachmentMap.router,
sync(["public/less/app.less", "public/less/**/*.less"]),
[workerCompact],
basicAttachmentMap.ts,
sync(["demo/less/*.less", "demo/less/**/*.less", "demo/app.js", "demo/js/**/*.js", "demo/config.js"])
);
module.exports = { module.exports = {
lodash: lodashJs,
font: basicAttachmentMap.font,
bundle: uniq(bundle),
fineuiWithoutNormalize: uniq(fineuiWithoutNormalize),
fineuiWithoutConflict: uniq(fineuiWithoutConflict),
bundleWithoutNormalize: uniq(bundleWithoutNormalize),
fineui: uniq(fineui), fineui: uniq(fineui),
fineuiProxy: uniq(fineuiProxy), fineuiForWorker: uniq(fineuiForWorker)
fineuiForWorker: uniq(fineuiForWorker),
utils: uniq(basicAttachmentMap.utils),
demo: uniq(demo),
coreWithoutPlatform: uniq(basicAttachmentMap.core_without_platform),
coreJs: uniq(coreJs),
resource: uniq(resource),
config: uniq(config),
bundleCss: uniq(bundleCss)
}; };

2
packages/fineui/webpack/webpack.dev.js

@ -16,5 +16,5 @@ module.exports = merge(common, {
devServer: { devServer: {
port: 9001, port: 9001,
// liveReload: true, // liveReload: true,
}, }
}); });

Loading…
Cancel
Save