Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Lepiter pages not being movable #4291

Open
onierstrasz opened this issue Jan 30, 2025 · 1 comment
Open

Fix Lepiter pages not being movable #4291

onierstrasz opened this issue Jan 30, 2025 · 1 comment
Assignees

Comments

@onierstrasz
Copy link
Contributor

When Lepiter pages contain snippets that are not text or code, the page can no longer be moved to another database. (The database button at the bottom left is greyed out.) This is because the page is assumed to contain snippets that are “attached” to the database. For example, a picture snippet may be attached to a picture file in a specific database. However the current logic, defined in LePage>>#canMoveToAnotherDatabase, is too restrictive. It should be refactored so that each snippet is explicitly asked if it contains attached links.

LePage>>#canMoveToAnotherDatabase
	(self outgoingExplicitLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ false ].
	(self incomingLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ false ].
	self
		allChildrenBreadthFirstDo: [ :aSnippet | 
			(aSnippet isTextSnippet not and: [ aSnippet isCodeSnippet not ])
				ifTrue: [ ^ false ].
			(aSnippet incomingLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
				ifTrue: [ ^ false ].
			(aSnippet outgoingExplicitLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
				ifTrue: [ ^ false ] ].
	^ true

Better yet, we should add logic to move snippets containing attached links, but this could be for a later enhancement.

@onierstrasz onierstrasz self-assigned this Jan 30, 2025
@onierstrasz onierstrasz added this to GT Jan 30, 2025
@github-project-automation github-project-automation bot moved this to To do in GT Jan 30, 2025
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
@onierstrasz
Copy link
Contributor Author

The refactored method now looks like this:

canMoveToAnotherDatabase
	(self outgoingExplicitLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ false ].
	(self incomingLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ false ].
	self
		allChildrenBreadthFirstDo: [ :aSnippet | aSnippet hasAttachedLinks ifTrue: [ ^ false ] ].

And LeTextualSnippet>>#hasAttachedLinks looks like this:

hasAttachedLinks
	(self incomingLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ true ].
	(self outgoingExplicitLinks anySatisfy: [ :aLink | aLink isAttachedLink ])
		ifTrue: [ ^ true ].
	^ false

But which other snippet classes should override hasAttachedLinks to false or something else?

onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Jan 30, 2025
syrel pushed a commit that referenced this issue Jan 31, 2025
Metacello new
    baseline: 'GToolkitForPharo9';
    repository: 'github://feenkcom/gtoolkit:v1.0.1487/src';
    load

All commits (including upstream repositories) since last build:
feenkcom/gtoolkit-utility@ac6f48 by Alistair Grant
GtSubprocessWithInMemoryOutputExamples>>retryCommand correct retry count


feenkcom/gtoolkit-utility@109c30 by Alistair Grant
GtSubprocessWithInMemoryOutput retryCount is the number of retries excluding the first run.


feenkcom/Brick@438f23 by Don Roberts
Refactor ExpandButton attributes

feenkcom/gtoolkit-coder@97c7c1 by Andrei Chi�
Merge pull request #11 from lifeware-sa/main

Source Coder Attribute message is not caring about receiving the shortcuts

feenkcom/gtoolkit-coder@d30f34 by Don Roberts
Refactor ExpandButton attributes

feenkcom/gtoolkit-coder@264e0e by Vincent Blondeau
On parsing error, the textElement displaying the message should be focuseable to accept shortcuts


feenkcom/gt4pharo@3558af by Andrei Chi�
Extract the logic for creating the preview element to another method

feenkcom/gt4pharo@48c933 by Andrei Chi�
Merge pull request #11 from lifeware-sa/refactoring-formatting

Force default formatting to new methods

feenkcom/gt4pharo@672230 by Don Roberts
Merge branch 'main' of https://github.com/feenkcom/gt4pharo


feenkcom/gt4pharo@378450 by Don Roberts
Refactor GtTextFolderAttribute

feenkcom/gt4pharo@44eff2 by Vincent Blondeau
force default formatting to new methods

feenkcom/PythonBridge@ed4f66 by Sven Van Caekenberghe
bump PyPI version


feenkcom/PythonBridge@677125 by Sven Van Caekenberghe
Improve msgpack socket server error handling


feenkcom/PythonBridge@0500c9 by Sven Van Caekenberghe
Add experimental code to run a python bridge by spawning


feenkcom/gt4smacc@e712f7 by John Brant
updating package prereqs

feenkcom/gt4smacc@3d3c9d by John Brant
adding filtering to annotations


feenkcom/gt4smacc@a1fdff by John Brant
fixing highlighter bug

feenkcom/gt4smacc@e19959 by John Brant
changing search filter construction

feenkcom/gt4smacc@f56401 by John Brant
a few code cleanups for filters

feenkcom/gt4smacc@98a3e4 by John Brant
refactoring parser filters to use new filter model

feenkcom/gt4smacc@cf5cd6 by John Brant
reworking parser filters

feenkcom/gt4smacc@a5f92d by John Brant
[#4288] update toggles when switching between source and grammar views

feenkcom/lepiter@5b00e7 by Oscar Nierstrasz
Added examples for moving remaining nsippet types, with scaffolding for those that cannot yet be moved. #4291


feenkcom/lepiter@a5decb by Oscar Nierstrasz
Added isVolatileMonitor testing method to disable invalid views for volatile databases. #4291


feenkcom/lepiter@97ea27 by Oscar Nierstrasz
Disabled the GitHub snippets as these are not working (commented out the leSnippetSpecification). #4291


feenkcom/lepiter@2e0b7d by Oscar Nierstrasz
Implement examples for moving most of the types of snippets. #4291


feenkcom/lepiter@2ea313 by Oscar Nierstrasz
Renamed hasAttachedLink to canMoveToAnotherDatabase and implemented it as true for most Snippet types. #4291


feenkcom/lepiter@2a9675 by Oscar Nierstrasz
Removed LeWordSnippet>>hasAttachedLinks #4291


feenkcom/lepiter@45febb by Oscar Nierstrasz
Refactored LePage>>#canMoveToAnotherDatabase so each snippet reports whether it has attached links. #4291


feenkcom/gt4graphql@9a6cd2 by Andrei Chi�
GtGQLSnippet can be moved to other databases

feenkcom/gtoolkit-demos@e9dfe6 by Oscar Nierstrasz
Added snippet demo to default image #4294


feenkcom/gtoolkit-demos@2709f1 by Oscar Nierstrasz
HelloWorldSnippet demo for #4294


feenkcom/gtoolkit-remoterunner@7dc5f6 by Andrei Chi�
Merge 1d8627397854150e144c09385c78d24c1d12ecaf

feenkcom/gtoolkit-remoterunner@f22cae by Andrei Chi�
Update some view titles

feenkcom/iceberg-git-cli@7a43bb by Sven Van Caekenberghe
Add the -- flag to rev-parse in IceGitCliRepository>>#revparse: to be avoid confusion


feenkcom/gtoolkit-world@1abee1 by Oscar Nierstrasz
Fixed typo in custom view


feenkcom/gt4gemstone@abf10d by Andrei Chi�
Fix dbSize

feenkcom/gt4gemstone@879a16 by Alistair Grant
Add #isInteger & #utf8Encoded to GemStone, topaz input from /dev/null


feenkcom/gt4gemstone@e6ab58 by Alistair Grant
GtRsrProxyServiceClient>>gtRemoteMetaFor: include class methods


feenkcom/gt4gemstone@cf0c21 by Andrei Chi�
Add a way to execute code in gemstone in coder

feenkcom/gt4gemstone@840063 by Andrei Chi�
Fix issue in mac download script

feenkcom/gt4aws@87ab4a by Alistair Grant
GtAwsDescribeAutoscalingGroupsCommand retry if JSON output is corrupt


feenkcom/gt4llm@f4d6b3 by Veit Heller
Remove step-wise tutors and exemplify chat


feenkcom/gt4llm@821987 by Veit Heller
Move to using one chat type with multiple providers instead of subclasses of chat


feenkcom/gt4llm@0a4521 by Veit Heller
Fix Ollama model creation from modelfile and `<>` style link styling in message
onierstrasz added a commit to feenkcom/lepiter that referenced this issue Feb 1, 2025
onierstrasz added a commit to feenkcom/gtoolkit-demos that referenced this issue Feb 1, 2025
syrel pushed a commit that referenced this issue Feb 1, 2025
Metacello new
    baseline: 'GToolkitForPharo9';
    repository: 'github://feenkcom/gtoolkit:v1.0.1488/src';
    load

All commits (including upstream repositories) since last build:
feenkcom/lepiter@d69607 by Oscar Nierstrasz
Collect moveable pages using a pragma so that other packages can add examples to test as extension methods. #4291


feenkcom/gt4graphql@65057c by Oscar Nierstrasz
Turned test page for gqlSnippet into an extension method. #4291


feenkcom/gtoolkit-demos@cdd530 by Oscar Nierstrasz
Turned test page for HelloWorld into an extension method. #4291
onierstrasz added a commit to feenkcom/gtoolkit-demos that referenced this issue Feb 1, 2025
syrel pushed a commit that referenced this issue Feb 1, 2025
Metacello new
    baseline: 'GToolkitForPharo9';
    repository: 'github://feenkcom/gtoolkit:v1.0.1489/src';
    load

All commits (including upstream repositories) since last build:
feenkcom/gtoolkit-demos@3951cc by Oscar Nierstrasz
Formatting #4291


feenkcom/gtoolkit-demos@4d3380 by Oscar Nierstrasz
Updated class comment #4291
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To do
Development

No branches or pull requests

1 participant