@textbus/platform-browser 3.0.0-alpha.40 → 3.0.0-alpha.41

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.
@@ -2199,142 +2199,140 @@ OutputTranslator = OutputTranslator_1 = __decorate([
2199
2199
  /**
2200
2200
  * Textbus PC 端默认按键绑定
2201
2201
  */
2202
- class DefaultShortcut {
2203
- setup(injector) {
2204
- const selection = injector.get(Selection);
2205
- const keyboard = injector.get(Keyboard);
2206
- const history = injector.get(History);
2207
- const commander = injector.get(Commander);
2208
- keyboard.addShortcut({
2209
- keymap: {
2210
- key: 'Enter'
2211
- },
2212
- action: () => {
2213
- commander.break();
2214
- }
2215
- });
2216
- keyboard.addShortcut({
2217
- keymap: {
2218
- key: 'Enter',
2219
- shiftKey: true
2220
- },
2221
- action: () => {
2222
- const startOffset = selection.startOffset;
2223
- const startSlot = selection.startSlot;
2224
- const isToEnd = startOffset === startSlot.length || startSlot.isEmpty;
2225
- const content = isToEnd ? '\n\n' : '\n';
2226
- const isInserted = commander.insert(content);
2227
- if (isInserted && isToEnd) {
2228
- selection.setPosition(startSlot, startOffset + 1);
2229
- }
2230
- }
2231
- });
2232
- keyboard.addShortcut({
2233
- keymap: {
2234
- key: ['Delete', 'Backspace']
2235
- },
2236
- action: (key) => {
2237
- commander.delete(key === 'Backspace');
2238
- }
2239
- });
2240
- keyboard.addShortcut({
2241
- keymap: {
2242
- key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']
2243
- },
2244
- action: (key) => {
2245
- switch (key) {
2246
- case 'ArrowLeft':
2247
- selection.toPrevious();
2248
- break;
2249
- case 'ArrowRight':
2250
- selection.toNext();
2251
- break;
2252
- case 'ArrowUp':
2253
- selection.toPreviousLine();
2254
- break;
2255
- case 'ArrowDown':
2256
- selection.toNextLine();
2257
- break;
2258
- }
2259
- }
2260
- });
2261
- keyboard.addShortcut({
2262
- keymap: {
2263
- key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'],
2264
- shiftKey: true
2265
- },
2266
- action: (key) => {
2267
- switch (key) {
2268
- case 'ArrowLeft':
2269
- selection.wrapToBefore();
2270
- break;
2271
- case 'ArrowRight':
2272
- selection.wrapToAfter();
2273
- break;
2274
- case 'ArrowUp':
2275
- selection.wrapToPreviousLine();
2276
- break;
2277
- case 'ArrowDown':
2278
- selection.wrapToNextLine();
2279
- break;
2280
- }
2281
- }
2282
- });
2283
- keyboard.addShortcut({
2284
- keymap: {
2285
- key: 'Tab'
2286
- },
2287
- action: () => {
2288
- commander.insert(' ');
2289
- }
2290
- });
2291
- keyboard.addShortcut({
2292
- keymap: {
2293
- key: 'a',
2294
- ctrlKey: true
2295
- },
2296
- action: () => {
2297
- selection.selectAll();
2298
- }
2299
- });
2300
- keyboard.addShortcut({
2301
- keymap: {
2302
- key: 'c',
2303
- ctrlKey: true
2304
- },
2305
- action: () => {
2306
- commander.copy();
2307
- }
2308
- });
2309
- keyboard.addShortcut({
2310
- keymap: {
2311
- key: 'x',
2312
- ctrlKey: true
2313
- },
2314
- action: () => {
2315
- commander.cut();
2316
- }
2317
- });
2318
- keyboard.addShortcut({
2319
- keymap: {
2320
- key: 'z',
2321
- ctrlKey: true
2322
- },
2323
- action: () => {
2324
- history.back();
2325
- }
2326
- });
2327
- keyboard.addShortcut({
2328
- keymap: {
2329
- key: 'z',
2330
- ctrlKey: true,
2331
- shiftKey: true
2332
- },
2333
- action: () => {
2334
- history.forward();
2335
- }
2336
- });
2337
- }
2202
+ function setDefaultShortcut(injector) {
2203
+ const selection = injector.get(Selection);
2204
+ const keyboard = injector.get(Keyboard);
2205
+ const history = injector.get(History);
2206
+ const commander = injector.get(Commander);
2207
+ keyboard.addShortcut({
2208
+ keymap: {
2209
+ key: 'Enter'
2210
+ },
2211
+ action: () => {
2212
+ commander.break();
2213
+ }
2214
+ });
2215
+ keyboard.addShortcut({
2216
+ keymap: {
2217
+ key: 'Enter',
2218
+ shiftKey: true
2219
+ },
2220
+ action: () => {
2221
+ const startOffset = selection.startOffset;
2222
+ const startSlot = selection.startSlot;
2223
+ const isToEnd = startOffset === startSlot.length || startSlot.isEmpty;
2224
+ const content = isToEnd ? '\n\n' : '\n';
2225
+ const isInserted = commander.insert(content);
2226
+ if (isInserted && isToEnd) {
2227
+ selection.setPosition(startSlot, startOffset + 1);
2228
+ }
2229
+ }
2230
+ });
2231
+ keyboard.addShortcut({
2232
+ keymap: {
2233
+ key: ['Delete', 'Backspace']
2234
+ },
2235
+ action: (key) => {
2236
+ commander.delete(key === 'Backspace');
2237
+ }
2238
+ });
2239
+ keyboard.addShortcut({
2240
+ keymap: {
2241
+ key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']
2242
+ },
2243
+ action: (key) => {
2244
+ switch (key) {
2245
+ case 'ArrowLeft':
2246
+ selection.toPrevious();
2247
+ break;
2248
+ case 'ArrowRight':
2249
+ selection.toNext();
2250
+ break;
2251
+ case 'ArrowUp':
2252
+ selection.toPreviousLine();
2253
+ break;
2254
+ case 'ArrowDown':
2255
+ selection.toNextLine();
2256
+ break;
2257
+ }
2258
+ }
2259
+ });
2260
+ keyboard.addShortcut({
2261
+ keymap: {
2262
+ key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'],
2263
+ shiftKey: true
2264
+ },
2265
+ action: (key) => {
2266
+ switch (key) {
2267
+ case 'ArrowLeft':
2268
+ selection.wrapToBefore();
2269
+ break;
2270
+ case 'ArrowRight':
2271
+ selection.wrapToAfter();
2272
+ break;
2273
+ case 'ArrowUp':
2274
+ selection.wrapToPreviousLine();
2275
+ break;
2276
+ case 'ArrowDown':
2277
+ selection.wrapToNextLine();
2278
+ break;
2279
+ }
2280
+ }
2281
+ });
2282
+ keyboard.addShortcut({
2283
+ keymap: {
2284
+ key: 'Tab'
2285
+ },
2286
+ action: () => {
2287
+ commander.insert(' ');
2288
+ }
2289
+ });
2290
+ keyboard.addShortcut({
2291
+ keymap: {
2292
+ key: 'a',
2293
+ ctrlKey: true
2294
+ },
2295
+ action: () => {
2296
+ selection.selectAll();
2297
+ }
2298
+ });
2299
+ keyboard.addShortcut({
2300
+ keymap: {
2301
+ key: 'c',
2302
+ ctrlKey: true
2303
+ },
2304
+ action: () => {
2305
+ commander.copy();
2306
+ }
2307
+ });
2308
+ keyboard.addShortcut({
2309
+ keymap: {
2310
+ key: 'x',
2311
+ ctrlKey: true
2312
+ },
2313
+ action: () => {
2314
+ commander.cut();
2315
+ }
2316
+ });
2317
+ keyboard.addShortcut({
2318
+ keymap: {
2319
+ key: 'z',
2320
+ ctrlKey: true
2321
+ },
2322
+ action: () => {
2323
+ history.back();
2324
+ }
2325
+ });
2326
+ keyboard.addShortcut({
2327
+ keymap: {
2328
+ key: 'z',
2329
+ ctrlKey: true,
2330
+ shiftKey: true
2331
+ },
2332
+ action: () => {
2333
+ history.forward();
2334
+ }
2335
+ });
2338
2336
  }
2339
2337
 
2340
2338
  const editorError = makeError('CoreEditor');
@@ -2370,7 +2368,7 @@ class Viewer extends Starter {
2370
2368
  provide: Viewer,
2371
2369
  useFactory: () => this
2372
2370
  }];
2373
- super(Object.assign(Object.assign({}, options), { plugins: [...(options.plugins || []), () => new DefaultShortcut()], providers: [
2371
+ super(Object.assign(Object.assign({}, options), { plugins: options.plugins || [], providers: [
2374
2372
  ...(options.providers || []),
2375
2373
  ...staticProviders,
2376
2374
  DomRenderer,
@@ -2441,6 +2439,7 @@ class Viewer extends Starter {
2441
2439
  this.saveEvent.next();
2442
2440
  }
2443
2441
  });
2442
+ setDefaultShortcut(this);
2444
2443
  let component;
2445
2444
  const content = this.options.content;
2446
2445
  if (content) {
@@ -2688,4 +2687,4 @@ class Viewer extends Starter {
2688
2687
  }
2689
2688
  }
2690
2689
 
2691
- export { CollaborateCursor, CollaborateSelectionAwarenessDelegate, DefaultShortcut, DomRenderer, EDITOR_OPTIONS, Input, MagicInput, NativeInput, OutputTranslator, Parser, SelectionBridge, VIEW_CONTAINER, VIEW_DOCUMENT, VIEW_MASK, Viewer, createElement, createTextNode, getLayoutRectByRange, isMac, isSafari, isWindows };
2690
+ export { CollaborateCursor, CollaborateSelectionAwarenessDelegate, DomRenderer, EDITOR_OPTIONS, Input, MagicInput, NativeInput, OutputTranslator, Parser, SelectionBridge, VIEW_CONTAINER, VIEW_DOCUMENT, VIEW_MASK, Viewer, createElement, createTextNode, getLayoutRectByRange, isMac, isSafari, isWindows, setDefaultShortcut };
package/bundles/index.js CHANGED
@@ -2201,142 +2201,140 @@ exports.OutputTranslator = OutputTranslator_1 = __decorate([
2201
2201
  /**
2202
2202
  * Textbus PC 端默认按键绑定
2203
2203
  */
2204
- class DefaultShortcut {
2205
- setup(injector) {
2206
- const selection = injector.get(core.Selection);
2207
- const keyboard = injector.get(core.Keyboard);
2208
- const history = injector.get(core.History);
2209
- const commander = injector.get(core.Commander);
2210
- keyboard.addShortcut({
2211
- keymap: {
2212
- key: 'Enter'
2213
- },
2214
- action: () => {
2215
- commander.break();
2216
- }
2217
- });
2218
- keyboard.addShortcut({
2219
- keymap: {
2220
- key: 'Enter',
2221
- shiftKey: true
2222
- },
2223
- action: () => {
2224
- const startOffset = selection.startOffset;
2225
- const startSlot = selection.startSlot;
2226
- const isToEnd = startOffset === startSlot.length || startSlot.isEmpty;
2227
- const content = isToEnd ? '\n\n' : '\n';
2228
- const isInserted = commander.insert(content);
2229
- if (isInserted && isToEnd) {
2230
- selection.setPosition(startSlot, startOffset + 1);
2231
- }
2232
- }
2233
- });
2234
- keyboard.addShortcut({
2235
- keymap: {
2236
- key: ['Delete', 'Backspace']
2237
- },
2238
- action: (key) => {
2239
- commander.delete(key === 'Backspace');
2240
- }
2241
- });
2242
- keyboard.addShortcut({
2243
- keymap: {
2244
- key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']
2245
- },
2246
- action: (key) => {
2247
- switch (key) {
2248
- case 'ArrowLeft':
2249
- selection.toPrevious();
2250
- break;
2251
- case 'ArrowRight':
2252
- selection.toNext();
2253
- break;
2254
- case 'ArrowUp':
2255
- selection.toPreviousLine();
2256
- break;
2257
- case 'ArrowDown':
2258
- selection.toNextLine();
2259
- break;
2260
- }
2261
- }
2262
- });
2263
- keyboard.addShortcut({
2264
- keymap: {
2265
- key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'],
2266
- shiftKey: true
2267
- },
2268
- action: (key) => {
2269
- switch (key) {
2270
- case 'ArrowLeft':
2271
- selection.wrapToBefore();
2272
- break;
2273
- case 'ArrowRight':
2274
- selection.wrapToAfter();
2275
- break;
2276
- case 'ArrowUp':
2277
- selection.wrapToPreviousLine();
2278
- break;
2279
- case 'ArrowDown':
2280
- selection.wrapToNextLine();
2281
- break;
2282
- }
2283
- }
2284
- });
2285
- keyboard.addShortcut({
2286
- keymap: {
2287
- key: 'Tab'
2288
- },
2289
- action: () => {
2290
- commander.insert(' ');
2291
- }
2292
- });
2293
- keyboard.addShortcut({
2294
- keymap: {
2295
- key: 'a',
2296
- ctrlKey: true
2297
- },
2298
- action: () => {
2299
- selection.selectAll();
2300
- }
2301
- });
2302
- keyboard.addShortcut({
2303
- keymap: {
2304
- key: 'c',
2305
- ctrlKey: true
2306
- },
2307
- action: () => {
2308
- commander.copy();
2309
- }
2310
- });
2311
- keyboard.addShortcut({
2312
- keymap: {
2313
- key: 'x',
2314
- ctrlKey: true
2315
- },
2316
- action: () => {
2317
- commander.cut();
2318
- }
2319
- });
2320
- keyboard.addShortcut({
2321
- keymap: {
2322
- key: 'z',
2323
- ctrlKey: true
2324
- },
2325
- action: () => {
2326
- history.back();
2327
- }
2328
- });
2329
- keyboard.addShortcut({
2330
- keymap: {
2331
- key: 'z',
2332
- ctrlKey: true,
2333
- shiftKey: true
2334
- },
2335
- action: () => {
2336
- history.forward();
2337
- }
2338
- });
2339
- }
2204
+ function setDefaultShortcut(injector) {
2205
+ const selection = injector.get(core.Selection);
2206
+ const keyboard = injector.get(core.Keyboard);
2207
+ const history = injector.get(core.History);
2208
+ const commander = injector.get(core.Commander);
2209
+ keyboard.addShortcut({
2210
+ keymap: {
2211
+ key: 'Enter'
2212
+ },
2213
+ action: () => {
2214
+ commander.break();
2215
+ }
2216
+ });
2217
+ keyboard.addShortcut({
2218
+ keymap: {
2219
+ key: 'Enter',
2220
+ shiftKey: true
2221
+ },
2222
+ action: () => {
2223
+ const startOffset = selection.startOffset;
2224
+ const startSlot = selection.startSlot;
2225
+ const isToEnd = startOffset === startSlot.length || startSlot.isEmpty;
2226
+ const content = isToEnd ? '\n\n' : '\n';
2227
+ const isInserted = commander.insert(content);
2228
+ if (isInserted && isToEnd) {
2229
+ selection.setPosition(startSlot, startOffset + 1);
2230
+ }
2231
+ }
2232
+ });
2233
+ keyboard.addShortcut({
2234
+ keymap: {
2235
+ key: ['Delete', 'Backspace']
2236
+ },
2237
+ action: (key) => {
2238
+ commander.delete(key === 'Backspace');
2239
+ }
2240
+ });
2241
+ keyboard.addShortcut({
2242
+ keymap: {
2243
+ key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']
2244
+ },
2245
+ action: (key) => {
2246
+ switch (key) {
2247
+ case 'ArrowLeft':
2248
+ selection.toPrevious();
2249
+ break;
2250
+ case 'ArrowRight':
2251
+ selection.toNext();
2252
+ break;
2253
+ case 'ArrowUp':
2254
+ selection.toPreviousLine();
2255
+ break;
2256
+ case 'ArrowDown':
2257
+ selection.toNextLine();
2258
+ break;
2259
+ }
2260
+ }
2261
+ });
2262
+ keyboard.addShortcut({
2263
+ keymap: {
2264
+ key: ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'],
2265
+ shiftKey: true
2266
+ },
2267
+ action: (key) => {
2268
+ switch (key) {
2269
+ case 'ArrowLeft':
2270
+ selection.wrapToBefore();
2271
+ break;
2272
+ case 'ArrowRight':
2273
+ selection.wrapToAfter();
2274
+ break;
2275
+ case 'ArrowUp':
2276
+ selection.wrapToPreviousLine();
2277
+ break;
2278
+ case 'ArrowDown':
2279
+ selection.wrapToNextLine();
2280
+ break;
2281
+ }
2282
+ }
2283
+ });
2284
+ keyboard.addShortcut({
2285
+ keymap: {
2286
+ key: 'Tab'
2287
+ },
2288
+ action: () => {
2289
+ commander.insert(' ');
2290
+ }
2291
+ });
2292
+ keyboard.addShortcut({
2293
+ keymap: {
2294
+ key: 'a',
2295
+ ctrlKey: true
2296
+ },
2297
+ action: () => {
2298
+ selection.selectAll();
2299
+ }
2300
+ });
2301
+ keyboard.addShortcut({
2302
+ keymap: {
2303
+ key: 'c',
2304
+ ctrlKey: true
2305
+ },
2306
+ action: () => {
2307
+ commander.copy();
2308
+ }
2309
+ });
2310
+ keyboard.addShortcut({
2311
+ keymap: {
2312
+ key: 'x',
2313
+ ctrlKey: true
2314
+ },
2315
+ action: () => {
2316
+ commander.cut();
2317
+ }
2318
+ });
2319
+ keyboard.addShortcut({
2320
+ keymap: {
2321
+ key: 'z',
2322
+ ctrlKey: true
2323
+ },
2324
+ action: () => {
2325
+ history.back();
2326
+ }
2327
+ });
2328
+ keyboard.addShortcut({
2329
+ keymap: {
2330
+ key: 'z',
2331
+ ctrlKey: true,
2332
+ shiftKey: true
2333
+ },
2334
+ action: () => {
2335
+ history.forward();
2336
+ }
2337
+ });
2340
2338
  }
2341
2339
 
2342
2340
  const editorError = core.makeError('CoreEditor');
@@ -2372,7 +2370,7 @@ class Viewer extends core.Starter {
2372
2370
  provide: Viewer,
2373
2371
  useFactory: () => this
2374
2372
  }];
2375
- super(Object.assign(Object.assign({}, options), { plugins: [...(options.plugins || []), () => new DefaultShortcut()], providers: [
2373
+ super(Object.assign(Object.assign({}, options), { plugins: options.plugins || [], providers: [
2376
2374
  ...(options.providers || []),
2377
2375
  ...staticProviders,
2378
2376
  exports.DomRenderer,
@@ -2443,6 +2441,7 @@ class Viewer extends core.Starter {
2443
2441
  this.saveEvent.next();
2444
2442
  }
2445
2443
  });
2444
+ setDefaultShortcut(this);
2446
2445
  let component;
2447
2446
  const content = this.options.content;
2448
2447
  if (content) {
@@ -2691,7 +2690,6 @@ class Viewer extends core.Starter {
2691
2690
  }
2692
2691
 
2693
2692
  exports.CollaborateSelectionAwarenessDelegate = CollaborateSelectionAwarenessDelegate;
2694
- exports.DefaultShortcut = DefaultShortcut;
2695
2693
  exports.EDITOR_OPTIONS = EDITOR_OPTIONS;
2696
2694
  exports.Input = Input;
2697
2695
  exports.VIEW_CONTAINER = VIEW_CONTAINER;
@@ -2704,3 +2702,4 @@ exports.getLayoutRectByRange = getLayoutRectByRange;
2704
2702
  exports.isMac = isMac;
2705
2703
  exports.isSafari = isSafari;
2706
2704
  exports.isWindows = isWindows;
2705
+ exports.setDefaultShortcut = setDefaultShortcut;
@@ -1,8 +1,5 @@
1
1
  import { Injector } from '@tanbo/di';
2
- import { Plugin } from '@textbus/core';
3
2
  /**
4
3
  * Textbus PC 端默认按键绑定
5
4
  */
6
- export declare class DefaultShortcut implements Plugin {
7
- setup(injector: Injector): void;
8
- }
5
+ export declare function setDefaultShortcut(injector: Injector): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbus/platform-browser",
3
- "version": "3.0.0-alpha.40",
3
+ "version": "3.0.0-alpha.41",
4
4
  "description": "Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.",
5
5
  "main": "./bundles/index.js",
6
6
  "module": "./bundles/index.esm.js",
@@ -48,5 +48,5 @@
48
48
  "bugs": {
49
49
  "url": "https://github.com/textbus/textbus.git/issues"
50
50
  },
51
- "gitHead": "7f1b573782e02a5e840d3a30507add78235c08c1"
51
+ "gitHead": "646cc933c5ab2f0fe0d4f28c4fb95d8a11b88891"
52
52
  }