@@ -1273,13 +1273,23 @@ var CreateGraphDialog = function(editorUi, title, type)
1273
1273
graph . view . setTranslate ( 20 , 20 ) ;
1274
1274
graph . border = 20 ;
1275
1275
graph . panningHandler . useLeftButtonForPanning = true ;
1276
+
1277
+ // Fixes in-place editor position
1278
+ if ( mxClient . IS_SVG && graph . view . getDrawPane ( ) != null )
1279
+ {
1280
+ var root = graph . view . getDrawPane ( ) . ownerSVGElement ;
1281
+
1282
+ if ( root != null )
1283
+ {
1284
+ root . style . position = 'absolute' ;
1285
+ }
1286
+ }
1276
1287
1277
1288
var vertexStyle = 'rounded=1;' ;
1278
1289
var edgeStyle = 'curved=1;' ;
1279
1290
var startStyle = 'ellipse' ;
1280
1291
1281
1292
// FIXME: Does not work in iPad
1282
- var mxCellRendererInstallCellOverlayListeners = mxCellRenderer . prototype . installCellOverlayListeners ;
1283
1293
graph . cellRenderer . installCellOverlayListeners = function ( state , overlay , shape )
1284
1294
{
1285
1295
mxCellRenderer . prototype . installCellOverlayListeners . apply ( this , arguments ) ;
@@ -1338,7 +1348,7 @@ var CreateGraphDialog = function(editorUi, title, type)
1338
1348
v2 = graph . insertVertex ( parent , null , 'Entry' , geo . x , geo . y , 80 , 30 , vertexStyle ) ;
1339
1349
addOverlay ( v2 ) ;
1340
1350
graph . view . refresh ( v2 ) ;
1341
- var e1 = graph . insertEdge ( parent , null , '' , cell , v2 , edgeStyle ) ;
1351
+ graph . insertEdge ( parent , null , '' , cell , v2 , edgeStyle ) ;
1342
1352
} , function ( )
1343
1353
{
1344
1354
graph . scrollCellToVisible ( v2 ) ;
@@ -3485,10 +3495,10 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
3485
3495
3486
3496
function create ( )
3487
3497
{
3488
- if ( templateXml == lastAiXml )
3498
+ if ( templateXml != null && templateXml == lastAiXml )
3489
3499
{
3490
3500
EditorUi . logEvent ( { category : 'OPENAI-DIAGRAM' ,
3491
- action : 'templateUsed ' ,
3501
+ action : 'templateGenerated ' ,
3492
3502
label : lastAiTitle } ) ;
3493
3503
}
3494
3504
@@ -3834,7 +3844,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
3834
3844
editorUi . generateOpenAiMermaidDiagram ( prompt ,
3835
3845
function ( mermaidData , imageData , w , h )
3836
3846
{
3837
- if ( selectedElt == generateElt )
3847
+ if ( selectedElt == generateElt && generateInput . style . visibility == 'hidden' )
3838
3848
{
3839
3849
generateBackground = 'url(' + 'data:image/svg+xml;base64,' +
3840
3850
imageData . substring ( imageData . indexOf ( ',' ) + 1 ) + ')' ;
@@ -13310,63 +13320,58 @@ var FilePropertiesDialog = function(editorUi, publicLink)
13310
13320
}
13311
13321
} ;
13312
13322
} ;
13323
+
13324
+ var initialLocked = ( file != null ) ? file . isLocked ( ) : false ;
13313
13325
13314
- if ( urlParams [ 'test' ] == '1' )
13315
- {
13316
- var initialLocked = ( file != null ) ? file . isLocked ( ) : false ;
13317
-
13318
- row = document . createElement ( 'tr' ) ;
13319
- td = document . createElement ( 'td' ) ;
13320
- td . style . whiteSpace = 'nowrap' ;
13321
- td . style . overflow = 'hidden' ;
13322
- td . style . textOverflow = 'ellipsis' ;
13323
- td . style . fontSize = '10pt' ;
13326
+ row = document . createElement ( 'tr' ) ;
13327
+ td = document . createElement ( 'td' ) ;
13328
+ td . style . whiteSpace = 'nowrap' ;
13329
+ td . style . overflow = 'hidden' ;
13330
+ td . style . textOverflow = 'ellipsis' ;
13331
+ td . style . fontSize = '10pt' ;
13324
13332
13325
- // TODO: Use mxResources.get('locked')
13326
- mxUtils . write ( td , 'Locked' + ':' ) ;
13327
-
13328
- row . appendChild ( td ) ;
13333
+ mxUtils . write ( td , mxResources . get ( 'locked' ) + ':' ) ;
13334
+ row . appendChild ( td ) ;
13329
13335
13330
- var lockedInput = document . createElement ( 'input' ) ;
13331
- lockedInput . setAttribute ( 'type' , 'checkbox' ) ;
13332
-
13333
- if ( initialLocked )
13334
- {
13335
- lockedInput . setAttribute ( 'checked' , 'checked' ) ;
13336
- lockedInput . defaultChecked = true ;
13337
- }
13338
-
13339
- td = document . createElement ( 'td' ) ;
13340
- td . style . whiteSpace = 'nowrap' ;
13341
- td . appendChild ( lockedInput ) ;
13342
- row . appendChild ( td ) ;
13343
- tbody . appendChild ( row ) ;
13336
+ var lockedInput = document . createElement ( 'input' ) ;
13337
+ lockedInput . setAttribute ( 'type' , 'checkbox' ) ;
13338
+
13339
+ if ( initialLocked )
13340
+ {
13341
+ lockedInput . setAttribute ( 'checked' , 'checked' ) ;
13342
+ lockedInput . defaultChecked = true ;
13343
+ }
13344
+
13345
+ td = document . createElement ( 'td' ) ;
13346
+ td . style . whiteSpace = 'nowrap' ;
13347
+ td . appendChild ( lockedInput ) ;
13348
+ row . appendChild ( td ) ;
13349
+ tbody . appendChild ( row ) ;
13344
13350
13345
- this . init = function ( )
13346
- {
13347
- lockedInput . focus ( ) ;
13348
- } ;
13351
+ this . init = function ( )
13352
+ {
13353
+ lockedInput . focus ( ) ;
13354
+ } ;
13349
13355
13350
- addApply ( function ( success , error )
13356
+ addApply ( function ( success , error )
13357
+ {
13358
+ if ( editorUi . fileNode != null && initialLocked != lockedInput . checked )
13351
13359
{
13352
- if ( editorUi . fileNode != null && initialLocked != lockedInput . checked )
13360
+ window . setTimeout ( function ( )
13353
13361
{
13354
- window . setTimeout ( function ( )
13362
+ if ( file != null )
13355
13363
{
13356
- if ( file != null )
13357
- {
13358
- file . setLocked ( lockedInput . checked ) ;
13359
- }
13364
+ file . setLocked ( lockedInput . checked ) ;
13365
+ }
13360
13366
13361
- success ( ) ;
13362
- } , 0 ) ;
13363
- }
13364
- else
13365
- {
13366
13367
success ( ) ;
13367
- }
13368
- } ) ;
13369
- }
13368
+ } , 0 ) ;
13369
+ }
13370
+ else
13371
+ {
13372
+ success ( ) ;
13373
+ }
13374
+ } ) ;
13370
13375
13371
13376
if ( isPng || isSvg )
13372
13377
{
0 commit comments