5.3.4 Méthodes d'accès aux valeurs du document

Ces méthodes permettent de récupérer et de modifier les valeurs du document en cours.

5.3.4.1 getProperties

Cette méthode retourne les propriétés du document en cours sous la forme d'un objet.

5.3.4.1.1 Arguments

Pas d'arguments

5.3.4.1.2 Retour

Objet

5.3.4.1.3 Exception

Pas d'exception

5.3.4.1.4 Exemple

window.dcp.document.documentController("getProperties");

retourne

{
    "id": 1435,
    "title": "12/05/1985",
    "family": {
        "title": "Test tout type",
        "name": "TST_ALLTYPE",
        "id": 1430,
        "icon": "resizeimg.php?img=Images%2Fdoc.png&size=24"
    },
    "icon": "resizeimg.php?img=Images%2Fdoc.png&size=24",
    "revision": 0,
    "status": "alive",
    "initid": 1435,
    "viewId": "!defaultEdition",
    "renderMode": "edit",
    "isModified": false
}

5.3.4.2 getProperty

Cette méthode retourne une propriété du document en cours.

5.3.4.2.1 Arguments

property (string)
nom de la propriété

5.3.4.2.2 Retour

Suivant la propriété demandée. Si la propriété n'existe pas, le retour est undefined.

5.3.4.2.3 Exception

Pas d'exception

5.3.4.2.4 Exemple

window.dcp.document.documentController("getProperty", "title")

retourne

"COLLET Noah"

5.3.4.3 hasAttribute

Cette méthode retourne true si l'attribut est présent dans le document en cours.

5.3.4.3.1 Arguments

attributeId (string): nom de l'attribut

5.3.4.3.2 Retour

Un Booléen.

5.3.4.3.3 Exception

Pas d'exception

5.3.4.3.4 Exemple

Ajout d'une méthode hasAttribute

function (attributeId) {
        var hasAttribute = window.dcp.document.documentController("hasAttribute",attributeId)
        console.log("l'attribut ", attributeId, "est présent dans le document ?", hasAttribute)
}

5.3.4.4 getAttributes

Cette méthode retourne la liste des attributs du document en cours.

5.3.4.4.1 Arguments

Pas d'arguments

5.3.4.4.2 Retour

Un tableau d'objet attributs.

5.3.4.4.3 Exception

Pas d'exception

5.3.4.4.4 Exemple

Ajout d'une méthode getAttributes

function () {
        var getAttributes = window.dcp.document.documentController("getAttributes")
        console.log("les attribut du document sont :", getAttributes)
}

5.3.4.5 getAttribute

Cette méthode retourne un attribut du document en cours.

5.3.4.5.1 Arguments

attributeId (string)
nom de l'attribut

5.3.4.5.2 Retour

Un objet attribut. Retourne null, si l'attribut n'existe pas.

5.3.4.5.3 Exception

Pas d'exception

5.3.4.5.4 Exemple

Ajout d'une méthode getAttribute

function (attributeId:string) {
        var getAttribute = window.dcp.document.documentController("getAttribute",attributeId)
        console.log("voici l'attribut ", attributeId, " : ", getAttribute)
}

5.3.4.6 getValues

Cette méthode retourne les valeurs des attributs du document en cours.

5.3.4.6.1 Arguments

pas d'argument

5.3.4.6.2 Retour

Un objet indexé par les noms des attributs, et pour chaque attribut les clés suivantes :

value
la valeur brute
displayValue
la valeur telle qu'affichée

5.3.4.6.3 Exception

Pas d'exception

5.3.4.6.4 Exemple

window.dcp.document.documentController("getValues")

retourne

{
    "zct_civility": {
        "value": null,
        "displayValue": null
    },
    "zct_lname": {
        "value": "COLLET",
        "displayValue": "COLLET"
    },
    "zct_fname": {
        "value": "Noah",
        "displayValue": "Noah"
    },
    "zct_mail": {
        "value": "noah142@zoo.net",
        "displayValue": "noah142@zoo.net"
    },
    "zct_photo": {
        "value": null,
        "displayValue": null
    },
    "zct_phone": {
        "value": null,
        "displayValue": null
    },
    "zct_mobile": {
        "value": null,
        "displayValue": null
    },
    "zct_workaddr": {
        "value": null,
        "displayValue": null
    },
    "zct_workpostalcode": {
        "value": null,
        "displayValue": null
    },
    "zct_worktown": {
        "value": "Châteauroux",
        "displayValue": "Châteauroux"
    }
}

5.3.4.7 getValue

Cette méthode retourne la valeur d'un attribut du document en cours.

5.3.4.7.1 Arguments

attributeId (string)
identifiant de l'attribut

5.3.4.7.2 Retour

Un objet

5.3.4.7.3 Exception

Si l'attribut n'existe pas

5.3.4.7.4 Exemple

window.dcp.document.documentController("getValue", "zct_civility")

retourne

{
    "value":null,
    "displayValue":null
}

5.3.4.8 setValue

Cette méthode met à jour la valeur d'un attribut du document en cours.

5.3.4.8.1 Arguments

attributeId (string)
identifiant de l'attribut
value (object)
La valeur sous la forme d'un objet contenant value : valeur brute de l'attribut, (obligatoire) displayValue : valeur de l'attribut présentée aux utilisateurs.

Suivant les types d'attribut, la valeur peut nécessiter d'autres informations. Si displayValue n'est pas renseignée, elle sera affectée à la valeur de value.

Pour les attributs multivalués (attributs dans les tableaux ou avec l'option multiple=yes), la valeur doit renseigner un "index" pour indiqué le rang de l'élément à modifier.

5.3.4.8.2 Retour

Pas de retour

5.3.4.8.3 Exception

  • Si l'attribut n'existe pas,
  • Si la valeur ne contient pas au moins la propriété value

Dans le cas d'un multiple, la valeur doit contenir aussi l'index ou être un tableau. Dans le cas de nombres multiple dans un tableau, la propriété display value doit être renseignée (cette valeur ne peut pas utiliser de point comme séparateur de décimal dans un nombre)

5.3.4.8.4 Exemples

Cas d'un attribut texte simple :

window.dcp.document.documentController("setValue", "zct_title", {value: "Bonjour à tous"});

Cas d'un attribut énuméré simple : value est la clef

window.dcp.document.documentController("setValue", "zct_civility",
    {
        value: "M",
        displayValue: "Monsieur"
    }
);

Cas d'une relation (docid) multiple : affectation du troisième élément

window.dcp.document.documentController("setValue", "zct_annexes",
    {
         value : "9876",
         displayValue:"Conjecture de Hodge",
         index: 2
    }
);

Cas d'une date dans un tableau : affectation du premier élément

window.dcp.document.documentController("setValue", "zct_dates",
    {
        value : "1999-12-25",
        index: 0
    }
);

Si l'index est égal au nombre d'élément déjà présent dans le tableau, une rangée est ajoutée avec la nouvelle valeur. Si l'index dépasse le nombre d'élément, des rangées supplémentaires sont ajoutées. Ces rangées supplémentaires contiennent les valeurs par défaut.

Cas d'une relation (docid) multiple : affectation de 3 éléments

window.dcp.document.documentController("setValue","zct_mathematical_problems",
    [
        {value:"1978", displayValue:"Équations de Navier-Stokes"},
        {value:"2032", displayValue:"Conjecture de Poincaré"},
        {value:"2123", displayValue:"Hypothèse de Riemann"}
    ]
);

Cas de nombres dans un tableau : affectation d'une colonne avec 3 éléments. Le résultat produit un tableau avec 3 rangées.

window.dcp.document.documentController("setValue","zct_widths",
    [
        {value: 187.5},
        {value: 209.56},
        {value: -12.5}
    ]
);

Dans ce cas, si le nombre d'éléments est inférieur au nombre de rangées, les rangées supérieures à ce nombre d'éléments sont supprimées. Si le nombre est supérieur aux nombres de rangée, des rangées supplémentaires sont ajoutées. Ces rangées supplémentaires contiennent les valeurs par défaut.

Cas de relation multiple dans un tableau : affectation de 3 liens dans la cellule "zct_annexes" de la rangée n°2. Dans ce cas, la valeur contient un tableau de valeurs. Il n'est pas possible de modifier directement un sous-index particulier des relations multiples dans les tableaux.

window.dcp.document.documentController("setValue","zct_annexes",
    {
        index : 1,
        value: [
            {value:"4948", displayValue:"Conjecture de Birch et Swinnerton-Dyer"},
            {value:"1032", displayValue:"Équations de Yang-Mills"},
            {value:"2123", displayValue:"Hypothèse de Riemann"}
        ]
    }
);

5.3.4.9 appendArrayRow

Cette méthode permet d'ajouter une ligne à la fin d'un attribut de type tableau.

Si une des colonnes du tableau n'est pas renseignée, la valeur par défaut sera utilisée.

5.3.4.9.1 Arguments

attributeId
identifiant de l'attribut
values
un objet ayant pour clef la valeur d'un des attributs du tableau et pour contenu de chaque clef un objet avec les propriétés : value : valeur brute de l'attribut, displayValue : valeur de l'attribut présenté aux utilisateurs.

5.3.4.9.2 Retour

Pas de retour

5.3.4.9.3 Exception

  • Si l'attribut n'existe pas,
  • L'attribut n'est pas un attribut tableau,
  • Si la valeur n'est pas un objet,

5.3.4.9.4 Exemple

Insérer une ligne à la fin du tableau

window.dcp.document.documentController("appendArrayRow", "zct_array_numbers",
    {
        zct_integers:{value:12},
        zct_doubles:{value:3.1415},
        zct_moneys:{value:12.5}
    }
);

5.3.4.10 insertBeforeArrayRow

Cette méthode permet d'ajouter une ligne avant une ligne d'un attribut de type tableau.

5.3.4.10.1 Arguments

attributeId
identifiant de l'attribut
values
un objet ayant pour clef la valeur d'un des attributs du tableau et pour contenu de chaque clef un objet avec les propriétés : value : valeur brute de l'attribut, displayValue : valeur de l'attribut présenté aux utilisateurs.
index (int)
Position à laquelle sera insérée la ligne (0 étant au début du tableau)

5.3.4.10.2 Retour

Pas de retour

5.3.4.10.3 Exception

  • Si l'attribut n'existe pas,
  • Si l'attribut n'est pas un attribut tableau,
  • Si la valeur n'est pas un objet,
  • Si l'index n'est pas entre le minimum et le maximum du tableau

5.3.4.10.4 Exemple

Insérer une ligne en première place d'un tableau :

window.dcp.document.documentController(
    "insertBeforeArrayRow",
    "tst_apibase_array",
    {
        "tst_dates" :{
            value : "1985-05-13"
        }
    },
    0
);

5.3.4.11 removeArrayRow

Cette méthode permet de supprimer une ligne d'un tableau.

5.3.4.11.1 Arguments

attributeId (string)
identifiant de l'attribut
index (int)
index de la ligne avant l'insertion

5.3.4.11.2 Retour

Pas de retour

5.3.4.11.3 Exception

  • Si l'attribut n'existe pas,
  • Si l'index n'est pas entre le minimum et le maximum du tableau

5.3.4.11.4 Exemple

Supprimer la première ligne d'un tableau

window.dcp.document.documentController("removeArrayRow", "tst_apibase_array", 0)
×