Upgrade desktop UI to Ember 4.12.2 (#1990)
* Upgrade desktop UI to Ember 4.12.2 * refactor: 💡 refactor scripts Refactor concurrently scripts, and removed duplicate entries in `eslintrc.js` ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747 * refactor: 💡 peer dependencies Revert changes to `peerDependencies`. ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747 * refactor: 💡 revert config back before upgrade Revert `styelint-standard-config-scss` back to 6.0.0 so that it can be put into seperate ticket. ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747 * Update _notify.scss fix misspelling * refactor: 💡 revert dependency Revert `stylelint-config-standard-scss` back to original version ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
This commit is contained in:
1 parent
222f0c35b8
commit
3b3a00e1ee
14 files changed
+115
-1097
No files matched your search
+2
-2
@@ -22,14 +22,14 @@
|
|||||||
"build:ui:desktop:win": "docker-compose -f docker-compose-embedding.yml run build-desktop-production && yarn build:ui:desktop:app",
|
"build:ui:desktop:win": "docker-compose -f docker-compose-embedding.yml run build-desktop-production && yarn build:ui:desktop:app",
|
||||||
"build:ui:desktop:production": "yarn --cwd ui/desktop build:production",
|
"build:ui:desktop:production": "yarn --cwd ui/desktop build:production",
|
||||||
"build:ui:desktop:app": "yarn --cwd ui/desktop build:desktop",
|
"build:ui:desktop:app": "yarn --cwd ui/desktop build:desktop",
|
||||||
"lint": "npm-run-all -p lint:*",
|
"lint": "concurrently \"yarn:lint:*\" --names \"lint:\"",
|
||||||
"lint:addons-api": "yarn --cwd addons/api lint",
|
"lint:addons-api": "yarn --cwd addons/api lint",
|
||||||
"lint:addons-auth": "yarn --cwd addons/auth lint",
|
"lint:addons-auth": "yarn --cwd addons/auth lint",
|
||||||
"lint:addons-core": "yarn --cwd addons/core lint",
|
"lint:addons-core": "yarn --cwd addons/core lint",
|
||||||
"lint:addons-rose": "yarn --cwd addons/rose lint",
|
"lint:addons-rose": "yarn --cwd addons/rose lint",
|
||||||
"lint:ui-admin": "yarn --cwd ui/admin lint",
|
"lint:ui-admin": "yarn --cwd ui/admin lint",
|
||||||
"lint:ui-desktop": "yarn --cwd ui/desktop lint",
|
"lint:ui-desktop": "yarn --cwd ui/desktop lint",
|
||||||
"test": "npm-run-all -p test:*",
|
"test": "concurrently \"yarn:test:*\" --names \"test:\"",
|
||||||
"test:addons-api": "yarn --cwd addons/api test",
|
"test:addons-api": "yarn --cwd addons/api test",
|
||||||
"test:addons-auth": "yarn --cwd addons/auth test",
|
"test:addons-auth": "yarn --cwd addons/auth test",
|
||||||
"test:addons-core": "yarn --cwd addons/core test",
|
"test:addons-core": "yarn --cwd addons/core test",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
"start": "ember serve",
|
"start": "ember serve",
|
||||||
"clean:coverage": "rm -rf coverage_*",
|
"clean:coverage": "rm -rf coverage_*",
|
||||||
"pretest": "yarn clean:coverage",
|
"pretest": "yarn clean:coverage",
|
||||||
"test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
|
"test": "concurrently \"npm:test:*\" --names \"test:\"",
|
||||||
"test:ember": "COVERAGE=true ember exam --test-port 0 --split=4 --parallel=1 --random",
|
"test:ember": "COVERAGE=true ember exam --test-port 0 --split=4 --parallel=1 --random",
|
||||||
"e2e": "yarn playwright test --config ./tests/e2e/playwright.config.js",
|
"e2e": "yarn playwright test --config ./tests/e2e/playwright.config.js",
|
||||||
"e2e:dev:chrome": "yarn run e2e --project=chromium --headed",
|
"e2e:dev:chrome": "yarn run e2e --project=chromium --headed",
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
"disableAnalytics": false,
|
"disableAnalytics": false,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
|
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
|
||||||
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
|
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
|
||||||
*/
|
*/
|
||||||
"isTypeScriptProject": false
|
"isTypeScriptProject": false
|
||||||
}
|
}
|
||||||
+6
-10
@@ -9,12 +9,14 @@ module.exports = {
|
|||||||
root: true,
|
root: true,
|
||||||
parser: '@babel/eslint-parser',
|
parser: '@babel/eslint-parser',
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
ecmaVersion: 2018,
|
ecmaVersion: 'latest',
|
||||||
sourceType: 'module',
|
sourceType: 'module',
|
||||||
// This is specific babel-config. If grows consider creating a babel config file
|
// This is specific babel-config. If grows consider creating a babel config file
|
||||||
requireConfigFile: false,
|
requireConfigFile: false,
|
||||||
babelOptions: {
|
babelOptions: {
|
||||||
plugins: [['@babel/plugin-proposal-decorators', { legacy: true }]],
|
plugins: [
|
||||||
|
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
|
||||||
|
],
|
||||||
},
|
},
|
||||||
// end of babel-config
|
// end of babel-config
|
||||||
},
|
},
|
||||||
@@ -36,8 +38,8 @@ module.exports = {
|
|||||||
files: [
|
files: [
|
||||||
'./.eslintrc.js',
|
'./.eslintrc.js',
|
||||||
'./.prettierrc.js',
|
'./.prettierrc.js',
|
||||||
|
'./.stylelintrc.js',
|
||||||
'./.template-lintrc.js',
|
'./.template-lintrc.js',
|
||||||
'.stylelintrc.js',
|
|
||||||
'./ember-cli-build.js',
|
'./ember-cli-build.js',
|
||||||
'./testem.js',
|
'./testem.js',
|
||||||
'./testem-electron.js',
|
'./testem-electron.js',
|
||||||
@@ -53,13 +55,7 @@ module.exports = {
|
|||||||
browser: false,
|
browser: false,
|
||||||
node: true,
|
node: true,
|
||||||
},
|
},
|
||||||
plugins: ['node'],
|
extends: ['plugin:n/recommended'],
|
||||||
extends: ['plugin:node/recommended'],
|
|
||||||
rules: {
|
|
||||||
// this can be removed once the following is fixed
|
|
||||||
// https://github.com/mysticatea/eslint-plugin-node/issues/77
|
|
||||||
'node/no-unpublished-require': 'off',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// test files
|
// test files
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# unconventional files
|
||||||
|
/blueprints/*/files/
|
||||||
|
|
||||||
|
# compiled output
|
||||||
|
/dist/
|
||||||
|
|
||||||
|
# addons
|
||||||
|
/.node_modules.ember-try/
|
||||||
@@ -15,4 +15,12 @@ module.exports = {
|
|||||||
'no-implicit-this': { allow: ['app-name', 'is-loading'] },
|
'no-implicit-this': { allow: ['app-name', 'is-loading'] },
|
||||||
'no-route-action': false,
|
'no-route-action': false,
|
||||||
},
|
},
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: '**/tests/**/*.{js,gts,gjs}',
|
||||||
|
rules: {
|
||||||
|
prettier: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
@@ -214,9 +214,11 @@
|
|||||||
</:body>
|
</:body>
|
||||||
</Hds::Table>
|
</Hds::Table>
|
||||||
|
|
||||||
{{else if (has-resource-filter-selections
|
{{else if
|
||||||
'scopes.scope.projects.sessions.index' 'status' 'project'
|
(has-resource-filter-selections
|
||||||
)}}
|
'scopes.scope.projects.sessions.index' 'status' 'project'
|
||||||
|
)
|
||||||
|
}}
|
||||||
<Rose::Layout::Centered>
|
<Rose::Layout::Centered>
|
||||||
<Rose::Message @title={{t 'titles.no-results'}} as |message|>
|
<Rose::Message @title={{t 'titles.no-results'}} as |message|>
|
||||||
<message.description>
|
<message.description>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "ember-cli",
|
"name": "ember-cli",
|
||||||
"version": "4.4.1",
|
"version": "4.12.2",
|
||||||
"blueprints": [
|
"blueprints": [
|
||||||
{
|
{
|
||||||
"name": "app",
|
"name": "app",
|
||||||
|
|||||||
@@ -8,21 +8,17 @@
|
|||||||
const APP_NAME = process.env.APP_NAME || 'Boundary';
|
const APP_NAME = process.env.APP_NAME || 'Boundary';
|
||||||
|
|
||||||
module.exports = function (environment) {
|
module.exports = function (environment) {
|
||||||
let ENV = {
|
const ENV = {
|
||||||
modulePrefix: 'desktop',
|
modulePrefix: 'desktop',
|
||||||
environment,
|
environment,
|
||||||
rootURL: process.env.EMBER_CLI_ELECTRON ? '' : '/',
|
rootURL: process.env.EMBER_CLI_ELECTRON ? '' : '/',
|
||||||
locationType: process.env.EMBER_CLI_ELECTRON ? 'hash' : 'auto',
|
locationType: process.env.EMBER_CLI_ELECTRON ? 'hash' : 'auto',
|
||||||
EmberENV: {
|
EmberENV: {
|
||||||
|
EXTEND_PROTOTYPES: false,
|
||||||
FEATURES: {
|
FEATURES: {
|
||||||
// Here you can enable experimental features on an ember canary build
|
// Here you can enable experimental features on an ember canary build
|
||||||
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
|
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
|
||||||
},
|
},
|
||||||
EXTEND_PROTOTYPES: false,
|
|
||||||
// EXTEND_PROTOTYPES: {
|
|
||||||
// // Prevent Ember Data from overriding Date.parse.
|
|
||||||
// Date: false
|
|
||||||
// }
|
|
||||||
},
|
},
|
||||||
|
|
||||||
APP: {
|
APP: {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
||||||
|
|
||||||
module.exports = function (defaults) {
|
module.exports = function (defaults) {
|
||||||
let app = new EmberApp(defaults, {
|
const app = new EmberApp(defaults, {
|
||||||
hinting: false,
|
hinting: false,
|
||||||
'ember-cli-babel': {
|
'ember-cli-babel': {
|
||||||
includeExternalHelpers: true,
|
includeExternalHelpers: true,
|
||||||
|
|||||||
+30
-28
@@ -18,8 +18,8 @@
|
|||||||
"build:desktop": "yarn build:desktop:install && yarn --cwd electron-app make",
|
"build:desktop": "yarn build:desktop:install && yarn --cwd electron-app make",
|
||||||
"build:desktop:debianOnMacOS": "yarn build:desktop:install && BUILD_DEBIAN=true yarn --cwd electron-app make --platform linux --arch x64",
|
"build:desktop:debianOnMacOS": "yarn build:desktop:install && BUILD_DEBIAN=true yarn --cwd electron-app make --platform linux --arch x64",
|
||||||
"build:desktop:install": "yarn install --cwd electron-app",
|
"build:desktop:install": "yarn install --cwd electron-app",
|
||||||
"lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
|
"lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
|
||||||
"lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
|
"lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
|
||||||
"lint:hbs": "ember-template-lint .",
|
"lint:hbs": "ember-template-lint .",
|
||||||
"lint:hbs:fix": "ember-template-lint . --fix",
|
"lint:hbs:fix": "ember-template-lint . --fix",
|
||||||
"lint:js": "eslint .",
|
"lint:js": "eslint .",
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
"lint:sass": "stylelint '**/*.scss'",
|
"lint:sass": "stylelint '**/*.scss'",
|
||||||
"lint:sass:fix": "stylelint '**/*.scss' --fix",
|
"lint:sass:fix": "stylelint '**/*.scss' --fix",
|
||||||
"lint:electron": "electronegativity -r -i ./electron-app",
|
"lint:electron": "electronegativity -r -i ./electron-app",
|
||||||
"format": "npm-run-all format:*",
|
"format": "concurrently \"npm:format:*\" --names \"format:\"",
|
||||||
"format:hbs": "prettier --write 'app/**/*.hbs'",
|
"format:hbs": "prettier --write 'app/**/*.hbs'",
|
||||||
"format:js": "prettier --write '{app,config,stories,tests,electron-app/src}/**/*.js' *.js",
|
"format:js": "prettier --write '{app,config,stories,tests,electron-app/src}/**/*.js' *.js",
|
||||||
"format:sass": "prettier --write app/**/*.scss",
|
"format:sass": "prettier --write app/**/*.scss",
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
"start:desktop": "ember electron",
|
"start:desktop": "ember electron",
|
||||||
"clean:coverage": "rm -rf coverage_*",
|
"clean:coverage": "rm -rf coverage_*",
|
||||||
"pretest": "yarn clean:coverage",
|
"pretest": "yarn clean:coverage",
|
||||||
"test": "npm-run-all test:*",
|
"test": "concurrently \"npm:test:*\" --names \"test:\"",
|
||||||
"test:ember": "cross-env COVERAGE=true ember exam --test-port 0 --split=4 --parallel=1 --random",
|
"test:ember": "cross-env COVERAGE=true ember exam --test-port 0 --split=4 --parallel=1 --random",
|
||||||
"e2e": "yarn run build && yarn run e2e:dev",
|
"e2e": "yarn run build && yarn run e2e:dev",
|
||||||
"e2e:dev": "npx playwright test --headed",
|
"e2e:dev": "npx playwright test --headed",
|
||||||
@@ -51,12 +51,13 @@
|
|||||||
"xterm-addon-fit": "^0.7.0"
|
"xterm-addon-fit": "^0.7.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/eslint-parser": "^7.18.2",
|
"@babel/eslint-parser": "^7.21.3",
|
||||||
"@babel/plugin-proposal-decorators": "^7.18.6",
|
"@babel/plugin-proposal-decorators": "^7.21.0",
|
||||||
"@doyensec/electronegativity": "^1.10.2",
|
"@doyensec/electronegativity": "^1.10.2",
|
||||||
"@ember/optional-features": "^2.0.0",
|
"@ember/optional-features": "^2.0.0",
|
||||||
"@ember/render-modifiers": "^2.0.4",
|
"@ember/render-modifiers": "^2.0.4",
|
||||||
"@ember/test-helpers": "^2.8.1",
|
"@ember/string": "^3.0.1",
|
||||||
|
"@ember/test-helpers": "^2.9.3",
|
||||||
"@embroider/macros": "^1.13.1",
|
"@embroider/macros": "^1.13.1",
|
||||||
"@faker-js/faker": "^8.0.2",
|
"@faker-js/faker": "^8.0.2",
|
||||||
"@glimmer/component": "^1.1.2",
|
"@glimmer/component": "^1.1.2",
|
||||||
@@ -65,49 +66,48 @@
|
|||||||
"babel-loader": "^8.2.5",
|
"babel-loader": "^8.2.5",
|
||||||
"broccoli-asset-rev": "^3.0.0",
|
"broccoli-asset-rev": "^3.0.0",
|
||||||
"clipboard": "^2.0.8",
|
"clipboard": "^2.0.8",
|
||||||
|
"concurrently": "^8.0.1",
|
||||||
"core": "*",
|
"core": "*",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"doctoc": "^2.2.0",
|
"doctoc": "^2.2.0",
|
||||||
"ember-a11y-testing": "^4.2.0",
|
"ember-a11y-testing": "^4.2.0",
|
||||||
"ember-auto-import": "^2.4.2",
|
"ember-auto-import": "^2.6.3",
|
||||||
"ember-autofocus-modifier": "^4.0.1",
|
"ember-autofocus-modifier": "^4.0.1",
|
||||||
"ember-cli": "^4.4.1",
|
"ember-cli": "^4.12.2",
|
||||||
"ember-cli-app-version": "^5.0.0",
|
"ember-cli-app-version": "^6.0.0",
|
||||||
"ember-cli-babel": "^7.26.11",
|
"ember-cli-babel": "^7.26.11",
|
||||||
"ember-cli-code-coverage": "^1.0.3",
|
"ember-cli-code-coverage": "^1.0.3",
|
||||||
"ember-cli-dependency-checker": "^3.3.1",
|
"ember-cli-dependency-checker": "^3.3.1",
|
||||||
"ember-cli-flash": "^4.0.0",
|
"ember-cli-flash": "^4.0.0",
|
||||||
"ember-cli-htmlbars": "^6.1.0",
|
"ember-cli-htmlbars": "^6.2.0",
|
||||||
"ember-cli-inject-live-reload": "^2.1.0",
|
"ember-cli-inject-live-reload": "^2.1.0",
|
||||||
"ember-cli-sass": "^11.0.1",
|
"ember-cli-sass": "^11.0.1",
|
||||||
"ember-cli-sri": "^2.1.1",
|
"ember-cli-sri": "^2.1.1",
|
||||||
"ember-cli-terser": "^4.0.2",
|
"ember-cli-terser": "^4.0.2",
|
||||||
"ember-electron": "^3.1.1",
|
"ember-electron": "^3.1.1",
|
||||||
"ember-exam": "^8.0.0",
|
"ember-exam": "^8.0.0",
|
||||||
"ember-export-application-global": "^2.0.1",
|
|
||||||
"ember-inline-svg": "^1.0.1",
|
"ember-inline-svg": "^1.0.1",
|
||||||
"ember-load-initializers": "^2.1.2",
|
"ember-load-initializers": "^2.1.2",
|
||||||
"ember-modifier": "^3.2.7",
|
"ember-modifier": "^4.1.0",
|
||||||
"ember-page-title": "^7.0.0",
|
"ember-page-title": "^7.0.0",
|
||||||
"ember-pollster": "https://github.com/hashicorp/ember-pollster.git#718db797382b04aca281216319885c5ff625f539",
|
"ember-pollster": "https://github.com/hashicorp/ember-pollster.git#718db797382b04aca281216319885c5ff625f539",
|
||||||
"ember-qunit": "^6.0.0",
|
"ember-qunit": "^6.2.0",
|
||||||
"ember-resolver": "^8.0.3",
|
"ember-resolver": "^10.0.0",
|
||||||
"ember-source": "~4.4.0",
|
"ember-source": "~4.12.0",
|
||||||
"ember-template-lint": "^4.14.0",
|
"ember-template-lint": "^5.7.2",
|
||||||
"ember-template-lint-plugin-prettier": "^4.0.0",
|
"ember-template-lint-plugin-prettier": "^5.0.0",
|
||||||
"ember-wormhole": "^0.6.0",
|
"ember-wormhole": "^0.6.0",
|
||||||
"eslint": "^8.18.0",
|
"eslint": "^8.37.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.8.0",
|
||||||
"eslint-plugin-ember": "^10.6.1",
|
"eslint-plugin-ember": "^11.5.0",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-n": "^15.7.0",
|
||||||
"eslint-plugin-qunit": "^7.3.0",
|
"eslint-plugin-qunit": "^7.3.4",
|
||||||
"js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1",
|
"js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1",
|
||||||
"loader.js": "^4.7.0",
|
"loader.js": "^4.7.0",
|
||||||
"lodash": "4.17.21",
|
"lodash": "4.17.21",
|
||||||
"npm-run-all": "^4.1.5",
|
|
||||||
"playwright": "^1.30.0",
|
"playwright": "^1.30.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^3.0.0",
|
||||||
"qunit": "^2.19.1",
|
"qunit": "^2.19.4",
|
||||||
"qunit-dom": "^2.0.0",
|
"qunit-dom": "^2.0.0",
|
||||||
"rose": "*",
|
"rose": "*",
|
||||||
"sass": "^1.55.0",
|
"sass": "^1.55.0",
|
||||||
@@ -115,8 +115,10 @@
|
|||||||
"sinon": "^14.0.0",
|
"sinon": "^14.0.0",
|
||||||
"stylelint": "^15.10.1",
|
"stylelint": "^15.10.1",
|
||||||
"stylelint-config-prettier-scss": "^0.0.1",
|
"stylelint-config-prettier-scss": "^0.0.1",
|
||||||
"stylelint-config-standard-scss": "^7.0.1",
|
"stylelint-config-standard": "^32.0.0",
|
||||||
"webpack": "^5.76.0"
|
"stylelint-config-standard-scss": "^6.0.0",
|
||||||
|
"tracked-built-ins": "^3.1.1",
|
||||||
|
"webpack": "^5.78.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "16.* || 18.*"
|
"node": "16.* || 18.*"
|
||||||
|
|||||||
@@ -12,8 +12,9 @@ module('Integration | Component | copyable', function (hooks) {
|
|||||||
setupRenderingTest(hooks);
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
test('it renders', async function (assert) {
|
test('it renders', async function (assert) {
|
||||||
|
this.set('actionText', 'text');
|
||||||
await render(
|
await render(
|
||||||
hbs`<Copyable @buttonText="Copy me" @text="foo">text</Copyable>`
|
hbs`<Copyable @buttonText="Copy me" @text="foo">{{this.actionText}}</Copyable>`,
|
||||||
);
|
);
|
||||||
assert.ok(find('.copyable'));
|
assert.ok(find('.copyable'));
|
||||||
assert.strictEqual(find('.copyable-content').textContent.trim(), 'text');
|
assert.strictEqual(find('.copyable-content').textContent.trim(), 'text');
|
||||||
|
|||||||
@@ -17,11 +17,12 @@ module('Integration | Component | dialog-detail', function (hooks) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('it renders with content', async function (assert) {
|
test('it renders with content', async function (assert) {
|
||||||
|
this.set('value', 'Test');
|
||||||
await render(hbs`
|
await render(hbs`
|
||||||
<DialogDetail as |dialogDetail|>
|
<DialogDetail as |dialogDetail|>
|
||||||
<dialogDetail.notification />
|
<dialogDetail.notification />
|
||||||
<dialogDetail.body>
|
<dialogDetail.body>
|
||||||
<h2>Test</h2>
|
<h2>{{this.value}}</h2>
|
||||||
</dialogDetail.body>
|
</dialogDetail.body>
|
||||||
<dialogDetail.footer></dialogDetail.footer>
|
<dialogDetail.footer></dialogDetail.footer>
|
||||||
</DialogDetail>
|
</DialogDetail>
|
||||||
|
|||||||
Reference in new issue
Block a user