diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index f452799..4ec57da 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -29,7 +29,7 @@ jobs: - name: Install node uses: actions/setup-node@v1 with: - node-version: "14.x" + node-version: "18.x" registry-url: "https://registry.npmjs.org" - name: Install Python @@ -117,7 +117,7 @@ jobs: - name: Install vuetify and test deps run: | wheel=(dist/*.whl) - pip install ${wheel}[test] "jupyter_server<2" + pip install ${wheel} https://github.com/widgetti/ipyvuetify/archive/refs/heads/vuetify3.zip ${wheel}[test] "jupyter_server<2" - name: Install playwright browsers run: playwright install chromium @@ -127,7 +127,7 @@ jobs: - name: Upload Test artifacts if: always() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ipyvue-test-results path: test-results @@ -144,7 +144,7 @@ jobs: - name: Install node uses: actions/setup-node@v1 with: - node-version: "14.x" + node-version: "18.x" registry-url: "https://registry.npmjs.org" - name: Install Python diff --git a/class_components.ipynb b/class_components.ipynb index 99893b3..2a65f2c 100644 --- a/class_components.ipynb +++ b/class_components.ipynb @@ -21,9 +21,11 @@ " input = Unicode().tag(sync=True)\n", " something = Unicode('defaultvalue').tag(sync=True)\n", " template = Unicode('''\n", + " \n", " ''').tag(sync=True)\n", " \n", " def vue_append_one(self, *args):\n", @@ -44,6 +46,7 @@ " texts = List(['xxxx', 'yyyy']).tag(sync=True)\n", " direct = Unicode('aaa').tag(sync=True)\n", " template = Unicode('''\n", + " \n", " ''').tag(sync=True)\n", " \n", " components=Dict({\n", @@ -113,9 +117,11 @@ " label = Unicode().tag(sync=True)\n", " \n", " template = Unicode('''\n", + " \n", " ''').tag(sync=True)\n", " \n", " @observe('db')\n", @@ -135,6 +141,7 @@ " supplier_db_collection = Dict().tag(sync_ref=True)\n", " \n", " template = Unicode('''\n", + " \n", " ''').tag(sync=True)\n", " \n", " components = Dict({\n", diff --git a/examples/DeepWatch.ipynb b/examples/DeepWatch.ipynb index 7fcc66a..f090e7c 100644 --- a/examples/DeepWatch.ipynb +++ b/examples/DeepWatch.ipynb @@ -15,6 +15,7 @@ " deep_array = traitlets.List(['array']).tag(sync=True)\n", " deep_array2 = traitlets.List([{'prop': 'array2'}]).tag(sync=True)\n", " template = traitlets.Unicode('''\n", + " \n", " ''').tag(sync=True)\n", " \n", "md = MyDeep()\n", diff --git a/examples/EmbeddingJupyterWidgetsInVueTemplate.ipynb b/examples/EmbeddingJupyterWidgetsInVueTemplate.ipynb index fd03f42..1d4f73f 100644 --- a/examples/EmbeddingJupyterWidgetsInVueTemplate.ipynb +++ b/examples/EmbeddingJupyterWidgetsInVueTemplate.ipynb @@ -29,12 +29,14 @@ "\n", "\n", " template=Unicode(\"\"\"\n", - "
\n", - "
\n", - " {{ item.title }}: \n", + " \n", " \"\"\").tag(sync=True)\n", "\n", "my_component = MyComponent()\n", diff --git a/examples/fullVueComponent.ipynb b/examples/fullVueComponent.ipynb index cffa258..0b3b20e 100644 --- a/examples/fullVueComponent.ipynb +++ b/examples/fullVueComponent.ipynb @@ -169,7 +169,7 @@ "class Testing(v.VuetifyTemplate):\n", " template = Unicode(\"\"\"\n", " \n", " \"\"\").tag(sync=True)\n", " \n", diff --git a/examples/hot-reload/my_component.vue b/examples/hot-reload/my_component.vue index 400d9f4..e298ed5 100644 --- a/examples/hot-reload/my_component.vue +++ b/examples/hot-reload/my_component.vue @@ -6,7 +6,7 @@
diff --git a/examples/hot-reload/my_sub_component.vue b/examples/hot-reload/my_sub_component.vue index 0a85e10..8489632 100644 --- a/examples/hot-reload/my_sub_component.vue +++ b/examples/hot-reload/my_sub_component.vue @@ -5,7 +5,7 @@
diff --git a/examples/hot-reload/my_widget_template.vue b/examples/hot-reload/my_widget_template.vue index 72380c6..a6f2fe0 100644 --- a/examples/hot-reload/my_widget_template.vue +++ b/examples/hot-reload/my_widget_template.vue @@ -1,6 +1,6 @@ diff --git a/ipyvue/VueTemplateWidget.py b/ipyvue/VueTemplateWidget.py index 54b00c2..52d32b3 100644 --- a/ipyvue/VueTemplateWidget.py +++ b/ipyvue/VueTemplateWidget.py @@ -87,6 +87,18 @@ def to_ref_structure(obj, path): return to_ref_structure(data, []) +class TraitNotAvailable(Any): + def __init__(self, on_use_msg): + self.on_use_msg = on_use_msg + super().__init__() + + def get(self, *ignored): + raise AttributeError(self.on_use_msg(self.name)) + + def set(self, *ignored): + raise AttributeError(AttributeError(self.on_use_msg(self.name))) + + class VueTemplate(DOMWidget, Events): class_component_serialization = { @@ -116,11 +128,20 @@ class VueTemplate(DOMWidget, Events): sync=True, **widget_serialization ) - css = Unicode(None, allow_none=True).tag(sync=True) + css = TraitNotAvailable( + lambda name: "The css trait is no longer available in v3, please use the \ + template