@jupyterlab/htmlviewer-extension 3.3.0-alpha.1 → 3.3.0-alpha.13

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.
package/lib/index.js CHANGED
@@ -7,10 +7,15 @@
7
7
  * @module htmlviewer-extension
8
8
  */
9
9
  import { ILayoutRestorer } from '@jupyterlab/application';
10
- import { ICommandPalette, WidgetTracker } from '@jupyterlab/apputils';
11
- import { HTMLViewerFactory, IHTMLViewerTracker } from '@jupyterlab/htmlviewer';
10
+ import { createToolbarFactory, ICommandPalette, IToolbarWidgetRegistry, WidgetTracker } from '@jupyterlab/apputils';
11
+ import { HTMLViewerFactory, IHTMLViewerTracker, ToolbarItems } from '@jupyterlab/htmlviewer';
12
+ import { ISettingRegistry } from '@jupyterlab/settingregistry';
12
13
  import { ITranslator } from '@jupyterlab/translation';
13
14
  import { html5Icon } from '@jupyterlab/ui-components';
15
+ /**
16
+ * Factory name
17
+ */
18
+ const FACTORY = 'HTML Viewer';
14
19
  /**
15
20
  * Command IDs used by the plugin.
16
21
  */
@@ -26,15 +31,28 @@ const htmlPlugin = {
26
31
  id: '@jupyterlab/htmlviewer-extension:plugin',
27
32
  provides: IHTMLViewerTracker,
28
33
  requires: [ITranslator],
29
- optional: [ICommandPalette, ILayoutRestorer],
34
+ optional: [
35
+ ICommandPalette,
36
+ ILayoutRestorer,
37
+ ISettingRegistry,
38
+ IToolbarWidgetRegistry
39
+ ],
30
40
  autoStart: true
31
41
  };
32
42
  /**
33
43
  * Activate the HTMLViewer extension.
34
44
  */
35
- function activateHTMLViewer(app, translator, palette, restorer) {
36
- // Add an HTML file type to the docregistry.
45
+ function activateHTMLViewer(app, translator, palette, restorer, settingRegistry, toolbarRegistry) {
46
+ let toolbarFactory;
37
47
  const trans = translator.load('jupyterlab');
48
+ if (toolbarRegistry) {
49
+ toolbarRegistry.registerFactory(FACTORY, 'refresh', widget => ToolbarItems.createRefreshButton(widget, translator));
50
+ toolbarRegistry.registerFactory(FACTORY, 'trust', widget => ToolbarItems.createTrustButton(widget, translator));
51
+ if (settingRegistry) {
52
+ toolbarFactory = createToolbarFactory(toolbarRegistry, settingRegistry, FACTORY, htmlPlugin.id, translator);
53
+ }
54
+ }
55
+ // Add an HTML file type to the docregistry.
38
56
  const ft = {
39
57
  name: 'html',
40
58
  contentType: 'file',
@@ -47,10 +65,13 @@ function activateHTMLViewer(app, translator, palette, restorer) {
47
65
  app.docRegistry.addFileType(ft);
48
66
  // Create a new viewer factory.
49
67
  const factory = new HTMLViewerFactory({
50
- name: trans.__('HTML Viewer'),
68
+ name: FACTORY,
69
+ label: trans.__('HTML Viewer'),
51
70
  fileTypes: ['html'],
52
71
  defaultFor: ['html'],
53
- readOnly: true
72
+ readOnly: true,
73
+ toolbarFactory,
74
+ translator
54
75
  });
55
76
  // Create a widget tracker for HTML documents.
56
77
  const tracker = new WidgetTracker({
@@ -86,13 +107,18 @@ function activateHTMLViewer(app, translator, palette, restorer) {
86
107
  // allowing script executions in its context.
87
108
  app.commands.addCommand(CommandIDs.trustHTML, {
88
109
  label: trans.__('Trust HTML File'),
110
+ caption: trans.__(`Whether the HTML file is trusted.
111
+ Trusting the file allows scripts to run in it,
112
+ which may result in security risks.
113
+ Only enable for files you trust.`),
89
114
  isEnabled: () => !!tracker.currentWidget,
90
115
  isToggled: () => {
91
116
  const current = tracker.currentWidget;
92
117
  if (!current) {
93
118
  return false;
94
119
  }
95
- return current.trusted;
120
+ const sandbox = current.content.sandbox;
121
+ return sandbox.indexOf('allow-scripts') !== -1;
96
122
  },
97
123
  execute: () => {
98
124
  const current = tracker.currentWidget;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/htmlviewer-extension",
3
- "version": "3.3.0-alpha.1",
3
+ "version": "3.3.0-alpha.13",
4
4
  "description": "JupyterLab extension to render HTML files",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -24,22 +24,23 @@
24
24
  "style": "style/index.css",
25
25
  "files": [
26
26
  "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
27
+ "schema/*.json",
27
28
  "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
28
29
  "style/index.js"
29
30
  ],
30
31
  "scripts": {
31
32
  "build": "tsc -b",
32
33
  "clean": "rimraf lib && rimraf tsconfig.tsbuildinfo",
33
- "prepublishOnly": "npm run build",
34
34
  "watch": "tsc -w"
35
35
  },
36
36
  "dependencies": {
37
- "@jupyterlab/application": "^3.3.0-alpha.1",
38
- "@jupyterlab/apputils": "^3.3.0-alpha.1",
39
- "@jupyterlab/docregistry": "^3.3.0-alpha.1",
40
- "@jupyterlab/htmlviewer": "^3.3.0-alpha.1",
41
- "@jupyterlab/translation": "^3.3.0-alpha.1",
42
- "@jupyterlab/ui-components": "^3.3.0-alpha.1"
37
+ "@jupyterlab/application": "^3.3.0-alpha.13",
38
+ "@jupyterlab/apputils": "^3.3.0-alpha.13",
39
+ "@jupyterlab/docregistry": "^3.3.0-alpha.13",
40
+ "@jupyterlab/htmlviewer": "^3.3.0-alpha.13",
41
+ "@jupyterlab/settingregistry": "^3.3.0-alpha.13",
42
+ "@jupyterlab/translation": "^3.3.0-alpha.13",
43
+ "@jupyterlab/ui-components": "^3.3.0-alpha.13"
43
44
  },
44
45
  "devDependencies": {
45
46
  "rimraf": "~3.0.0",
@@ -49,7 +50,8 @@
49
50
  "access": "public"
50
51
  },
51
52
  "jupyterlab": {
52
- "extension": true
53
+ "extension": true,
54
+ "schemaDir": "schema"
53
55
  },
54
56
  "styleModule": "style/index.js"
55
57
  }
@@ -0,0 +1,72 @@
1
+ {
2
+ "title": "HTML Viewer",
3
+ "description": "HTML Viewer settings.",
4
+ "jupyter.lab.toolbars": {
5
+ "HTML Viewer": [
6
+ { "name": "refresh", "rank": 10 },
7
+ { "name": "trust", "rank": 20 }
8
+ ]
9
+ },
10
+ "jupyter.lab.transform": true,
11
+ "properties": {
12
+ "toolbar": {
13
+ "title": "HTML viewer toolbar items",
14
+ "description": "Note: To disable a toolbar item,\ncopy it to User Preferences and add the\n\"disabled\" key. The following example will disable the refresh item:\n{\n \"toolbar\": [\n {\n \"name\": \"refresh\",\n \"disabled\": true\n }\n ]\n}\n\nToolbar description:",
15
+ "items": {
16
+ "$ref": "#/definitions/toolbarItem"
17
+ },
18
+ "type": "array",
19
+ "default": []
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "type": "object",
24
+ "definitions": {
25
+ "toolbarItem": {
26
+ "properties": {
27
+ "name": {
28
+ "title": "Unique name",
29
+ "type": "string"
30
+ },
31
+ "args": {
32
+ "title": "Command arguments",
33
+ "type": "object"
34
+ },
35
+ "command": {
36
+ "title": "Command id",
37
+ "type": "string",
38
+ "default": ""
39
+ },
40
+ "disabled": {
41
+ "title": "Whether the item is ignored or not",
42
+ "type": "boolean",
43
+ "default": false
44
+ },
45
+ "icon": {
46
+ "title": "Item icon id",
47
+ "description": "If defined, it will override the command icon",
48
+ "type": "string"
49
+ },
50
+ "label": {
51
+ "title": "Item label",
52
+ "description": "If defined, it will override the command label",
53
+ "type": "string"
54
+ },
55
+ "type": {
56
+ "title": "Item type",
57
+ "type": "string",
58
+ "enum": ["command", "spacer"]
59
+ },
60
+ "rank": {
61
+ "title": "Item rank",
62
+ "type": "number",
63
+ "minimum": 0,
64
+ "default": 50
65
+ }
66
+ },
67
+ "required": ["name"],
68
+ "additionalProperties": false,
69
+ "type": "object"
70
+ }
71
+ }
72
+ }