diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0bf9bfe3..2c3385824 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,10 @@ jobs: strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8 ] + smalltalk: [ Pharo64-13, Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8 ] experimental: [ false ] include: - - smalltalk: Pharo64-13 + - smalltalk: Pharo64-14 experimental: true - smalltalk: GToolkit64-release experimental: true diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baseline..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baseline..st index e21eb26bf..b2a45afe1 100644 --- a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baseline..st +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baseline..st @@ -11,6 +11,7 @@ baseline: spec self baselinefilesystem: spec. self baselineadaptors: spec. self baselinecomet: spec. + self baselinewebsocket: spec. self baselinejavascript: spec. self baselinejquery: spec. self baselinejqueryui: spec. diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st index 7207f12e7..3a691c59f 100644 --- a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st @@ -39,7 +39,15 @@ baselineadaptors: spec spec for: #pharo - do: [ + do: [ + spec + baseline: 'Zinc WebSockets' + with: [ + spec + className: 'BaselineOfZincHTTPComponents'; + loads: #('WebSocket'); + repository: 'github://svenvc/zinc:master/repository' ]. + spec package: 'Seaside-Adaptors-Comanche' with: [ spec requires: #('KomHttpServerLight' 'Seaside-Core') ]; package: 'KomHttpServerLight' with: [ spec repository: 'http://www.smalltalkhub.com/mc/Seaside/KomHttpServer/main' ]; @@ -56,7 +64,8 @@ baselineadaptors: spec spec for: #gemstone - do: [ spec + do: [ + spec project: 'FastCGI Project' with: [ spec className: 'ConfigurationOfGsFastCGI'; diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinecommon..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinecommon..st index 8e34175a3..28fa678b6 100644 --- a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinecommon..st +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinecommon..st @@ -67,6 +67,8 @@ baselinecommon: spec spec requires: #('Seaside-Component' 'Seaside-Canvas' ) ]; package: 'Seaside-HotwireTurbo-Core' with: [ spec requires: #('Seaside-Core' 'Seaside-Component' 'Seaside-Canvas' 'Seaside-RenderLoop' ) ]; + package: 'Seaside-HotwireStimulus-Core' with: [ + spec requires: #('Seaside-Core' 'Seaside-Component' 'Seaside-Canvas' 'Seaside-RenderLoop' ) ]; package: 'Seaside-HotwireTurbo-Examples' with: [ spec requires: #('Seaside-HotwireTurbo-Core' 'Seaside-Examples') ]; package: 'Seaside-Tests-Canvas' with: [ @@ -112,7 +114,7 @@ baselinecommon: spec group: 'Core' with: #('Seaside-Core' 'Seaside-Continuation' 'Seaside-Canvas' 'Seaside-Session' 'Seaside-Component' 'Seaside-RenderLoop' 'Seaside-Tools-Core' 'Seaside-Flow' 'Seaside-Environment' 'Seaside-Widgets' ); group: 'Tests' with: #('Core' 'Seaside-Tests-Core' 'Seaside-Tests-Canvas' 'Seaside-Tests-Session' 'Seaside-Tests-Component' 'Seaside-Tests-RenderLoop' 'Seaside-Tests-Environment' 'Seaside-Tests-Flow' 'Seaside-Tests-UTF8' 'Seaside-Tests-InternetExplorer' 'Seaside-Tests-Email' 'Seaside-Tests-Examples' 'Seaside-Tests-WebComponents' 'RSS Tests' 'Welcome Tests' 'REST Tests' 'Swagger Tests' 'Seaside-Tests-Parasol' 'Seaside-Tests-HotwireTurbo'); - group: 'Hotwired' with: #('Seaside-HotwireTurbo-Core'); + group: 'Hotwired' with: #('Seaside-HotwireTurbo-Core' 'Seaside-HotwireStimulus-Core'); group: 'Development' with: #('Core' 'Seaside-Development'); group: 'Development Tests' with: #('Development' 'Core' 'Seaside-Tests-Development'); group: 'Email' with: #('Seaside-Email'); diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinegettext..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinegettext..st index 7c23fe78d..a4319c571 100644 --- a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinegettext..st +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinegettext..st @@ -15,8 +15,7 @@ baselinegettext: spec with: [ spec requires: #('Seaside-Gettext-Examples') ]. spec group: 'Seaside-Gettext' with: #('Seaside-Gettext-Core'); - group: 'Gettext-Examples' - with: #('Seaside-Gettext' 'Seaside-Gettext-Examples'); + group: 'Gettext-Examples' with: #('Seaside-Gettext' 'Seaside-Gettext-Examples'); group: 'Tests' with: #('Seaside-Tests-Gettext-Core' 'Gettext-Examples') ]. spec diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinewebsocket..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinewebsocket..st new file mode 100644 index 000000000..8f26d2b67 --- /dev/null +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselinewebsocket..st @@ -0,0 +1,20 @@ +baselines +baselinewebsocket: spec + + spec for: #'pharo' do: [ + spec blessing: #baseline. + spec + package: 'Seaside-WebSocket-Core' with: [ + spec requires: #('Javascript-Core' 'Seaside-Canvas' ) ]; +" package: 'Seaside-WebSocket-Tests-Core' with: [ + spec requires: #('Javascript-Tests-Core' 'Seaside-WebSocket-Core' ) ];" + package: 'Seaside-WebSocket-Zinc' with:[ + spec requires: #('Zinc' 'Zinc WebSockets') ]; + package: 'Seaside-WebSocket-Examples' with: [ + spec requires: #('JQuery-Core' 'Seaside-WebSocket-Core') ]. + + spec + group: 'WebSocket' with: #('Seaside-WebSocket-Core' 'Seaside-WebSocket-Zinc'); +" group: 'WebSocket Tests' with: #('Seaside-WebSocket-Tests-Core' );" + group: 'Examples' with: #('Seaside-WebSocket-Examples' ) + "group: 'Tests' with: #('WebSocket Tests')" ] \ No newline at end of file diff --git a/repository/Seaside-Canvas.package/WATagBrush.class/instance/attributeAt.put.if..st b/repository/Seaside-Canvas.package/WATagBrush.class/instance/attributeAt.put.if..st new file mode 100644 index 000000000..44540d075 --- /dev/null +++ b/repository/Seaside-Canvas.package/WATagBrush.class/instance/attributeAt.put.if..st @@ -0,0 +1,4 @@ +accessing-attributes +attributeAt: aKey put: aValue if: aBoolean + + ^ aBoolean ifTrue:[ self attributes at: aKey put: aValue ] \ No newline at end of file diff --git a/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put..st b/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put..st index 9fc7777b1..953f036b0 100644 --- a/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put..st +++ b/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put..st @@ -1,4 +1,4 @@ attributes dataAttributeAt: aString put: aValue - self attributeAt: 'data-',aString put: aValue \ No newline at end of file + ^ self attributeAt: 'data-',aString put: aValue \ No newline at end of file diff --git a/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put.if..st b/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put.if..st index 032548613..29b46e349 100644 --- a/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put.if..st +++ b/repository/Seaside-Canvas.package/WATagBrush.class/instance/dataAttributeAt.put.if..st @@ -1,4 +1,4 @@ attributes dataAttributeAt: aString put: aValue if: aBoolean - aBoolean ifTrue:[ self dataAttributeAt: aString put: aValue ] \ No newline at end of file + ^ aBoolean ifTrue:[ self dataAttributeAt: aString put: aValue ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/GRPlatform.extension/instance/seasideVersion.st b/repository/Seaside-Core.package/GRPlatform.extension/instance/seasideVersion.st index 2206ac400..85d2361e9 100644 --- a/repository/Seaside-Core.package/GRPlatform.extension/instance/seasideVersion.st +++ b/repository/Seaside-Core.package/GRPlatform.extension/instance/seasideVersion.st @@ -2,5 +2,5 @@ seasideVersion "Answer the Seaside version" - ^ (GRVersion major: 3 minor: 5 revision: 9) + ^ (GRVersion major: 3 minor: 6 revision: 0) yourself \ No newline at end of file diff --git a/repository/Seaside-Core.package/WARequest.class/instance/isWebSocketSetupRequest.st b/repository/Seaside-Core.package/WARequest.class/instance/isWebSocketSetupRequest.st new file mode 100644 index 000000000..f4cc972d4 --- /dev/null +++ b/repository/Seaside-Core.package/WARequest.class/instance/isWebSocketSetupRequest.st @@ -0,0 +1,9 @@ +testing +isWebSocketSetupRequest + "Return true when request can be considered a valid WebSocket setup request" + + ^ self isGet + and: [ (self headerAt: 'upgrade' ifAbsent: [ ^ false ]) asLowercase = 'websocket' + and: [ (self headerAt: 'connection' ifAbsent: [ ^ false ]) asLowercase = 'upgrade' + and: [ (self headerAt: 'sec-websocket-version' ifAbsent: [ ^ false ]) = '13' + and: [ self headers includesKey: 'sec-websocket-key' ] ] ] ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WARequestContext.class/instance/webSocket.st b/repository/Seaside-Core.package/WARequestContext.class/instance/webSocket.st new file mode 100644 index 000000000..046a76bda --- /dev/null +++ b/repository/Seaside-Core.package/WARequestContext.class/instance/webSocket.st @@ -0,0 +1,3 @@ +accessing +webSocket + ^ self properties at: #webSocket ifAbsent:[ nil ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WARequestHandler.class/instance/handleFiltered..st b/repository/Seaside-Core.package/WARequestHandler.class/instance/handleFiltered..st index 0a567a997..6f591f6d3 100644 --- a/repository/Seaside-Core.package/WARequestHandler.class/instance/handleFiltered..st +++ b/repository/Seaside-Core.package/WARequestHandler.class/instance/handleFiltered..st @@ -1,5 +1,5 @@ handling handleFiltered: aRequestContext - "Handle aRequestContext by either dispatching to a different request handler of by producing a response and singalling the result." + "Handle aRequestContext by either dispatching to a different request handler of by producing a response and signalling the result." self subclassResponsibility \ No newline at end of file diff --git a/repository/Seaside-GemStone-Adaptors-Zinc.package/WAGsZincAdaptor.class/instance/websocketSetupResponseFrom..st b/repository/Seaside-GemStone-Adaptors-Zinc.package/WAGsZincAdaptor.class/instance/websocketSetupResponseFrom..st new file mode 100644 index 000000000..266520e06 --- /dev/null +++ b/repository/Seaside-GemStone-Adaptors-Zinc.package/WAGsZincAdaptor.class/instance/websocketSetupResponseFrom..st @@ -0,0 +1,4 @@ +as yet unclassified +websocketSetupResponseFrom: aRequestContext + + Error signal: 'Web sockets not supported yet in GemStone' \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/.filetree b/repository/Seaside-HotwireStimulus-Core.package/.filetree new file mode 100644 index 000000000..57a679737 --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusAction..st b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusAction..st new file mode 100644 index 000000000..c32f7b10b --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusAction..st @@ -0,0 +1,4 @@ +*Seaside-HotwireStimulus-Core +stimulusAction: aString + + self dataAttributeAt: 'action' put: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusController..st b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusController..st new file mode 100644 index 000000000..f863b1efa --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusController..st @@ -0,0 +1,4 @@ +*Seaside-HotwireStimulus-Core +stimulusController: aString + + self dataAttributeAt: 'controller' put: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusTarget.inController..st b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusTarget.inController..st new file mode 100644 index 000000000..9ed9cbfe9 --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/instance/stimulusTarget.inController..st @@ -0,0 +1,4 @@ +*Seaside-HotwireStimulus-Core +stimulusTarget: targetName inController: controllerName + + self dataAttributeAt: controllerName,'-target' put: targetName \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/properties.json b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/properties.json new file mode 100644 index 000000000..153378c82 --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/WATagBrush.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "WATagBrush" +} \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/categories.st b/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/categories.st new file mode 100644 index 000000000..3dc0438e9 --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +self packageOrganizer ensurePackage: #'Seaside-HotwireStimulus-Core' withTags: #()! diff --git a/repository/Seaside-Tests-HotwireTurbo.package/WAHotwireTurboCalledTestComponent.class/README.md b/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/initializers.st similarity index 100% rename from repository/Seaside-Tests-HotwireTurbo.package/WAHotwireTurboCalledTestComponent.class/README.md rename to repository/Seaside-HotwireStimulus-Core.package/monticello.meta/initializers.st diff --git a/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/package b/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/package new file mode 100644 index 000000000..acc329d4a --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Seaside-HotwireStimulus-Core') \ No newline at end of file diff --git a/repository/Seaside-HotwireStimulus-Core.package/properties.json b/repository/Seaside-HotwireStimulus-Core.package/properties.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/repository/Seaside-HotwireStimulus-Core.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboConfirm..st b/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboConfirm..st new file mode 100644 index 000000000..36ac3f9e0 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboConfirm..st @@ -0,0 +1,8 @@ +*Seaside-HotwireTurbo-Core +turboConfirm: aString + "Decorate links with both data-turbo-confirm and data-turbo-method, + and confirmation will be required for a visit to proceed. + https://turbo.hotwired.dev/handbook/drive#requiring-confirmation-for-a-visit" + + self turboMethod: 'get'. + self dataAttributeAt: 'turbo-confirm' put: aString diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboMethod..st b/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboMethod..st new file mode 100644 index 000000000..e302c12ff --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAAnchorTag.extension/instance/turboMethod..st @@ -0,0 +1,4 @@ +*Seaside-HotwireTurbo-Core +turboMethod: aString + + self dataAttributeAt: 'turbo-method' put: aString diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/renderLazyTurboFrameContentsOn..st b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/renderLazyTurboFrameContentsOn..st new file mode 100644 index 000000000..1d304d920 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/renderLazyTurboFrameContentsOn..st @@ -0,0 +1,3 @@ +*Seaside-HotwireTurbo-Core +renderLazyTurboFrameContentsOn: html + "Subclasses can override this to render the placeholder contents for a lazy-loaded turboframe decoration of themselves." \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow..st b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow..st index 0b471f62b..6ca01528b 100644 --- a/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow..st +++ b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow..st @@ -1,5 +1,4 @@ *Seaside-HotwireTurbo-Core turboShow: aComponent - aComponent addDecoration: (WATurboFrame newWithId: self turboframeDecoration id). - ^ self show: aComponent + ^ self turboShow: aComponent onAnswer: [ :value | ] diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow.onAnswer..st b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow.onAnswer..st new file mode 100644 index 000000000..f10ed01c5 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAComponent.extension/instance/turboShow.onAnswer..st @@ -0,0 +1,5 @@ +*Seaside-HotwireTurbo-Core +turboShow: aComponent onAnswer: aBlock + + aComponent addDecoration: (WATurboFrame newWithId: self turboframeDecoration id). + ^ self show: aComponent onAnswer: aBlock diff --git a/repository/Seaside-HotwireTurbo-Core.package/WADecoration.extension/instance/renderLazyTurboFrameContentsOn..st b/repository/Seaside-HotwireTurbo-Core.package/WADecoration.extension/instance/renderLazyTurboFrameContentsOn..st new file mode 100644 index 000000000..caded7a48 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WADecoration.extension/instance/renderLazyTurboFrameContentsOn..st @@ -0,0 +1,4 @@ +*Seaside-HotwireTurbo-Core +renderLazyTurboFrameContentsOn: html + + self next renderLazyTurboFrameContentsOn: html \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/instance/turboSubmitsWith..st b/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/instance/turboSubmitsWith..st new file mode 100644 index 000000000..f5555aa99 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/instance/turboSubmitsWith..st @@ -0,0 +1,8 @@ +*Seaside-HotwireTurbo-Core +turboSubmitsWith: aString + "Specifies text to display when submitting a form. Can be used on input or button elements. + While the form is submitting the text of the element will show the value of data-turbo-submits-with. + After the submission, the original text will be restored. + Useful for giving user feedback by showing a message like “Saving…” while an operation is in progress." + + self dataAttributeAt: 'turbo-submits-with' put: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/properties.json b/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/properties.json new file mode 100644 index 000000000..e1f9d7160 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAFormInputTag.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "WAFormInputTag" +} \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAMetaElement.class/instance/turboPrefetch..st b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboPrefetch..st similarity index 88% rename from repository/Seaside-Core.package/WAMetaElement.class/instance/turboPrefetch..st rename to repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboPrefetch..st index 66640a5d0..3ea77225f 100644 --- a/repository/Seaside-Core.package/WAMetaElement.class/instance/turboPrefetch..st +++ b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboPrefetch..st @@ -1,4 +1,4 @@ -attributes +*Seaside-HotwireTurbo-Core turboPrefetch: aString "Prefetching links is enabled by default since Turbo v8, but you can disable it by adding this meta tag to your page with value false." diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshMethod..st b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshMethod..st new file mode 100644 index 000000000..2eff46164 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshMethod..st @@ -0,0 +1,11 @@ +*Seaside-HotwireTurbo-Core +turboRefreshMethod: aString + + "The possible values are 'morph' or 'replace' (the default). + When it is morph, when a page refresh happens, instead of replacing the page’s
contents, + Turbo will only update the DOM elements that have changed, keeping the rest untouched. + This approach delivers better sensations because it keeps the screen state. + https://turbo.hotwired.dev/handbook/page_refreshes.html" + + self name: 'turbo-refresh-method'. + self content: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshScroll..st b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshScroll..st new file mode 100644 index 000000000..3efb5c9a3 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRefreshScroll..st @@ -0,0 +1,9 @@ +*Seaside-HotwireTurbo-Core +turboRefreshScroll: aString + + "The possible values are 'preserve' or 'reset' (the default). + When it is preserve, when a page refresh happens, Turbo will keep the page’s vertical and horizontal scroll. + https://turbo.hotwired.dev/handbook/page_refreshes.html#scroll-preservation" + + self name: 'turbo-refresh-scroll'. + self content: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRoot..st b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRoot..st new file mode 100644 index 000000000..caf10b41f --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboRoot..st @@ -0,0 +1,8 @@ +*Seaside-HotwireTurbo-Core +turboRoot: aString + "Include a element in your pages’ to scope Turbo Drive to a particular root location. + Turbo Drive will only load same-origin URLs that are prefixed with this path. + https://turbo.hotwired.dev/handbook/drive#setting-a-root-location" + + self name: 'turbo-root'. + self content: aString \ No newline at end of file diff --git a/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboVisitControl..st b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboVisitControl..st new file mode 100644 index 000000000..c89a51799 --- /dev/null +++ b/repository/Seaside-HotwireTurbo-Core.package/WAMetaElement.extension/instance/turboVisitControl..st @@ -0,0 +1,7 @@ +*Seaside-HotwireTurbo-Core +turboVisitControl: aString + "Using the value 'reload' will perform a full page reload whenever Turbo navigates to the page, + including when the request originates from a