MediaWiki:Gadget-codextest-main.vue: Difference between revisions

no edit summary
(Created page with "<template> <p class="testgadget-name"> Hello {{ displayName }}! </p> <cdx-button action="progressive" weight="primary" @click="dialogOpen = true" > Change your name </cdx-button> <cdx-dialog v-model:open="dialogOpen" title="Change name" close-button-label="Close" :primary-action="saveAction" @primary="saveName" > <p>New name:</p> <cdx-text-input v-...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Change your name
</cdx-button>
<change-name-dialog v-model:open="dialogOpen" @save-name="saveName"></change-name-dialog>
<cdx-dialog
v-model:open="dialogOpen"
title="Change name"
close-button-label="Close"
:primary-action="saveAction"
@primary="saveName"
>
<p>New name:</p>
<cdx-text-input v-model="nameInput"></cdx-text-input>
</cdx-dialog>
</template>
 
<script>
const { ref, computed } = require( 'vue' );
const { CdxButton, CdxDialog, CdxTextInput } = require( '@wikimedia/codex' );
const ChangeNameDialog = require( './codextest-ChangeNameDialog.vue' );
 
module.exports = {
components: {
CdxButton,
CdxDialog,ChangeNameDialog
CdxTextInput
},
setup() {
const dialogOpen = ref( false );
const displayName = ref( '(name unknown)' );
const nameInput = ref( '' );
const saveAction = computed( () => ( {
label: 'Save',
actionType: 'progressive',
disabled: nameInput.value === ''
} ) );
 
function saveName( newName ) {
displayName.value = nameInput.valuenewName;
dialogOpen.value = false;
}
dialogOpen,
displayName,
nameInput,
saveAction,
saveName
};