User Management

General

images/download/attachments/6045119/user0.PNG

Component Palette Icon:

images/download/attachments/6045119/user1.PNG


Description

The user management panel provides a built-in way to edit users and roles from a client. To use this component, you should be aware that it is only editing the users and roles from a single User Source.By default, the component will use the user source of the containing project. You can change this by typing in the name of another user source into the component's "User Source" property.

To make changes to the Gateway's system user source from the Designer or Client, Allow User Admin must be checked in Gateway Settings in the Gateway Configuration page.

This component can be run in one of three modes:

Manage Users Mode: In this mode, the component manages all of the users contained in the user source. Users and roles may be added, removed, and edited.

Edit Single Mode: In this mode, the component only edits a single user. Which user is being edited is controlled via the "User Source" and "Username" properties.

Edit Current Mode: In this mode, the user who is currently logged into the project can edit themselves. Obviously, the ability to assign roles is not available in this mode. This can be useful to allow users to alter their own password, adjust their contact information, and update their schedules.

Warning: Be careful to only expose this component to users who should have the privileges to alter other users. Access to this component in "Manage Users" mode will allow users to edit other users' passwords and roles.

Properties

Name

Description

Property Type

Scripting

Category

Antialias

Draw with antialias on? Makes text smoother

boolean

.antialias

Appearance

Border

The border surrounding this component. NOTE that the border is unaffected by rotation.

Border

.border

Common

Contact Info Editing Enabled

If true, a user's contact info will be editable.

boolean

.allowContactInfoEditing

Behavior

Data Quality

The data quality code for any tag bindings on this component.

int

.dataQuality

Data

Enabled

If disabled, a component cannot be used.

boolean

.componentEnabled

Common

Mode

Affects what mode the user management component runs in

int

.mode

Behavior

Name

The name of this component.

String

.name

Common

Role Assigning Enabled

If true, a user's roles will be editable.

boolean

.allowRoleAssigning

Behavior

Role Management Enabled

If true, role management is available.

boolean

.allowRoleManagement

Behavior

Schedule Adjustments Enabled

If true, a user's schedule adjustments will be editable.

boolean

.allowScheduleModifications

Behavior

Show Contact Info Column

Controls whether the user table shows the contact info column or not.

boolean

.columnContactInfo

Appearance

Show Name Column

Controls whether the user table shows the name column or not.

boolean

.columnName

Appearance

Show Roles Column

Controls whether the user table shows the roles column or not.

boolean

.columnRoles

Appearance

Show Schedule Column

Controls whether the user table shows the schedule column or not.

boolean

.columnSchedule

Appearance

Show Username Column

Controls whether the user table shows the username column or not.

boolean

.columnUsername

Appearance

Styles

Contains the component's styles

Dataset

.styles

Appearance

Touchscreen Mode

Controls when this input component responds if touchscreen mode is enabled.

int

.touchscreenMode

Behavior

User Source

The user source to manage users in. If blank, uses the project's default user source.

String

.userProfile

Behavior

Username

The name of the user being edited. Read-only except when mode is "Edit Single", in which case it defines the user to be edited.

String

.username

Behavior

Username Editing Enabled

If true, usernames will be editable.

boolean

.allowUsernameEditing

Behavior

Visible

If disabled, the component will be hidden.

boolean

.visible

Common

Scripting
Scripting Functions

This component does not have scripting functions associated with it.

Extension Functions

filterUser

  • Description

Called for each user loaded into the management table. Return false to hide this user from the management table. This code is executed in a background thread.

  • Parameters

Component self - A reference to the component that is invoking this function.

User Object user - The user object itself. Call user.get('propertyName') to inpsect. Common properties: 'username',' schedule', 'language', user.getRoles() for a list of rolenames.

  • Return

Boolean

  • Scope

Client

filterRole

  • Description

Called for each role loaded into the management table. Return false to hide this role from the management table. This code is executed in a background thread.

  • Parameters

Component self - A reference to the component that is invoking this function.

String role - The role name.

  • Return

Boolean

  • Scope

Client

filterSchedule

  • Description

Called for each schedule loaded into the schedule dropdown in the edit user panel. Return false to hide this schedule from the dropdown. This code is executed in a background thread.

  • Parameters

Component self - A reference to the component that is invoking this function.

String schedule - The schedule name.

  • Return

Boolean

  • Scope

Client

onSaveRole

  • Description

Called when the save button is pressed when adding or editing a role. This code is executed in a background thread.

  • Parameters

Component self - A reference to the component that is invoking this function.

Object saveContext - An object that can be used to reject the edit by calling saveContect.rejectSave('reason').

String oldName - The role name before editing. Will be None for a role being added.

String newName - The new name of the edited role.

  • Return

Nothing

  • Scope

Client

onSaveUser

  • Description

Called when the save button is pressed when adding or editing a user. This code is executed in a background thread.

  • Parameters

Component self - A reference to the component that is invoking this function.

Object saveContext - An object that can be used to reject the edit by calleing saveContect.rejectSave('reason').

User Object user - The user that is trying to be saved. Call user.get('propertyName') to inspect. Common properties: 'username', 'schedule','language'. Call user.getRoles() for a list of rolenames.

  • Return

Nothing

  • Scope

Client

Event Handlers

mouse

mouseClicked

This event signifies a mouse click on the source component. A mouse click the combination of a mouse press and a mouse release, both of which must have occurred over the source component. Note that this event fires after the pressed and released events have fired.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mouseEntered

This event fires when the mouse enters the space over the source component.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mouseExited

This event fires when the mouse leaves the space over the source component.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mousePressed

This event fires when a mouse button is pressed down on the source component.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mouseReleased

This event fires when a mouse button is released, if that mouse button's press happened over this component.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mouseMotion

mouseDragged

Fires when the mouse moves over a component after a button has been pushed.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

mouseMoved

Fires when the mouse moves over a component, but no buttons are pushed.

.source

The component that fired this event

.button

The code for the button that caused this event to fire.

.clickCount

The number of mouse clicks associated with this event.

.x

The x-coordinate (with respect to the source component) of this mouse event.

.y

The y-coordinate (with respect to the source component) of this mouse event.

.popupTrigger

Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.

.altDown

True (1) if the Alt key was held down during this event, false (0) otherwise.

.controlDown

True (1) if the Control key was held down during this event, false (0) otherwise.

.shiftDown

True (1) if the Shift key was held down during this event, false (0) otherwise.

propertyChange

propertyChange

Fires whenever a bindable property of the source component changes. This works for standard and custom (dynamic) properties.

.source

The component that fired this event

.newValue

The new value that this property changed to.

.oldValue

The value that this property was before it changed. Note that not all components include an accurate oldValue in their events.

.propertyName

The name of the property that changed. NOTE: remember to always filter out these events for the property that you are looking for! Components often have many properties that change.

Customizers
Examples

There are no examples associated with this component.