diff --git a/README.md b/README.md
index af03256e..51b2572c 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,30 @@ In order to add a new page you need to go along the following steps:
}
```
+### Dialogs
+
+
+
+The basic dialog component is `src/components/CscDialog.vue`.
+
+#### How to create a new custom dialog
+
+Check the example implementation in `src/components/CscDialogChangePassword.vue`.
+
+#### How to call custom dialogs from within a Vue.js Component method
+
+To reduce the boilerplate code of dialog components, we call Dialogs
+via [Quasar Dialog Plugin](https://quasar.dev/quasar-plugins/dialog).
+
+```javascript
+this.$q.dialog({
+ component: CscDialogChangePassword,
+ parent: this
+}).onOk((password) => {
+ this.changeWebPassword(password)
+})
+```
+
### NGCP API
All API functions are located in `src/api`. The file `src/api/common.js`
diff --git a/doc/images/dialog.png b/doc/images/dialog.png
new file mode 100644
index 00000000..856945e0
Binary files /dev/null and b/doc/images/dialog.png differ
diff --git a/src/components/CscDialog.vue b/src/components/CscDialog.vue
index 0d854533..df2108bb 100644
--- a/src/components/CscDialog.vue
+++ b/src/components/CscDialog.vue
@@ -1,46 +1,58 @@
-