egroupware_official/api/js/egw_action/Class Diagram.svg
milan 5e3c67a5cf converted egw_action from javascript to typescript
classes are now uppercase and in their own files. lowercase classes are deprecated.
Interfaces are now actual interfaces that should be implemented instead of creating and returning an ai Object every time
2023-07-10 16:54:22 +02:00

180 lines
24 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" stroke="black" text-rendering="auto" stroke-linecap="square" width="954" stroke-miterlimit="10" stroke-opacity="1" shape-rendering="auto" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="513" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
<!--Generated by ySVG-->
<defs id="genericDefs"/>
<g>
<defs id="defs1">
<linearGradient x1="-118.2762" gradientUnits="userSpaceOnUse" x2="164.7238" y1="47" y2="150" id="linearGradient1" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(51,102,255)" offset="100%"/>
</linearGradient>
<linearGradient x1="-94.2762" gradientUnits="userSpaceOnUse" x2="137.7238" y1="192" y2="284" id="linearGradient2" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
</linearGradient>
<linearGradient x1="521.4925" gradientUnits="userSpaceOnUse" x2="804.4925" y1="47" y2="150" id="linearGradient3" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(51,102,255)" offset="100%"/>
</linearGradient>
<linearGradient x1="546.9925" gradientUnits="userSpaceOnUse" x2="778.9925" y1="249.4062" y2="287.8438" id="linearGradient4" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
</linearGradient>
<linearGradient x1="282.3438" gradientUnits="userSpaceOnUse" x2="362.3438" y1="129.5938" y2="193.625" id="linearGradient5" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(204,255,204)" offset="100%"/>
</linearGradient>
<linearGradient x1="-62.8075" gradientUnits="userSpaceOnUse" x2="106.255" y1="372.2975" y2="462.2975" id="linearGradient6" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
</linearGradient>
<linearGradient x1="546.9925" gradientUnits="userSpaceOnUse" x2="778.9925" y1="355.1875" y2="479.4075" id="linearGradient7" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
</linearGradient>
<linearGradient x1="206.3438" gradientUnits="userSpaceOnUse" x2="438.3438" y1="355.1875" y2="479.4075" id="linearGradient8" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
<path d="M0 0 L954 0 L954 513 L0 513 L0 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
<path d="M-134 32 L820 32 L820 545 L-134 545 L-134 32 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
<path d="M-5.9764 -5.3239 L853.9673 -5.3239 L853.9673 457.0986 L-5.9764 457.0986 L-5.9764 -5.3239 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
<path d="M-31.7238 -152 L922.2762 -152 L922.2762 361 L-31.7238 361 L-31.7238 -152 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
<path d="M-582.6693 -5.3239 L277.2744 -5.3239 L277.2744 457.0986 L-582.6693 457.0986 L-582.6693 -5.3239 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
<path d="M-672.9925 -209.4062 L281.0075 -209.4062 L281.0075 303.5938 L-672.9925 303.5938 L-672.9925 -209.4062 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
<path d="M-339.5947 -27.6875 L614.4053 -27.6875 L614.4053 485.3125 L-339.5947 485.3125 L-339.5947 -27.6875 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
<path d="M-134 129.5938 L-134 545 L820 545 L820 129.5938 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
<path d="M-134 32 L-134 129.5938 L820 129.5938 L820 32 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
<path d="M-63.1925 -332.2975 L890.8074 -332.2975 L890.8074 180.7025 L-63.1925 180.7025 L-63.1925 -332.2975 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
<path d="M-668.762 -315.1875 L285.2379 -315.1875 L285.2379 197.8125 L-668.762 197.8125 L-668.762 -315.1875 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
<path d="M-200.2666 -229.9078 L503.549 -229.9078 L503.549 148.5591 L-200.2666 148.5591 L-200.2666 -229.9078 Z"/>
</clipPath>
</defs>
<g fill="white" transform="translate(134,-32)" stroke="white">
<rect x="-134" width="954" height="513" y="32" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g transform="matrix(1.1094,0,0,1.1094,6.63,5.9062)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath3)" width="276" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARQAAACECAYAAABRYdSOAAACe0lEQVR42u3a0W6b&#10;MBSAYdO4W9v3f9euSYCCdCx5tAsQdlPn+6QjMpTlIpJ/2aEpAQAAAAAA8PN0O9/X&#10;7fx/wM81/uN6KCjze55iumqA9oNSZoi5GZW8MSbz+07VCAo8RkzmiPTTXOP+zajk&#10;DTGZA/I8ze+45rgPtK2POVcz3huUEpX5Pb+meZ3mJV5n3zU0v0MpMflT7U7KHNqh&#10;lKC8RVSyYw80bYhjzkf8+xJxubnu9/yGUo49L/FaUKDtoFyqmJSfOspDmfGeoCx3&#10;KiUsggLtByXFLuVUxSQd2aEsw7IcoE3dPWve0xpgTf33KCndeMojKMB/IyiAoACC&#10;AggKgKAAggIICiAoAIICCAogKACCAggKICiAoAAICiAogKAACAogKICgAIICICiA&#10;oACCAiAogKAAggIICoCgAIICCAqAoACCAggKICgAggIICiAoAIICCAogKICgAAgK&#10;ICiAoAAICiAogKAAggIgKICgAIICCIqvABAUQFAAQQEQFEBQAEEBBAVAUABBAQQF&#10;QFAAQQEEBRAUAEEBBAUQFABBAQQFEBRAUAAEBRAUQFAABAUQFEBQAEEB+Ea3uH6R&#10;7/jQMQZo13frfHXd5x0fPkzTV9fOdw7NGhZrftMmYi0odUiu01ymOcc9QYG2g1LW&#10;/HURlfFoUK4RklPcyxEURx9oS1cdd8q6P0dY+rU1nzecofr4wPeIy/z6yQ4FmlbW&#10;/hySjyoow5GglN1JqVbZpXg6BI9x7OmrncqhHUpdqRTXU8TF7gQeY5cypr8fxoxr&#10;56UtZ6pU7UrEBB4rKqk66vjdFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9voE&#10;59t9icsH2x0AAAAASUVORK5CYII=" height="132" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient1)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient1)">
<path d="M-118.2762 47 L164.7238 47 L164.7238 150 L-118.2762 150 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M-118.2762 47 L164.7238 47 L164.7238 150 L-118.2762 150 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="-23.8797" y="102.6543" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">Action Manager</text>
<text x="-36.0145" y="167.1387" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">Controls everything</text>
</g>
<g transform="matrix(1,0,0,1,31.7238,152)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath4)" width="253" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP0AAABxCAYAAAAeR6VfAAACGklEQVR42u3YbWuC&#10;UBiA4Sy3tf3//9rypabwHDjICs3Gcdt1wYMi2ofg9qi7HQAAAAAAsC3VwvOqhdcB&#10;P+t6Y7sq+vGcfUyVDbCd4C+T7U31zODH8w7ZiB62EX0KvR+mi+N3w69nBD9G/jLM&#10;W2zrOA6Ujz4F3wxzntwMHl7px3Neh3kf5hj7tf8bikvBt8OcJjeBhx7v85U+Rf8R&#10;4dce8aG49Eh/juDbmOpZ7/TpEf8Y+6KH8tG3sd9mr96rop+u+Cl+0UN56dtaF33u&#10;53S55N28+maAch5q0Vd4+KePB4DoAdEDogdED4geED0gekD0gOgB0QOiB0QPiB5E&#10;D4geED0gekD0gOgB0QOiB0QPiB4QPSB6QPQgekD0gOgB0QOiB0QPiB4QPSB6QPSA&#10;6AHRA6IHRA+iB0QPiB4QPSB6QPSA6AHRA6IHRA+IHhA9IHoQPSB6QPSA6AHRA6IH&#10;RA+IHhA9IHpA9IDoAdEDogfRA6IHRA+IHhA9IHpA9IDoAdEDogdED4geED0gehA9&#10;8KfVM8+7xlxi+mEqfx8UdckmNfqU6FPsXUwbx0QP5aNvo8s+i39V9Hnw44+fs+tE&#10;D+Wj76LLZm749YLgT3Fs3D+IHjYRfR9Nfsa2XxN9Cr/PVvgurvEBEMqbLszN2ujT&#10;D+Z3lSaCt8rDtsLvs7kb/Zx4q5h9tg9sK/zrbuZX/CUBix22Hz8AAAAAAPDrfAG6&#10;2nOLHXgASQAAAABJRU5ErkJggg==" height="113" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient2)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient2)">
<path d="M-94.2762 192 L137.7238 192 L137.7238 284 L-94.2762 284 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M-94.2762 192 L137.7238 192 L137.7238 284 L-94.2762 284 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="-71.1151" y="242.1543" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ActionManagerImplementation</text>
</g>
<g transform="matrix(1.1094,0,0,1.1094,646.3988,5.9062)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath5)" width="276" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARQAAACECAYAAABRYdSOAAACe0lEQVR42u3a0W6b&#10;MBSAYdO4W9v3f9euSYCCdCx5tAsQdlPn+6QjMpTlIpJ/2aEpAQAAAAAA8PN0O9/X&#10;7fx/wM81/uN6KCjze55iumqA9oNSZoi5GZW8MSbz+07VCAo8RkzmiPTTXOP+zajk&#10;DTGZA/I8ze+45rgPtK2POVcz3huUEpX5Pb+meZ3mJV5n3zU0v0MpMflT7U7KHNqh&#10;lKC8RVSyYw80bYhjzkf8+xJxubnu9/yGUo49L/FaUKDtoFyqmJSfOspDmfGeoCx3&#10;KiUsggLtByXFLuVUxSQd2aEsw7IcoE3dPWve0xpgTf33KCndeMojKMB/IyiAoACC&#10;AggKgKAAggIICiAoAIICCAogKACCAggKICiAoAAICiAogKAACAogKICgAIICICiA&#10;oACCAiAogKAAggIICoCgAIICCAqAoACCAggKICgAggIICiAoAIICCAogKICgAAgK&#10;ICiAoAAICiAogKAAggIgKICgAIICCIqvABAUQFAAQQEQFEBQAEEBBAVAUABBAQQF&#10;QFAAQQEEBRAUAEEBBAUQFABBAQQFEBRAUAAEBRAUQFAABAUQFEBQAEEB+Ea3uH6R&#10;7/jQMQZo13frfHXd5x0fPkzTV9fOdw7NGhZrftMmYi0odUiu01ymOcc9QYG2g1LW&#10;/HURlfFoUK4RklPcyxEURx9oS1cdd8q6P0dY+rU1nzecofr4wPeIy/z6yQ4FmlbW&#10;/hySjyoow5GglN1JqVbZpXg6BI9x7OmrncqhHUpdqRTXU8TF7gQeY5cypr8fxoxr&#10;56UtZ6pU7UrEBB4rKqk66vjdFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9voE&#10;59t9icsH2x0AAAAASUVORK5CYII=" height="132" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient3)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient3)">
<path d="M521.4925 47 L804.4925 47 L804.4925 150 L521.4925 150 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M521.4925 47 L804.4925 47 L804.4925 150 L521.4925 150 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="617.1517" y="102.6543" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ObjectManager</text>
<text x="577.6771" y="167.1387" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">Handles the action "targets"</text>
</g>
<g transform="matrix(1,0,0,1,672.9925,209.4062)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath6)" width="253" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP0AAAA7CAYAAACwhIxVAAABtklEQVR42u3dcUuD&#10;QBjAYd2sVt//u4bTzRTeg0NaqVuc1fPAizacQfDbnfunqgIAAAAAAPalXnldvfJ9&#10;wM8abhzvin665hBTZwPsJ/jr7HhTszD46bpjNqKHfUSfQr+M08frX4bfLAh+ivxp&#10;nJc4NvE6UD76FPx5nHb2YbB5pZ+ueR7ndZxTnDf+3lBcCr4b5332IbBpe5+v9Cn6&#10;twi/scWH4tKWvo3gu5j6Uc/0aYt/inPRQ/nouzjvskfvu6Kfr/gpftFDeem7tT76&#10;PCzpcs2zef3JAOVsatG38PBPtweA6AHRA6IHRA+IHhA9IHpA9IDoAdEDogdED4ge&#10;RA+IHhA9IHpA9IDoAdEDogdED4geED0gekD0IHpA9MAf1ay8fsgGKGtTj82KG19j&#10;LrFD8P/poaxLTGpz0QdAszD46cbdOOdxjvELRA/lo++jyz5+fkj0Kfg2VvjrhscC&#10;4PHSzvscffbZir8p+mF20zrOW9t72E3012wXfs7C3xz9EDepspsfKt/6wx7kj9/9&#10;0i3+d6t1HXPIprbKw26ir7It/SXboW+Ofh5/JXjYZfjzIwAAAAAA8Gt8AJTtczas&#10;zj7oAAAAAElFTkSuQmCC" height="59" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient4)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient4)">
<path d="M546.9925 249.4062 L778.9925 249.4062 L778.9925 287.8438 L546.9925 287.8438 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M546.9925 249.4062 L778.9925 249.4062 L778.9925 287.8438 L546.9925 287.8438 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="597.6927" y="272.7793" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ActionObjectInterface</text>
</g>
<g transform="matrix(1,0,0,1,339.5947,27.6875)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath7)" width="238" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAACSCAYAAABCDvaYAAACqklEQVR42u3b62rb&#10;QBCAUVmXuGnf/1njiy6RYBY2QpZrEcukPQcGO/TfoM+7NrQoAAAAAAAAAAAAAAAA&#10;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA+w5W8G07PNjpqmH2frAS4b5qd2nK&#10;7L293g43n17Awn1VtFU25ULAfA23j+my6cUr3D2jrWPexmnifQqY2+G241xnI94H&#10;1VawKdwqYv0Vc4yAa+HelE7bKdTzOKfY5RAxd1Yk3D1O2ynU93H+xGsK1/fc299v&#10;u4j0FB9+Q3ZdduoK96nKeOhSuL/j9eg77t14U7hl/J2uym12+iLcp5y4ZeytiXiP&#10;cV1usnBZDreaRfvmdwHh7nlVzuPNf5gS7f3dFXHypp1Vbinbrn1sjze/GnvwHr+5&#10;lG4pwn1FvIJFuIBwQbiAcAHhgnAB4QLCBYQLwgWECwgXhAsIFxDuUx0K/63vO/dY&#10;2KNwQbiAcAHhgnAB4QLCBYQLwv3/DAvD9j0W9ihcEC4gXEC4IFxAuIBwAeGCcAHh&#10;AsIF4QLCBYQLwgWECwgXhAsIFxAuIFwQLiBcQLggXEC4gHBBuIBwAeECwgXhAsIF&#10;hAvCBYQLCBeECwgXEC4IFxAuIFxAuCBcQLiAcEG4gHAB4YJwAeECwgXhAsL91w0L&#10;w/YdItzdHrYumz7GQ3h/f/1sxLtBbQWbHr4p1naca7y28SHog3BdH7tLe0sffOIV&#10;7i4nRnr4zuM0Eez0b9U4B2ta3V3a2zSXCNhtRbi7PHxtPHQfWbTX2KdTd/2mMu3p&#10;FLs7Zycvwt3lAbzE6TrEw9dk4Tp1l38bSOFeIt5z/O3EFe4u39OWTpE6uyoLdznc&#10;/GtGmk60j/OAbZd+jKpmr3b6d/H6NV64L93f0rAe7yBY4drlz4sXAAAAAPipPgGM&#10;sLCR5n5YRAAAAABJRU5ErkJggg==" height="146" preserveAspectRatio="none"/>
<rect x="282.3438" y="103.625" transform="matrix(1,0,0,1,-205.5947,-59.6875)" clip-path="url(#clipPath8)" fill="url(#linearGradient5)" width="80" image-rendering="auto" rx="4" ry="4" height="90" stroke="none"/>
<rect x="282.3438" y="103.625" transform="matrix(1,0,0,1,-205.5947,-59.6875)" clip-path="url(#clipPath9)" fill="rgb(153,204,0)" width="80" image-rendering="auto" rx="4" ry="4" height="90" stroke="none"/>
<rect stroke-linecap="butt" x="282.3438" y="103.625" transform="matrix(1,0,0,1,-205.5947,-59.6875)" clip-path="url(#clipPath2)" fill="none" width="80" image-rendering="auto" rx="4" ry="4" height="90" stroke-miterlimit="1.45"/>
<line stroke-linecap="butt" transform="matrix(1,0,0,1,-205.5947,-59.6875)" clip-path="url(#clipPath2)" fill="none" x1="282.3438" x2="362.3438" y1="129.5938" image-rendering="auto" y2="129.5938" stroke-miterlimit="1.45"/>
</g>
<g stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt">
<text x="303.4473" xml:space="preserve" y="120.7637" clip-path="url(#clipPath2)" stroke="none">Action</text>
<text x="286.3438" xml:space="preserve" y="146.7324" clip-path="url(#clipPath2)" stroke="none">Caption</text>
<text x="286.3438" xml:space="preserve" y="160.7012" clip-path="url(#clipPath2)" stroke="none">Icon</text>
<text x="286.3438" xml:space="preserve" y="174.6699" clip-path="url(#clipPath2)" stroke="none">onExec</text>
<text x="286.3438" xml:space="preserve" y="188.6387" clip-path="url(#clipPath2)" stroke="none">etc.</text>
<text x="215.5947" xml:space="preserve" y="80.8262" clip-path="url(#clipPath2)" stroke="none">The list of actions &amp; their attributes</text>
<text x="233.1465" xml:space="preserve" y="94.7949" clip-path="url(#clipPath2)" stroke="none">is provided by the application</text>
</g>
<g transform="matrix(1,0,0,1,63.1925,332.2975)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath10)" width="190" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAACECAYAAAAulZFWAAACKElEQVR42u3Y606r&#10;QBSAUVDU6vu/q9pCEZK9k4mJOhQvo66V7NBDij9OvplM6ToAAAAAfp9+4/f6jc/B&#10;d5jfuO4Kf/3OVUxfDLQUfs45Zt4TfkY/LHNdjPBpLfoMfox5N/6hIvo19Jtl7uI6&#10;xH1oRQZ/WuY57q3/ni4JP+Nfv3O7zP0yh/g8+L+moR1/iuifioUwRb/znh0/w3+I&#10;+AfHHRrb7Y/RZO78u3f8POPncecQn4VPS+H3EXwexd/ts+bIUu78uQCET0vhZ8tV&#10;0deGXy6A1wM/re8ueNXu7Qx/5QduXmfhg/BB+AgfhA/CB+GD8EH4IHwQPggfhA/C&#10;B+GD8EH4IHwQPggfhA/CB+EjfBA+CB+ED8IH4YPwQfggfBA+CB+ED8IH4YPwQfgg&#10;fBA+CB+Ej/BB+CB8ED4IH4QPwgfhg/BB+CB8ED4IH4QPwgfhg/BB+CB8ED7CB+GD&#10;8EH4IHwQPggfhA/CB+GD8EH4IHwQPggfhA/C51/pi2svfP6LubjONQ8MG/7wOueY&#10;qXZlwRc7F/Op4WfwY8wp7gmfVsIfi8lFsCv8Mvo1+OfiOeHTyjFnjDZPRfzzpeG/&#10;jv4x7q2fr4VPY0edtcunZY5xFD/v3fGnYqcf4xk/imlpx8/fnacI/8Ndv2bHL1fW&#10;MaK329Ni/HlCmT466tQEnO9Gr7oN70nhB+Kfu8q3O1siFjy/ZQEAAAAAAAAAAAAA&#10;AAAAAAAAAAAAAH/DCyxBe4Jwja5pAAAAAElFTkSuQmCC" height="132" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient6)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient6)">
<path d="M-62.8075 372.2975 L106.255 372.2975 L106.255 462.2975 L-62.8075 462.2975 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M-62.8075 372.2975 L106.255 372.2975 L106.255 462.2975 L-62.8075 462.2975 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="-44.8153" y="421.4518" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ActionImplementation</text>
<text x="-41.7274" y="479.4362" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">eg popup, drag, drop</text>
</g>
<g transform="matrix(1,0,0,1,668.762,315.1875)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath11)" width="261" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQUAAADDCAYAAACLUASMAAAC8UlEQVR42u3ZjUrj&#10;QBSA0UwbV3ff/13dtvkxYW9gDGWxk8YJcg5cGgVNQeZzJm0aAAAAAACAZ0obfy5t&#10;/D3Ac42r6/E7opBiTjFJFOBQUVhmyF6/rC0IwhyCc0wrDHC4KMwR6Kfp4vWhHUNp&#10;FOafe53m1yoMQF1LEG7TXKe5RBD6PaKw7AbOEYO3aX5HHFpRgMPsEm4RgxQxGLKj&#10;xC47heXYMEfhT4Shje8D9XcJ11irXVx3ez9TWMLwEruEt7gWBagfhS6O813p0b4t&#10;uPG9h42iAMeIQorXdRDSXseH9Y7h1Hz+aBKoZ70eiz4VPG14oLEeoK7xP2tz3DsK&#10;wA/ebgCIAiAKgCgAogCIAiAKgCgAogCIAiAKgCgAogCIAiAKgCgAogCIAiAKgCgA&#10;ogAgCoAoAKIAiAIgCoAoAKIAiAIgCoAoAKIAiAIgCoAoAKIAiAIgCoAoAKIAIAqA&#10;KACiAIgCIAqAKACiAIgCIAqAKACiAIgCIAqAKACiAIgCIAqAKACiAIgCgCgAogCI&#10;AiAKgCgAogCIAiAKgCgAogCIAiAKgCgAogCIAiAKgCgAogCIAiAKAKIAiAIgCoAo&#10;AKIAiAIgCoAoAKIAiAIgCoAoAKIAiAIgCoAoAKIAiAIgCoAoAIgCIAqAKACiAIgC&#10;IAqAKACiAIgCIAqAKACiAPzcKKQ7A9SVr8XitVkahfHOAHXla7F4bbZPehPzDP4m&#10;cIgobPpH3W64cR/TxY7jbMcA1Y4Ny7rsYoaY3XcKeRDmG9+mucb3PLSEuoZYm9dY&#10;m31JGEqiMEQQ5hu/x9etKMAhjg99BOFvrNH+0aN9++AN85u+x/Uljg4+gYD6Uch3&#10;C5fsKDHuEYW8RMuR4RZBsEuAY4VhebbQf9fxYblOWRBS40Ej1LBee2O2O3j4mULa&#10;+EYcGeC4O4bGP2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#10;AAAAAAAAAAAAAAAAAAAAAAAAAPjnA1m1l77bMps1AAAAAElFTkSuQmCC" height="195" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient7)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient7)">
<path d="M546.9925 355.1875 L778.9925 355.1875 L778.9925 479.4075 L546.9925 479.4075 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M546.9925 355.1875 L778.9925 355.1875 L778.9925 479.4075 L546.9925 479.4075 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="576.9124" y="421.4518" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ActionObjectImplementation</text>
<text x="578.0286" y="496.5462" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">Object specific - each object</text>
<text x="544.762" y="510.5149" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">type (nextmatch, tree) defines how the</text>
<text x="569.0257" y="524.4836" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">action is handled on this object</text>
</g>
<g transform="matrix(1.3555,0,0,1.3555,271.4551,311.6328)" image-rendering="optimizeQuality">
<image x="0" y="0" clip-path="url(#clipPath12)" width="275" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAACKCAYAAACJt66HAAACc0lEQVR42u3Zy4rj&#10;MBBA0dhx+jH//6/TedhpC0pgvJvFQKk4B4rueGek3MjJ5QIAAAAAAEBeU9F7miwt&#10;A3if/opJsoi0mUWFQSKyxbwrvAErheR6GjEha0zarKcZOihLoQWa434+YpbDCQUy&#10;6aeR5z6PmB4XMUlwMmknkds+X/t87/MZ12Z7l2RaNF773GPvbhUedyrFpJ9MWkT+&#10;RFBuYkLCR5w1TiNz/P+MuAytUkyOp5PPOKF8xDXIFJNXhKSdRH4uRb7fq/SdST+d&#10;XOO+bjFiQraY9JCcfyiYPObkOp30qBwHMsVkO+zN474d2lxskc4DI+3XofesT21A&#10;TAAxAcQEQEwAMQHEBBATADEBxAQQE0BMAMQEEBNATADEBBATQEwAMQEQE0BMADEB&#10;xARATAAxAcQEEBMAMQHEBBATADEBxAQQE0BMAMQEEBNATAAxARATQEwAMQHEBEBM&#10;ADEBxARATAAxAcQEEBMAMQHEBBATQEwAxAQQE0BMADEBEBNATAAxARATQEwAMQHE&#10;BEBMADEBxAQQEwAxAcQEEBNATADEBBATQEwAxAQQE0BMADEBEBNATAAxAf7RFDOs&#10;pejCvE8D2ffm8Pt0KbhQW8y6z0tMSLhH15i+V98VgrIUW6QtAvLc5xHXrvYvCWPy&#10;iH26noIiJslC8jeutfvzvRAZ92rbp/dDUMQkWe3bwvzE60ecSib7l2S2w+nkHh+C&#10;m5jkq/0lFqeHREzIul/7B+CrwqNOpTfaFI80fYSEEYJy/BJWTBLez1T4Hhk/IufX&#10;fnEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+A9+AWYAhomJoZXs&#10;AAAAAElFTkSuQmCC" height="138" preserveAspectRatio="none"/>
</g>
<g fill="url(#linearGradient8)" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,134,-32)" stroke-linecap="butt" stroke="url(#linearGradient8)">
<path d="M206.3438 355.1875 L438.3438 355.1875 L438.3438 479.4075 L206.3438 479.4075 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M206.3438 355.1875 L438.3438 355.1875 L438.3438 479.4075 L206.3438 479.4075 Z" clip-path="url(#clipPath2)" stroke="black"/>
<text x="291.1602" y="421.4518" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">ActionLink</text>
<text x="252.7051" y="496.5462" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">connects AO to Actions</text>
<text x="151.0098" y="510.5149" clip-path="url(#clipPath2)" fill="black" font-family="sans-serif" stroke="none" xml:space="preserve">gives each AO a chance to decide if the action is allowed</text>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,134,-32)" stroke-miterlimit="1.45">
<path fill="none" d="M22.6697 150.0292 L22.3045 183.9962" clip-path="url(#clipPath2)"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,134,-32)" stroke-miterlimit="1.45">
<path d="M22.2185 191.9957 L27.3472 180.0502 L22.3152 182.9962 L17.3478 179.9427 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M662.9925 149.9612 L662.9925 241.4174" clip-path="url(#clipPath2)"/>
<path d="M662.9925 249.4174 L667.9925 237.4174 L662.9925 240.4174 L657.9925 237.4174 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M144.432 201.5186 L282.3635 160.5112" clip-path="url(#clipPath2)"/>
<path fill="white" d="M137.7223 203.5134 L143.0072 196.7259 L151.1418 199.5237 L145.8569 206.3112 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M137.7223 203.5134 L143.0072 196.7259 L151.1418 199.5237 L145.8569 206.3112 Z" clip-path="url(#clipPath2)"/>
<path fill="none" stroke-dasharray="6,2" d="M282.3076 184.4065 L83.2625 362.2986" clip-path="url(#clipPath2)"/>
<path fill="white" stroke-dasharray="6,2" d="M72.0783 372.2943 L88.0064 366.1059 L80.0099 357.1585 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M72.0783 372.2943 L88.0064 366.1059 L80.0099 357.1585 Z" clip-path="url(#clipPath2)"/>
<path fill="none" stroke-dasharray="6,2" d="M662.9925 355.1933 L662.9925 302.8577" clip-path="url(#clipPath2)"/>
<path fill="white" stroke-dasharray="6,2" d="M662.9925 287.8577 L656.9925 303.8577 L668.9925 303.8577 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M662.9925 287.8577 L656.9925 303.8577 L668.9925 303.8577 Z" clip-path="url(#clipPath2)"/>
<path fill="none" d="M206.3452 417.2975 L106.2368 417.2975" clip-path="url(#clipPath2)"/>
<path fill="none" d="M322.3438 355.2129 L322.3438 193.6396" clip-path="url(#clipPath2)"/>
<path fill="none" d="M438.319 417.2975 L547.0081 417.2975" clip-path="url(#clipPath2)"/>
</g>
</g>
</svg>