Note: With the release of ARCHIBUS V.23.2, all ARCHIBUS views were converted to use the HTML drawing control instead of the Flash drawing control. If you have previously created views that use the Flash drawing control, the view's drawings will still work.
For new views that you create, ARCHIBUS, Inc. recommends using the HTML control, as the Flash control is slated for desupport in future versions of ARCHIBUS. For information on converting existing views with Flash drawings to HTML format, see Convert views with the Flash drawing control to the HTML drawing control.
The Flash Drawing Control has following list of exposed properties:
Property | Description |
---|---|
_delim | This determines the delimiter that is used when working with some data such as a concatenated string of primary keys such as: ‘HQ;17;101’. The default is ‘;’. |
optionalPKFields | A list of optional fields that specifies other data values that should be returned in the ‘onclick’ handler other than the default primary key information of the selected asset. |
The Flash Drawing Control supports the following events:
Event | Description |
---|---|
onclick |
Is fired when an asset is selected with a mouse in the Drawing Control. This event will returns the following information: 1) The selected ids (with 2) 3) And optionally a color, only when |
onload | Is fired after the Flash Control has fully loaded. No information is returned with this event. |
onresetassets | Is fired when the ‘Reset Rooms’ button is clicked. No information is returned with this event. |
ondatasourcechanged |
Is fired anytime a datasource used in the Drawing Control is applied. This event will return the following information: 1) The type: 1 = Labels, 2 = Highlights 2) The datasource name. |
onselecteddatasourcechanged |
Is fired when a datasource is changed from either of the Highlight or Labels drop down boxes. 1) The type: 1 = Labels, 2 = Highlights 2) The datasource name. |
onhighlightschanged | Is fired after a highlight datasource has been applied and all assets in the drawing have been refreshed. |
The Drawing Control has following list of exposed methods:
Method | Description |
---|---|
addDrawing(ob, options[optional]) |
Adds a drawing to the view.
|
removeDrawing(ob) |
Removes a drawing from the view.
|
clear() | Removes all drawings from the view. |
clearHighlights(ob[optional]) |
Clears existing highlights from the specified drawing. If
|
highlightAssets(options, row[optional]) |
Highlight the specific assets.
|
findAsset(ob, opts, zoomTold, loadDwg, bSelected) |
Finds an asset, will load the drawing if needed.
|
isometric (isometric, apply) |
Depending on the provided Boolean, turns isometric project on/off.
|
getSelectedAssetIds() | Returns a list of currently selected assets in the loaded drawings. |
setSelectColor(color) | Allows the app to override the default fill color from the drawing-control.xml file that is applied when assets are selected. This setting can be used in conjunction with the ‘assignMode’ attribute is set to a non-zero value. |
setToAssign(field, value, color) | This is used in conjunction with the ‘assignMode’ attribute being set to 1 (One-to-One assign logic). This instructs the Drawing Control to apply the color for the specified field and value when an asset is selected in the Drawing Control. |
appendNoFillValue(value, fill) |
Allows the app to specify particular values that should not be filled. The specified fill will be used instead when highlighting is being applied to the drawing.
|
appendRuleSet(name, ruleSet) |
Appends a rule set. See the section on Rule Sets for more information.
|
appendInstruction(ctrlId, eventName, msg, onlyIfDwgLoaded) |
Appends an instruction that will be displayed in the Drawing Control title bar under certain conditions.
|
setToolbar(action, option, names) |
Shows/Hides or Enables/Disables toolbar buttons.
|
toolbarCmd(buttonName) | Executes the command associated with the specified buttonName . See the ‘toolbarSettings’ in the Panel Attributes table for a list of valid button names. |
setSelectabilty(options, selectable) |
Allows the application developer to manually set a group of specified assets to be selectable or not selectable.
|
setLabels(loc, opts, mode) |
Manually sets label text on specified assets.
|
setDrawingTitle() | Sets the display text that is displayed below the drawing. By default this is the building/floor name. |
clearAssignCache() | When the ‘assignMode’ attribute is set to something other than 0 , then this is typically called after a group of assignments have been committed to the database. When ‘assignMode’ is > 0 , it internally keeps track of assignments that have been temporarily made, which is independent of anything else that the application itself may be keeping track of. This method will clear the cached assignments. |
clearPersistFills() | Clears any existing preset persistent fills. See the DwgOpts.persistRecFills for information on how to set. |
print() | Returns an array of bytes containing a PNG image to be printed. (Not currently supported) |
The ‘options’ argument where used in the above methods is a DwgOpts
object which provides a great deal of control over the Drawing Control for the application developer. In most common situations, the use of a DwgOpts
object is not needed, but in instances where an application needs to externally manage the highlighting and labels, this is the object that is used to handle that.
The following table describes the available properties and methods on this object:
Properties | ||||
---|---|---|---|---|
Name | Type | Purpose | Default Value | |
assetType | String | A list of asset file types to load, as a comma delimited string. The default is ‘rm’. This provides a mechanism for the application developer to load non-rm based asset files, such as ‘su’. Currently, only a single asset file can be loaded at a time. | ‘rm’ | |
assetSuffix | String | Used by default views (e.g. the hazmat plan). Loads highlights for assets whose names do not match their table names. | undefined | . |
backgroundSuffix | String |
Specifies an alternate background file to be loaded for situations where you want to have different versions of a drawing file. For example, you might want to have a drawing that shows only room boundaries, and another version that shows the departments and employees assigned to each room. For this property to work, you must have already saved the drawing file with a suffix, such as hq17-alternate. The suffix can be any string that you choose to identify the file. You can then use the background Suffix property to specify the additional version of the drawing. |
||
highlightId | String | A single asset to apply the ‘assigned’ fill to | ||
zoomToId | Bool | If the highlightId value is set, zoom into asset on load |
false | |
multiple | Bool | Is loading of more than one drawing at a time supported | true | |
exclusive | Bool | Only the highlightId will have the ‘assigned’ fill applied to it. All others will have the ‘unassigned’ fill applied to them. |
false | |
fill | DwgFill | Overrides the ‘assigned’ highlighting fill as specified in the drawing-control.xml file. This provides a way for application developers to manually control ‘assigned’ highlighting colors per their application’s needs. Setting the ‘mode’ property is a simpler way to control this in most circumstances, but using this ‘fill’ parameter will provide higher level of control of the highlighting. | undefined | |
mode | String | This specifies logically the type of highlighting that will be applied to the list of records associated with this DwgOpts object. Supported options are:
‘assigned’,
‘unassigned’,
‘selected’,
‘unselected’,
‘’ (an empty string)
|
‘’ (an empty string) | |
selectionMode | String | Determines which assets if any can be selected in the Drawing Control. Supported options are: ‘0’: Selection is disabled, ‘1’: Only ‘assigned’ assets, per the Drawing Control ‘highlightDataSource’ attribute, ‘2’: All assets are selectable | ‘2’ | |
assignMode | assignMode | This enables ‘assignment’ type of logic internal to the Drawing Control to graphically manage highlighting the type of assignment being done. Supported options are: ‘0’: Disabled, ‘1’: One to One, ‘2’: One to Many, ‘3’: Many to One, ‘4’: Many to Many | ‘0’ | |
multipleSelectionEnabled | Allow more than asset to be selected at a time. The ‘assignMode’ setting will override this if it is set to a non disabled mode. | true | ||
forceload | Bool | Not currently supported | true | |
persistRecFills | Bool | If highlightAssets is called with this set true, the specified fills will override datasource changes. | false | |
folder | For internal use only, do not modify. | |||
dwgName | For internal use only, do not modify. | |||
recs | For internal use only, do not modify. |
Methods | ||
---|---|---|
Name | Arguments | Purpose |
setFillColor | color : An RGB value in hex form.
e.g. ‘ff03e9’ |
In most cases, when applying highlighting, all that needs to be set is the color itself, not all of the other associated parameters. This method provides a simpler way of just specifying the color without the overhead of creating a DwgFill object. |
appendRec |
|
This allows application developers to manually control on a per asset basis the highlight and label applied to the specified ids. |
The Rule Set functionality allows application developers to provide the following level control over highlighting:
Unlike the DwgOpts
object, which requires the application developer to specify specific assets to apply colors to after the drawing is displayed, the Rule Set logic allows the application developer to specify colors for particular values as the result of a query issue against the highlightDataSource
. And those colors are applied as the drawing is loaded. A typical example of the types of cases that can take advantage of this functionality is as follows:
I have an application that is highlighting all rooms that are vacant, but what I want to see is that the colors that are applied are based on the area values. Meaning I want to be able to quickly differentiate between small, medium, and large rooms.
To use this functionality, the application developer would implement this by building a DwgHighlightRuleSet
object and then appending it to the DrawingControl object with the appendRuleSet
method which takes two arguments:
The Drawing Control supports multiple datasources for highlighting, and so rule sets can be applied to all data sources if desired.
As best practice, when you set the drawing name, do not set it within the loop for each of the row, as they are the same. Instead, you can create a variable, such as currentDwgname
in your controller, and set this value each time when user clicks on the tree node. You can pass this value into the HighlightAssets()
function. This helps to avoid drawing load errors when the drawing name is different than bl_id+fl_id.
Copyright © 1984-2018, ARCHIBUS, Inc. All rights reserved. |