Ridimensionamento della casella del pannello in JSLCiao comunità JMP,
Sto creando un componente aggiuntivo che genera una dashboard. La dashboard ha un pannello con un elenco di opzioni tra cui scegliere. La parte del codice che specifica la casella del pannello è mostrata di seguito (ho cercato di renderlo il più semplice possibile commentando righe irrilevanti per il problema in questione). Eseguendo il codice, il pannello che ottengo è simile a questo:

Questo è eccessivamente largo e voglio avere il controllo sulle sue dimensioni, ma non sono riuscito a capire come. Ho provato "<< Imposta dimensione( larghezza, altezza )" e "<< Dimensione cornice( larghezza, altezza )" e non hanno funzionato, anche se non sono sicuro di averli usati correttamente o se sono i messaggi giusti per cominciare. Potresti per favore consigliarmi?
Grazie in anticipo!
Ahmad
win = Platform(
dt,
H List Box(
Panel Box( "Select option:",
plist = List Box(
points,
max selected( 1 ),
chosen = plist << get selected;
if( chosen[1] != "",
// Some simple code that runs if no option is selected.
);
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
)
)
)
);
Personalizzazione di massaRi: Ridimensionamento della casella del pannello in JSLMi sono appena reso conto che quanto la scatola esterna può restringersi con quella interna è limitato dal titolo ("Seleziona opzione:"): più piccolo è il titolo, più può restringersi con la scatola interna. Inutile dire poi che togliendo il titolo tutto insieme si risolve la questione.
Grazie per l'aiuto e per i link utili, @jthi !
Ri: Ridimensionamento della casella del pannello in JSLLe scatole distanziatrici possono fare cose piuttosto carine. Controlla il link qui sotto (in particolare le parti 10 e 11 con Spacer Boxes):
13 utili (e fortunati) suggerimenti per lo scripting di JMP
Modificare:
Dai un'occhiata anche a questa fantastica presentazione del Discovery Summit del 2019 Un approccio strutturato alla programmazione con JSL per la creazione di applicazioni reali e scalabili .L'argomento relativo a questo inizia al minuto 22:00, ma suggerisco di dare un'occhiata all'intera presentazione.
Ri: Ridimensionamento della casella del pannello in JSLGrazie @jthi !
Solo a beneficio di tutti gli altri, il "plist << set width( x );" ha funzionato solo per me quando l'ho aggiunto alla sezione "Initialize ()" del codice dell'applicazione.
Tuttavia, come estensione della mia domanda iniziale, se guardi di nuovo l'immagine della casella "Seleziona opzione:" sopra, noterai che è composta da una casella esterna e una interna. La soluzione che hai suggerito controlla bene l'interno, ma solo. Mentre quello esterno si allungherebbe con quello interno, non si restringerebbe con esso oltre un certo punto. Ho provato a etichettare "Panel Box();" e "Casella di riepilogo H();" per poi applicare "<< set width():" a loro e per "vincere" nello stesso modo, ma senza alcun risultato. Tutti i suggerimenti sarebbero apprezzati.
Grazie ancora!
AhmadRi: Ridimensionamento della casella del pannello in JSLRidimensiona il contenuto all'interno della casella del pannello
plist << Set Width(50)
Esempio completo:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/TurbineEngineDesign1.jmp");
win = new window("", Platform(
dt,
H List Box(
Panel Box( "Select option:",
plist = List Box(
{"single", "double", "triple"},
max selected( 1 ),
chosen = plist << get selected;
if( chosen[1] != "",
// Some simple code that runs if no option is selected.
);
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
// Some simple code that runs if option is selected.
)
)
)
));
wait(2);
plist << set width(50);