<vn-watcher
    vn-id="watcher"
    url="Accounts"
    data="$ctrl.user"
    id-value="$ctrl.$params.id"
    form="form">
</vn-watcher>
<form
    name="form"
    ng-submit="$ctrl.onSubmit()"
    class="vn-w-md">
    <vn-card class="vn-pa-lg">
        <vn-vertical>
            <vn-textfield
                label="User" 
                ng-model="$ctrl.user.name"
                rule
                vn-focus>
            </vn-textfield>
            <vn-textfield
                label="Nickname" 
                ng-model="$ctrl.user.nickname"
                rule>
            </vn-textfield>
            <vn-textfield
                label="Personal email" 
                ng-model="$ctrl.user.email"
                rule>
            </vn-textfield>
            <vn-autocomplete
                label="Language"
                ng-model="$ctrl.user.lang"
                url="Languages"
                value-field="code"
                rule>
            </vn-autocomplete>
        </vn-vertical>
    </vn-card>
    <vn-button-bar>
        <vn-submit
            disabled="!watcher.dataChanged()"
            label="Save">
        </vn-submit>
        <vn-button
            class="cancel"
            label="Undo changes"
            disabled="!watcher.dataChanged()"
            ng-click="watcher.loadOriginalData()">
        </vn-button>
    </vn-button-bar>
</form>