if($('#page-type-admin-users').length) {

	//=include ../modals/admin-users-create.js

} else if($('#page-type-admin-users-edit').length) {

	let vueEditUser = new Vue({
		el: '#page-type-admin-users-edit',
		data: {
			id: '',
			email: '',
			password: '********',
			name: '',
			rights: [],
			roleoverride: 'none'
		},
		methods: {
			addRightsRow: (ev) => {
				vueEditUser.rights.push({
					role: 'write',
					path: '/',
					exact: false,
					deny: false
				});
			},
			removeRightsRow: (idx) => {
				_.pullAt(vueEditUser.rights, idx)
				vueEditUser.$forceUpdate()
			},
			saveUser: (ev) => {
				let formattedRights = _.cloneDeep(vueEditUser.rights)
				switch(vueEditUser.roleoverride) {
					case 'admin':
						formattedRights.push({
							role: 'admin',
							path: '/',
							exact: false,
							deny: false
						})
					break;
				}
				$.post(window.location.href, {
					password: vueEditUser.password,
					name: vueEditUser.name,
					rights: JSON.stringify(formattedRights)
				}).done((resp) => {
					alerts.pushSuccess('Saved successfully', 'Changes have been applied.');
				}).fail((jqXHR, txtStatus, resp) => {
					alerts.pushError('Error', resp);
				})
			}
		},
		created: function() {

			this.id = usrData._id;
			this.email = usrData.email;
			this.name = usrData.name;

			if(_.find(usrData.rights, { role: 'admin' })) {
				this.rights = _.reject(usrData.rights, ['role', 'admin']);
				this.roleoverride = 'admin';
			} else {
				this.rights = usrData.rights;
			}

		}
	});

	//=include ../modals/admin-users-delete.js

}