Skip to content

Commit

Permalink
Merge 1a50135 into 0f4292b
Browse files Browse the repository at this point in the history
  • Loading branch information
hackerwins committed Dec 24, 2018
2 parents 0f4292b + 1a50135 commit 3f41472
Show file tree
Hide file tree
Showing 46 changed files with 6,345 additions and 6,801 deletions.
3,304 changes: 1,615 additions & 1,689 deletions dist/summernote-bs4.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/summernote-bs4.js.map

Large diffs are not rendered by default.

3,004 changes: 1,465 additions & 1,539 deletions dist/summernote-lite.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/summernote-lite.js.map

Large diffs are not rendered by default.

3,302 changes: 1,614 additions & 1,688 deletions dist/summernote.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/summernote.js.map

Large diffs are not rendered by default.

8 changes: 7 additions & 1 deletion grunts/grunt-build.js
Expand Up @@ -18,6 +18,7 @@ module.exports = function (grunt) {
const rollupTypescript = require('rollup-plugin-typescript');
const typescript = require('typescript');
const replace = require('rollup-plugin-replace');
const resolve = require('rollup-plugin-node-resolve');

const inputOptions = {
external: ['jquery'],
Expand All @@ -28,7 +29,12 @@ module.exports = function (grunt) {
}),
replace({
delimiters: ['@@', '@@'],
VERSION: version
VERSION: version,
}),
resolve({
jsnext: true,
main: true,
browser: true
})
]
};
Expand Down
11 changes: 8 additions & 3 deletions karma.conf.js
Expand Up @@ -5,13 +5,17 @@ module.exports = function (config) {
logLevel: config.LOG_INFO,
files: [
{ pattern: 'src/js/**/*.js' },
{ pattern: 'test/**/*.spec.js' }
{ pattern: 'src/js/**/*.ts' },
{ pattern: 'test/**/*.spec.js' },
{ pattern: 'test/**/*.spec.ts' }
],
// Chrome, ChromeCanary, Firefox, Opera, Safari, PhantomJS, IE
browsers: ['ChromeHeadless'],
preprocessors: {
'src/js/**/*.js': ['karma-typescript'],
'test/**/*.spec.js': ['karma-typescript']
'src/js/**/*.ts': ['karma-typescript'],
'test/**/*.spec.js': ['karma-typescript'],
'test/**/*.spec.ts': ['karma-typescript']
},
reporters: ['dots', 'karma-typescript'],
coverageReporter: {
Expand All @@ -23,7 +27,8 @@ module.exports = function (config) {
karmaTypescriptConfig: {
tsconfig: './tsconfig.json',
include: [
'test/**/*.spec.js'
'test/**/*.spec.js',
'test/**/*.spec.ts'
],
bundlerOptions: {
entrypoints: /\.spec\.js$/,
Expand Down
5 changes: 5 additions & 0 deletions package.json
Expand Up @@ -24,6 +24,7 @@
"lint": "eslint src/js plugin lang test Gruntfile.js",
"download:selenium": "if [ ! -e test/libs/selenium-server-standalone.jar ]; then wget http://selenium-release.storage.googleapis.com/3.6/selenium-server-standalone-3.6.0.jar -O test/libs/selenium-server-standalone.jar; fi",
"test": "karma start karma.conf.js --single-run",
"test:watch": "karma start karma.conf.js",
"test:travis": "grunt test-travis --verbose",
"test:saucelabs": "grunt saucelabs-test"
},
Expand Down Expand Up @@ -82,9 +83,13 @@
"popper.js": "^1.14.6",
"rollup": "^0.68.1",
"rollup-plugin-eslint": "^5.0.0",
"rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-replace": "^2.1.0",
"rollup-plugin-typescript": "^1.0.0",
"serve-static": "^1.13.2",
"typescript": "^3.2.2"
},
"dependencies": {
"promise-polyfill": "^8.1.0"
}
}
24 changes: 12 additions & 12 deletions src/js/base/Context.js
@@ -1,7 +1,7 @@
import $ from 'jquery';
import func from './core/func';
import lists from './core/lists';
import dom from './core/dom';
import * as func from './core/func';
import { Lists } from './core/lists';
import { EMPTY_PARA, Nodes } from './core/dom';

export default class Context {
/**
Expand Down Expand Up @@ -44,7 +44,7 @@ export default class Context {
*/
reset() {
const disabled = this.isDisabled();
this.code(dom.emptyPara);
this.code(EMPTY_PARA);
this._destroy();
this._initialize();

Expand Down Expand Up @@ -124,8 +124,8 @@ export default class Context {
}

triggerEvent() {
const namespace = lists.head(arguments);
const args = lists.tail(lists.from(arguments));
const namespace = Lists.head(arguments);
const args = Lists.tail(Lists.from(arguments));

const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];
if (callback) {
Expand All @@ -148,7 +148,7 @@ export default class Context {

// attach events
if (module.events) {
dom.attachEvents(this.$note, module.events);
Nodes.attachEvents(this.$note, module.events);
}
}

Expand All @@ -168,7 +168,7 @@ export default class Context {
const module = this.modules[key];
if (module.shouldInitialize()) {
if (module.events) {
dom.detachEvents(this.$note, module.events);
Nodes.detachEvents(this.$note, module.events);
}

if (module.destroy) {
Expand Down Expand Up @@ -213,13 +213,13 @@ export default class Context {
}

invoke() {
const namespace = lists.head(arguments);
const args = lists.tail(lists.from(arguments));
const namespace = Lists.head(arguments);
const args = Lists.tail(Lists.from(arguments));

const splits = namespace.split('.');
const hasSeparator = splits.length > 1;
const moduleName = hasSeparator && lists.head(splits);
const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);
const moduleName = hasSeparator && Lists.head(splits);
const methodName = hasSeparator ? Lists.last(splits) : Lists.head(splits);

const module = this.modules[moduleName || 'editor'];
if (!moduleName && this[methodName]) {
Expand Down
32 changes: 11 additions & 21 deletions src/js/base/core/async.js → src/js/base/core/async.ts
@@ -1,47 +1,37 @@
import $ from 'jquery';
import PromiseImpl from 'promise-polyfill';

/**
* @method readFileAsDataURL
*
* read contents of file as representing URL
*
* @param {File} file
* @return {Promise} - then: dataUrl
*/
export function readFileAsDataURL(file) {
return $.Deferred((deferred) => {
export function readFileAsDataURL(file: File): Promise<string> {
return new PromiseImpl((resolve, reject) => {
$.extend(new FileReader(), {
onload: (e) => {
const dataURL = e.target.result;
deferred.resolve(dataURL);
resolve(dataURL);
},
onerror: (err) => {
deferred.reject(err);
reject(err);
},
}).readAsDataURL(file);
}).promise();
});
}

/**
* @method createImage
*
* create `<image>` from url string
*
* @param {String} url
* @return {Promise} - then: $image
*/
export function createImage(url) {
return $.Deferred((deferred) => {
export function createImage(url: string): Promise<any> {
return new PromiseImpl((resolve, reject) => {
const $img = $('<img>');

$img.one('load', () => {
$img.off('error abort');
deferred.resolve($img);
resolve($img);
}).one('error abort', () => {
$img.off('load').detach();
deferred.reject($img);
reject($img);
}).css({
display: 'none',
}).appendTo(document.body).attr('src', url);
}).promise();
});
}

0 comments on commit 3f41472

Please sign in to comment.